Makefile 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # surf - simple browser
  2. # See LICENSE file for copyright and license details.
  3. .POSIX:
  4. include config.mk
  5. SRC = surf.c
  6. CSRC = common.c
  7. WEBEXTSRC = libsurf-webext.c
  8. OBJ = $(SRC:.c=.o)
  9. COBJ = $(CSRC:.c=.o)
  10. WEBEXTOBJ = $(WEBEXTSRC:.c=.o)
  11. all: options libsurf-webext.so surf
  12. options:
  13. @echo surf build options:
  14. @echo "CC = $(CC)"
  15. @echo "CFLAGS = $(SURFCFLAGS) $(CFLAGS)"
  16. @echo "WEBEXTCFLAGS = $(WEBEXTCFLAGS) $(CFLAGS)"
  17. @echo "LDFLAGS = $(LDFLAGS)"
  18. .c.o:
  19. $(CC) $(SURFCFLAGS) $(CFLAGS) -c $<
  20. config.h:
  21. cp config.def.h $@
  22. $(OBJ): config.h common.h config.mk
  23. $(COBJ): config.h common.h config.mk
  24. $(WEBEXTOBJ): config.h common.h config.mk
  25. $(WEBEXTOBJ): $(WEBEXTSRC)
  26. $(CC) $(WEBEXTCFLAGS) $(CFLAGS) -c $(WEBEXTSRC)
  27. libsurf-webext.so: $(WEBEXTOBJ) $(COBJ)
  28. $(CC) -shared -Wl,-soname,$@ $(LDFLAGS) -o $@ \
  29. $(WEBEXTOBJ) $(COBJ) $(WEBEXTLIBS)
  30. surf: $(OBJ) $(COBJ)
  31. $(CC) $(SURFLDFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(COBJ) $(LIBS)
  32. clean:
  33. rm -f surf $(OBJ) $(COBJ)
  34. rm -f libsurf-webext.so $(WEBEXTOBJ)
  35. distclean: clean
  36. rm -f config.h surf-$(VERSION).tar.gz
  37. dist: distclean
  38. mkdir -p surf-$(VERSION)
  39. cp -R LICENSE Makefile config.mk config.def.h README \
  40. surf-open.sh arg.h TODO.md surf.png \
  41. surf.1 $(SRC) $(WEBEXTSRC) surf-$(VERSION)
  42. tar -cf surf-$(VERSION).tar surf-$(VERSION)
  43. gzip surf-$(VERSION).tar
  44. rm -rf surf-$(VERSION)
  45. install: all
  46. mkdir -p $(DESTDIR)$(PREFIX)/bin
  47. cp -f surf $(DESTDIR)$(PREFIX)/bin
  48. chmod 755 $(DESTDIR)$(PREFIX)/bin/surf
  49. mkdir -p $(DESTDIR)$(LIBDIR)
  50. cp -f libsurf-webext.so $(DESTDIR)$(LIBDIR)
  51. chmod 644 $(DESTDIR)$(LIBDIR)/libsurf-webext.so
  52. mkdir -p $(DESTDIR)$(MANPREFIX)/man1
  53. sed "s/VERSION/$(VERSION)/g" < surf.1 > $(DESTDIR)$(MANPREFIX)/man1/surf.1
  54. chmod 644 $(DESTDIR)$(MANPREFIX)/man1/surf.1
  55. uninstall:
  56. rm -f $(DESTDIR)$(PREFIX)/bin/surf
  57. rm -f $(DESTDIR)$(MANPREFIX)/man1/surf.1
  58. rm -f $(DESTDIR)$(LIBDIR)/libsurf-webext.so
  59. - rmdir $(DESTDIR)$(LIBDIR)
  60. .SUFFIXES: .so .o .c
  61. .PHONY: all options clean-dist clean dist install uninstall