about summary refs log tree commit diff
diff options
context:
space:
mode:
authorQuentin Rameau <quinq@fifth.space>2019-02-10 19:48:59 +0100
committerQuentin Rameau <quinq@fifth.space>2019-02-10 19:50:25 +0100
commit21fcbc004e16a9de46424fb21ad9c32270779a0d (patch)
treee9434566a272ccfe0b31a1b233a33e9124bc66f8
parentFix vertical scroll directions in the config file (diff)
downloadsurf-21fcbc004e16a9de46424fb21ad9c32270779a0d.tar.gz
surf-21fcbc004e16a9de46424fb21ad9c32270779a0d.tar.bz2
surf-21fcbc004e16a9de46424fb21ad9c32270779a0d.zip
Makefile: rework how webextensions are handled
-rw-r--r--Makefile42
-rw-r--r--config.mk2
-rw-r--r--webext-surf.c (renamed from libsurf-webext.c)0
3 files changed, 24 insertions, 20 deletions
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
index ec9a235..ec9a235 100644
--- a/libsurf-webext.c
+++ b/webext-surf.c