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