X-Git-Url: https://git.danieliu.xyz/?p=surf.git;a=blobdiff_plain;f=Makefile;h=0385a50d275e4908bb0e6ec993765b3aa54f6e2b;hp=6dc19fa5b03376c10e205e888e38562808a1f231;hb=1901359efa10fe2e18794df34fc33b81da03a6f5;hpb=b6e181e82acc2f20085410f720b8ceeed8a8cbe3 diff --git a/Makefile b/Makefile index 6dc19fa..0385a50 100644 --- a/Makefile +++ b/Makefile @@ -1,56 +1,98 @@ # surf - simple browser # See LICENSE file for copyright and license details. +.POSIX: include config.mk -SRC = surf.c -OBJ = ${SRC:.c=.o} +SRC = surf.c common.c +OBJ = $(SRC:.c=.o) +LIBSRC = libsurf-webext.c common.c +LIBOBJ = $(LIBSRC:.c=.lo) -all: options surf +all: options libsurf-webext.la surf options: @echo surf build options: - @echo "CFLAGS = ${CFLAGS}" - @echo "LDFLAGS = ${LDFLAGS}" - @echo "CC = ${CC}" + @echo "CFLAGS = $(SURFCFLAGS)" + @echo "LDFLAGS = $(SURFLDFLAGS)" + @echo "CC = $(CC)" + @echo "LIBCFLAGS = $(LIBCFLAGS)" + @echo "LIBLDFLAGS = $(LIBLDFLAGS)" + @echo "LIBTOOL = $(LIBTOOL)" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + @echo CC -c $< + @$(CC) $(SURFCFLAGS) -c $< -${OBJ}: config.mk +.c.lo: + @echo libtool compile $< + @$(LIBTOOL) --mode compile --tag CC $(CC) $(LIBCFLAGS) -c $< -surf: ${OBJ} +$(OBJ): config.h config.mk +$(LIBOBJ): config.h config.mk + +config.h: + @echo creating $@ from config.def.h + @cp config.def.h $@ + +libsurf-webext.la: $(LIBOBJ) + @echo libtool link $@ + @$(LIBTOOL) --mode link --tag CC $(CC) $(LIBLDFLAGS) -o $@ \ + $(LIBOBJ) $(LIB) -rpath $(DESTDIR)$(LIBPREFIX) + +surf: $(OBJ) @echo CC -o $@ - @${CC} -o $@ surf.o ${LDFLAGS} + @$(CC) $(SURFCFLAGS) -o $@ $(OBJ) $(SURFLDFLAGS) -clean: +clean-lib: + @echo cleaning library + @rm -rf libsurf-webext.la .libs $(LIBOBJ) $(LIBOBJ:.lo=.o) + +clean: clean-lib @echo cleaning - @rm -f surf ${OBJ} surf-${VERSION}.tar.gz + @rm -f surf $(OBJ) + +distclean: clean + @echo cleaning dist + @rm -f config.h surf-$(VERSION).tar.gz -dist: clean +dist: distclean @echo creating dist tarball - @mkdir -p surf-${VERSION} - @cp -R LICENSE Makefile README config.mk \ - surf.1 ${SRC} surf-${VERSION} - @tar -cf surf-${VERSION}.tar surf-${VERSION} - @gzip surf-${VERSION}.tar - @rm -rf surf-${VERSION} - -install: all - @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f surf ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/surf - @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 - @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: - @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/surf - @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/surf.1 - -.PHONY: all options clean dist install uninstall + @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) + @tar -cf surf-$(VERSION).tar surf-$(VERSION) + @gzip surf-$(VERSION).tar + @rm -rf surf-$(VERSION) + +install-lib: libsurf-webext.la + @echo installing library file to $(DESTDIR)$(LIBPREFIX) + @mkdir -p $(DESTDIR)$(LIBPREFIX) + @$(LIBTOOL) --mode install install -c libsurf-webext.la \ + $(DESTDIR)$(LIBPREFIX)/libsurf-webext.la + +install: all install-lib + @echo installing executable file to $(DESTDIR)$(PREFIX)/bin + @mkdir -p $(DESTDIR)$(PREFIX)/bin + @cp -f surf $(DESTDIR)$(PREFIX)/bin + @chmod 755 $(DESTDIR)$(PREFIX)/bin/surf + @echo installing manual page to $(DESTDIR)$(MANPREFIX)/man1 + @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: + @echo removing library file from $(DESTDIR)$(LIBPREFIX) + @$(LIBTOOL) --mode uninstall rm -f \ + $(DESTDIR)$(LIBPREFIX)/libsurf-webext.la + @- rm -df $(DESTDIR)$(LIBPREFIX) + +uninstall: uninstall-lib + @echo removing executable file from $(DESTDIR)$(PREFIX)/bin + @rm -f $(DESTDIR)$(PREFIX)/bin/surf + @echo removing manual page from $(DESTDIR)$(MANPREFIX)/man1 + @rm -f $(DESTDIR)$(MANPREFIX)/man1/surf.1 + +.SUFFIXES: .la .lo .o .c +.PHONY: all options clean-dist clean dist install-lib install uninstall-lib uninstall