summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Quentin Rameau 2018-10-08 13:47:25 +0200
committerGravatar Quentin Rameau 2018-10-08 13:51:51 +0200
commit3321c42d36ce79ebecd8b2ea7e93ca2e5c2ff98d (patch)
tree68468e3204dd9bc465898daa96949f224d27a717
parentUnobfuscate Makefile (diff)
Remove libtool depencency, reorganise Makefile
We don't need libtool anymore, just build the library directly. This lets us simplify the Makefile too.
Diffstat (limited to '')
-rw-r--r--Makefile65
-rw-r--r--config.mk21
2 files changed, 34 insertions, 52 deletions
diff --git a/Makefile b/Makefile
index 72df488..3b601ff 100644
--- 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/surf.1
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 uninstall
+.SUFFIXES: .so .o .c
+.PHONY: all options clean-dist clean dist install uninstall
diff --git a/config.mk b/config.mk
index 8d96b29..2cb1bd4 100644
--- 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