From 21fcbc004e16a9de46424fb21ad9c32270779a0d Mon Sep 17 00:00:00 2001 From: Quentin Rameau Date: Sun, 10 Feb 2019 19:48:59 +0100 Subject: [PATCH] Makefile: rework how webextensions are handled --- Makefile | 42 +++++++++++++++++-------------- config.mk | 2 +- libsurf-webext.c => webext-surf.c | 0 3 files changed, 24 insertions(+), 20 deletions(-) rename libsurf-webext.c => webext-surf.c (100%) diff --git a/Makefile b/Makefile index 4f5253a..c3a87c5 100644 --- a/Makefile +++ b/Makefile @@ -6,12 +6,13 @@ include config.mk SRC = surf.c CSRC = common.c -WEBEXTSRC = libsurf-webext.c +WSRC = webext-surf.c OBJ = $(SRC:.c=.o) COBJ = $(CSRC:.c=.o) -WEBEXTOBJ = $(WEBEXTSRC:.c=.o) +WOBJ = $(WSRC:.c=.o) +WLIB = $(WSRC:.c=.so) -all: options libsurf-webext.so surf +all: options surf $(WLIB) options: @echo surf build options: @@ -23,26 +24,25 @@ options: .c.o: $(CC) $(SURFCFLAGS) $(CFLAGS) -c $< +.o.so: + $(CC) -shared -Wl,-soname,$@ $(LDFLAGS) -o $@ \ + $< $(COBJ) $(WEBEXTLIBS) + config.h: cp config.def.h $@ -$(OBJ): config.h common.h config.mk -$(COBJ): config.h common.h config.mk -$(WEBEXTOBJ): config.h common.h config.mk - -$(WEBEXTOBJ): $(WEBEXTSRC) - $(CC) $(WEBEXTCFLAGS) $(CFLAGS) -c $(WEBEXTSRC) - -libsurf-webext.so: $(WEBEXTOBJ) $(COBJ) - $(CC) -shared -Wl,-soname,$@ $(LDFLAGS) -o $@ \ - $(WEBEXTOBJ) $(COBJ) $(WEBEXTLIBS) +$(OBJ) $(COBJ) $(WOBJ): config.h common.h config.mk +$(WLIB): $(COBJ) surf: $(OBJ) $(COBJ) $(CC) $(SURFLDFLAGS) $(LDFLAGS) -o $@ $(OBJ) $(COBJ) $(LIBS) +$(WOBJ): + $(CC) $(WEBEXTCFLAGS) $(CFLAGS) -c $(@:.o=.c) + clean: rm -f surf $(OBJ) $(COBJ) - rm -f libsurf-webext.so $(WEBEXTOBJ) + rm -f $(WLIB) $(WOBJ) distclean: clean rm -f config.h surf-$(VERSION).tar.gz @@ -51,7 +51,7 @@ dist: distclean mkdir -p surf-$(VERSION) cp -R LICENSE Makefile config.mk config.def.h README \ surf-open.sh arg.h TODO.md surf.png \ - surf.1 $(SRC) $(WEBEXTSRC) surf-$(VERSION) + surf.1 $(SRC) $(CSRC) $(WSRC) surf-$(VERSION) tar -cf surf-$(VERSION).tar surf-$(VERSION) gzip surf-$(VERSION).tar rm -rf surf-$(VERSION) @@ -61,8 +61,10 @@ install: all cp -f surf $(DESTDIR)$(PREFIX)/bin chmod 755 $(DESTDIR)$(PREFIX)/bin/surf mkdir -p $(DESTDIR)$(LIBDIR) - cp -f libsurf-webext.so $(DESTDIR)$(LIBDIR) - chmod 644 $(DESTDIR)$(LIBDIR)/libsurf-webext.so + cp -f $(WLIB) $(DESTDIR)$(LIBDIR) + for wlib in $(WLIB); do \ + chmod 644 $(DESTDIR)$(LIBDIR)/$$wlib; \ + done mkdir -p $(DESTDIR)$(MANPREFIX)/man1 sed "s/VERSION/$(VERSION)/g" < surf.1 > $(DESTDIR)$(MANPREFIX)/man1/surf.1 chmod 644 $(DESTDIR)$(MANPREFIX)/man1/surf.1 @@ -70,8 +72,10 @@ install: all uninstall: rm -f $(DESTDIR)$(PREFIX)/bin/surf rm -f $(DESTDIR)$(MANPREFIX)/man1/surf.1 - rm -f $(DESTDIR)$(LIBDIR)/libsurf-webext.so + for wlib in $(WLIB); do \ + rm -f $(DESTDIR)$(LIBDIR)/$$wlib; \ + done - rmdir $(DESTDIR)$(LIBDIR) .SUFFIXES: .so .o .c -.PHONY: all options clean-dist clean dist install uninstall +.PHONY: all options distclean clean dist install uninstall diff --git a/config.mk b/config.mk index 5e68e38..7450b5d 100644 --- a/config.mk +++ b/config.mk @@ -24,7 +24,7 @@ LIBS = $(X11LIB) $(GTKLIB) -lgthread-2.0 # flags CPPFLAGS = -DVERSION=\"$(VERSION)\" -DWEBEXTDIR=\"$(LIBDIR)\" \ -D_DEFAULT_SOURCE -DGCR_API_SUBJECT_TO_CHANGE -SURFCFLAGS = $(INCS) $(CPPFLAGS) -fPIC +SURFCFLAGS = -fPIC $(INCS) $(CPPFLAGS) WEBEXTCFLAGS = -fPIC $(WEBEXTINC) # compiler diff --git a/libsurf-webext.c b/webext-surf.c similarity index 100% rename from libsurf-webext.c rename to webext-surf.c