Makefile: rework how webextensions are handled

This commit is contained in:
Quentin Rameau 2019-02-10 19:48:59 +01:00
parent d068a3878b
commit 21fcbc004e
3 changed files with 24 additions and 20 deletions

View File

@ -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

View File

@ -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