Makefile: rework how webextensions are handled - surf - surf browser, a WebKit … | |
git clone git://git.suckless.org/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 21fcbc004e16a9de46424fb21ad9c32270779a0d | |
parent d068a3878b6b9f2841a49cd7948cdf9d62b55585 | |
Author: Quentin Rameau <[email protected]> | |
Date: Sun, 10 Feb 2019 19:48:59 +0100 | |
Makefile: rework how webextensions are handled | |
Diffstat: | |
M Makefile | 42 +++++++++++++++++------------… | |
M config.mk | 2 +- | |
R libsurf-webext.c -> webext-surf.c | 0 | |
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/su… | |
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 |