X-Git-Url: http://git.tuebingen.mpg.de/?p=lopsub.git;a=blobdiff_plain;f=Makefile;h=d610c54aeab588eafdf6188481455b73b9c1c46c;hp=427850561fea03bd2426ff364c6c56f84bcbf483;hb=f35b70fc3e8656f71437cc85062da31488acd781;hpb=9d3fd447f36e1a144a40037d559a92562d120703 diff --git a/Makefile b/Makefile index 4278505..d610c54 100644 --- a/Makefile +++ b/Makefile @@ -6,6 +6,8 @@ MAKEFLAGS += -Rr ifeq ("$(origin CC)", "default") CC := cc endif +.ONESHELL: +.SHELLFLAGS := -ec PREFIX ?= /usr/local M4 := m4 @@ -16,13 +18,15 @@ AR := ar GROFF := groff CP := cp INSTALL := install +GZIP := gzip -f9 +ZCAT := zcat DATE := $(shell date '+%B %Y') GIT_VERSION := $(shell ./version-gen.sh) -m4_man_pages := lopsub-suite.5 lopsub.7 -all := $(m4_man_pages) liblopsub.a lopsubgen lopsubgen.1 \ - lopsubex lopsubex.1 +m4_man_pages := lopsub-suite.5.gz lopsub.7.gz +all := $(m4_man_pages) liblopsub.a lopsubgen lopsubgen.1.gz \ + lopsubex lopsubex.1.gz all: $(all) # deps @@ -37,8 +41,8 @@ version.o: version.c gendoc := gendoc/gendoc.m4 %.h: %.h.m4 $(gendoc) $(M4) -DOUTPUT_MODE=C $(gendoc) $< > $@ -$(m4_man_pages): %: %.m4 version.c - $(M4) -DGIT_VERSION=$(GIT_VERSION) -DDATE="$(DATE)" $< > $@ +$(m4_man_pages): %.gz: %.m4 version.c + $(M4) -DGIT_VERSION=$(GIT_VERSION) -DDATE="$(DATE)" $< | $(GZIP) > $@ # flex %.c: %.l @@ -52,8 +56,9 @@ lopsubgen.lsg.c lopsubgen.lsg.h: lopsubgen.suite lopsubgen-stage1 \ ./lopsubgen --gen-c < $< %.lsg.h: %.suite lopsubgen ./lopsubgen --gen-header < $< -%.1: %.suite lopsubgen - ./lopsubgen --gen-man=$@ --version-string $(GIT_VERSION) < $< +%.1.gz: %.suite lopsubgen + ./lopsubgen --gen-man=${@:.gz=} --version-string $(GIT_VERSION) < $< + $(GZIP) ${@:.gz=} # compiling lsg1_objs := lopsubgen.o lsg1.o version.o @@ -91,23 +96,25 @@ web/lopsub-api.html: lopsub.h.m4 $< web/footer.html > $@ web/index.html: web/lopsub.7.html $(LN) -s $(notdir $<) $@ -web/%.html: % +web/%.html: %.gz $(CP) web/header.html $@ - $(GROFF) -m man -Thtml $< | sed -e '1,/^/d' >> $@ - -install: liblopsub.a lopsub.7 - $(INSTALL) -d $(PREFIX)/lib $(PREFIX)/include $(PREFIX)/man/man1 \ - $(PREFIX)/man/man5 $(PREFIX)/man/man7 $(PREFIX)/bin - $(INSTALL) -m 755 liblopsub.a $(PREFIX)/lib - $(INSTALL) -m 755 lopsubgen $(PREFIX)/bin - $(INSTALL) -m 644 lopsub.h $(PREFIX)/include - $(INSTALL) -m 644 lopsub-internal.h $(PREFIX)/include - $(INSTALL) -m 644 lopsubgen.1 $(PREFIX)/man/man1 - $(INSTALL) -m 644 lopsub-suite.5 $(PREFIX)/man/man5 - $(INSTALL) -m 644 lopsub.7 $(PREFIX)/man/man7 + $(ZCAT) $< | $(GROFF) -m man -Thtml | sed -e '1,/^/d' >> $@ + +install: $(all) + $(INSTALL) -d $(DESTDIR)$(PREFIX)/lib $(DESTDIR)$(PREFIX)/include \ + $(DESTDIR)$(PREFIX)/man/man1 $(DESTDIR)$(PREFIX)/man/man5 \ + $(DESTDIR)$(PREFIX)/man/man7 $(DESTDIR)$(PREFIX)/bin + $(INSTALL) -m 644 liblopsub.a $(DESTDIR)$(PREFIX)/lib + $(INSTALL) -m 755 lopsubgen $(DESTDIR)$(PREFIX)/bin + $(INSTALL) -m 644 lopsub.h $(DESTDIR)$(PREFIX)/include + $(INSTALL) -m 644 lopsub-internal.h $(DESTDIR)$(PREFIX)/include + $(INSTALL) -m 644 lopsubgen.1.gz $(DESTDIR)$(PREFIX)/man/man1 + $(INSTALL) -m 644 lopsub-suite.5.gz $(DESTDIR)$(PREFIX)/man/man5 + $(INSTALL) -m 644 lopsub.7.gz $(DESTDIR)$(PREFIX)/man/man7 clean: - $(RM) $(all) $(html) *.o *.man *.lsg.c *.lsg.h \ - lopsubgen.c config_file.c lopsubgen-stage1 \ + $(RM) $(all) $(html) *.o *.man +distclean: clean + $(RM) *.lsg.c *.lsg.h lopsubgen.c config_file.c lopsubgen-stage1 \ lopsub.h lopsub.7 lopsub-suite.5 version.c