commit 21fcbc004e16a9de46424fb21ad9c32270779a0d
parent d068a3878b6b9f2841a49cd7948cdf9d62b55585
Author: Quentin Rameau <quinq@fifth.space>
Date: Sun, 10 Feb 2019 19:48:59 +0100
Makefile: rework how webextensions are handled
Diffstat:
3 files changed, 24 insertions(+), 20 deletions(-)
diff --git 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
@@ -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