Remove libtool depencency, reorganise Makefile - surf - surf browser, a WebKit … | |
git clone git://git.suckless.org/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 3321c42d36ce79ebecd8b2ea7e93ca2e5c2ff98d | |
parent e7c629b258653a5237ca72cf2087a391e55829f1 | |
Author: Quentin Rameau <[email protected]> | |
Date: Mon, 8 Oct 2018 13:47:25 +0200 | |
Remove libtool depencency, reorganise Makefile | |
We don't need libtool anymore, just build the library directly. | |
This lets us simplify the Makefile too. | |
Diffstat: | |
M Makefile | 65 +++++++++++++----------------… | |
M config.mk | 21 +++++++-------------- | |
2 files changed, 34 insertions(+), 52 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
@@ -6,44 +6,38 @@ include config.mk | |
SRC = surf.c common.c | |
OBJ = $(SRC:.c=.o) | |
-LIBSRC = libsurf-webext.c common.c | |
-LIBOBJ = $(LIBSRC:.c=.lo) | |
+WEBEXTSRC = libsurf-webext.c | |
+WEBEXTOBJ = $(WEBEXTSRC:.c=.o) | |
-all: options libsurf-webext.la surf | |
+all: options libsurf-webext.so surf | |
options: | |
@echo surf build options: | |
- @echo "CFLAGS = $(SURFCFLAGS)" | |
- @echo "LDFLAGS = $(SURFLDFLAGS)" | |
- @echo "CC = $(CC)" | |
- @echo "LIBCFLAGS = $(LIBCFLAGS)" | |
- @echo "LIBLDFLAGS = $(LIBLDFLAGS)" | |
- @echo "LIBTOOL = $(LIBTOOL)" | |
+ @echo "CC = $(CC)" | |
+ @echo "CFLAGS = $(SURFCFLAGS) $(CFLAGS)" | |
+ @echo "WEBEXTCFLAGS = $(WEBEXTCFLAGS) $(CFLAGS)" | |
+ @echo "LDFLAGS = $(LDFLAGS)" | |
.c.o: | |
- $(CC) $(SURFCFLAGS) -c $< | |
+ $(CC) $(SURFCFLAGS) $(CFLAGS) -c $< | |
-.c.lo: | |
- $(LIBTOOL) --mode compile --tag CC $(CC) $(LIBCFLAGS) -c $< | |
+config.h: | |
+ cp config.def.h $@ | |
$(OBJ): config.h config.mk | |
-$(LIBOBJ): config.h config.mk | |
-config.h: | |
- cp config.def.h $@ | |
+$(WEBEXTOBJ): config.h config.mk | |
+ $(CC) $(WEBEXTCFLAGS) $(CFLAGS) -c $(WEBEXTSRC) | |
-libsurf-webext.la: $(LIBOBJ) | |
- $(LIBTOOL) --mode link --tag CC $(CC) $(LIBLDFLAGS) -o $@ \ | |
- $(LIBOBJ) $(LIB) -rpath $(DESTDIR)$(LIBPREFIX) | |
+libsurf-webext.so: $(WEBEXTOBJ) | |
+ $(CC) -shared -Wl,-soname,$@ $(LDFLAGS) -o $@ $< $(WEBEXTLIBS) -lc | |
surf: $(OBJ) | |
- $(CC) $(SURFCFLAGS) -o $@ $(OBJ) $(SURFLDFLAGS) | |
+ $(CC) $(SURFLDLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) | |
-clean-lib: | |
- rm -rf libsurf-webext.la .libs $(LIBOBJ) $(LIBOBJ:.lo=.o) | |
- | |
-clean: clean-lib | |
+clean: | |
rm -f surf $(OBJ) | |
+ rm -f libsurf-webext.so $(WEBEXTOBJ) | |
distclean: clean | |
rm -f config.h surf-$(VERSION).tar.gz | |
@@ -52,32 +46,27 @@ 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) $(LIBSRC) surf-$(VERSION) | |
+ surf.1 $(SRC) $(WEBEXTSRC) surf-$(VERSION) | |
tar -cf surf-$(VERSION).tar surf-$(VERSION) | |
gzip surf-$(VERSION).tar | |
rm -rf surf-$(VERSION) | |
-install-lib: libsurf-webext.la | |
- mkdir -p $(DESTDIR)$(LIBPREFIX) | |
- $(LIBTOOL) --mode install install -c libsurf-webext.la \ | |
- $(DESTDIR)$(LIBPREFIX)/libsurf-webext.la | |
- | |
-install: all install-lib | |
+install: all | |
mkdir -p $(DESTDIR)$(PREFIX)/bin | |
cp -f surf $(DESTDIR)$(PREFIX)/bin | |
chmod 755 $(DESTDIR)$(PREFIX)/bin/surf | |
+ mkdir -p $(DESTDIR)$(WEBEXTDIR) | |
+ cp -f libsurf-webext.so $(DESTDIR)$(WEBEXTDIR) | |
+ chmod 644 $(DESTDIR)$(PREFIX)/bin/surf | |
mkdir -p $(DESTDIR)$(MANPREFIX)/man1 | |
sed "s/VERSION/$(VERSION)/g" < surf.1 > $(DESTDIR)$(MANPREFIX)/man1/su… | |
chmod 644 $(DESTDIR)$(MANPREFIX)/man1/surf.1 | |
-uninstall-lib: | |
- $(LIBTOOL) --mode uninstall rm -f \ | |
- $(DESTDIR)$(LIBPREFIX)/libsurf-webext.la | |
- - rm -df $(DESTDIR)$(LIBPREFIX) | |
- | |
-uninstall: uninstall-lib | |
+uninstall: | |
rm -f $(DESTDIR)$(PREFIX)/bin/surf | |
rm -f $(DESTDIR)$(MANPREFIX)/man1/surf.1 | |
+ rm -f $(DESTDIR)$(WEBEXTDIR)/libsurf-webext.so | |
+ - rmdir $(DESTDIR)$(WEBEXTDIR) | |
-.SUFFIXES: .la .lo .o .c | |
-.PHONY: all options clean-dist clean dist install-lib install uninstall-lib un… | |
+.SUFFIXES: .so .o .c | |
+.PHONY: all options clean-dist clean dist install uninstall | |
diff --git a/config.mk b/config.mk | |
@@ -6,7 +6,8 @@ VERSION = 2.0 | |
# paths | |
PREFIX = /usr/local | |
MANPREFIX = $(PREFIX)/share/man | |
-LIBPREFIX = $(PREFIX)/lib/surf | |
+LIBPREFIX = $(PREFIX)/lib | |
+LIBDIR = $(LIBPREFIX)/surf | |
X11INC = /usr/X11R6/include | |
X11LIB = /usr/X11R6/lib | |
@@ -14,25 +15,17 @@ X11LIB = /usr/X11R6/lib | |
GTKINC = `pkg-config --cflags gtk+-3.0 gcr-3 webkit2gtk-4.0` | |
GTKLIB = `pkg-config --libs gtk+-3.0 gcr-3 webkit2gtk-4.0` | |
WEBEXTINC = `pkg-config --cflags webkit2gtk-4.0 webkit2gtk-web-extension-4.0` | |
-WEBEXTLIB = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0` | |
+WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0` | |
# includes and libs | |
INCS = -I$(X11INC) $(GTKINC) | |
LIBS = -L$(X11LIB) -lX11 $(GTKLIB) -lgthread-2.0 | |
# flags | |
-CPPFLAGS = -DVERSION=\"$(VERSION)\" -DWEBEXTDIR=\"$(LIBPREFIX)\" \ | |
+CPPFLAGS = -DVERSION=\"$(VERSION)\" -DWEBEXTDIR=\"$(LIBDIR)\" \ | |
-D_DEFAULT_SOURCE -DGCR_API_SUBJECT_TO_CHANGE | |
-SURFCFLAGS = $(INCS) $(CPPFLAGS) $(CFLAGS) | |
-SURFLDFLAGS = $(LIBS) $(LDFLAGS) | |
-LIBCPPFLAGS = -DWEBEXTDIR=\"$(LIBPREFIX)\" | |
-LIBCFLAGS = $(WEBEXTINC) $(LIBCPPFLAGS) $(CFLAGS) | |
-LIBLDFLAGS = $(WEBEXTLIB) $(LDFLAGS) | |
+SURFCFLAGS = $(INCS) $(CPPFLAGS) | |
+WEBEXTCFLAGS = -fPIC $(WEBEXTINC) | |
-# Solaris | |
-#CFLAGS = -fast $(INCS) -DVERSION=\"$(VERSION)\" | |
-#LDFLAGS = $(LIBS) | |
- | |
-# compiler and linker | |
+# compiler | |
#CC = c99 | |
-LIBTOOL = libtool --quiet |