commit 21fcbc004e16a9de46424fb21ad9c32270779a0d
Author:     Quentin Rameau <[email protected]>
AuthorDate: Sun Feb 10 19:48:59 2019 +0100
Commit:     Quentin Rameau <[email protected]>
CommitDate: Sun Feb 10 19:50:25 2019 +0100

    Makefile: rework how webextensions are handled

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

Reply via email to