X-Git-Url: https://git.danieliu.xyz/?p=surf.git;a=blobdiff_plain;f=Makefile;h=3b601ff6b57d17e729ce8bd696e2d28e812d3e10;hp=e1e7e1f33e8f6abe7cd4b017ccbce64bf06347f8;hb=3321c42d36ce79ebecd8b2ea7e93ca2e5c2ff98d;hpb=1bd6d201020f67160872c28534edff532b5198b9 diff --git a/Makefile b/Makefile index e1e7e1f..3b601ff 100644 --- a/Makefile +++ b/Makefile @@ -4,95 +4,69 @@ include config.mk -SRC = surf.c +SRC = surf.c common.c OBJ = $(SRC:.c=.o) -LIBSRC = libsurf-webext.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: - @echo CC -c $< - @$(CC) $(SURFCFLAGS) -c $< + $(CC) $(SURFCFLAGS) $(CFLAGS) -c $< -.c.lo: - @echo libtool compile $< - @$(LIBTOOL) --mode compile --tag CC $(CC) $(LIBCFLAGS) -c $< +config.h: + cp config.def.h $@ $(OBJ): config.h config.mk -$(LIBOBJ): config.mk -config.h: - @echo creating $@ from config.def.h - @cp config.def.h $@ +$(WEBEXTOBJ): config.h config.mk + $(CC) $(WEBEXTCFLAGS) $(CFLAGS) -c $(WEBEXTSRC) -libsurf-webext.la: $(LIBOBJ) - @echo libtool link $@ - @$(LIBTOOL) --mode link --tag CC $(CC) $(LIBLDFLAGS) -o $@ \ - $(LIBOBJ) -rpath $(DESTDIR)$(LIBPREFIX) +libsurf-webext.so: $(WEBEXTOBJ) + $(CC) -shared -Wl,-soname,$@ $(LDFLAGS) -o $@ $< $(WEBEXTLIBS) -lc surf: $(OBJ) - @echo CC -o $@ - @$(CC) $(SURFCFLAGS) -o $@ $(OBJ) $(SURFLDFLAGS) - -clean-lib: - @echo cleaning library - @rm -rf libsurf-webext.la .libs $(LIBOBJ) $(LIBOBJ:.lo=.o) + $(CC) $(SURFLDLAGS) $(LDFLAGS) -o $@ $(OBJ) $(LIBS) -clean: clean-lib - @echo cleaning - @rm -f surf $(OBJ) +clean: + rm -f surf $(OBJ) + rm -f libsurf-webext.so $(WEBEXTOBJ) distclean: clean - @echo cleaning dist - @rm -f config.h surf-$(VERSION).tar.gz + rm -f config.h surf-$(VERSION).tar.gz dist: distclean - @echo creating dist tarball - @mkdir -p surf-$(VERSION) - @cp -R LICENSE Makefile config.mk config.def.h README \ + 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 + surf.1 $(SRC) $(WEBEXTSRC) surf-$(VERSION) + tar -cf surf-$(VERSION).tar surf-$(VERSION) + gzip surf-$(VERSION).tar + rm -rf surf-$(VERSION) + +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: + rm -f $(DESTDIR)$(PREFIX)/bin/surf + rm -f $(DESTDIR)$(MANPREFIX)/man1/surf.1 + rm -f $(DESTDIR)$(WEBEXTDIR)/libsurf-webext.so + - rmdir $(DESTDIR)$(WEBEXTDIR) + +.SUFFIXES: .so .o .c +.PHONY: all options clean-dist clean dist install uninstall