]> git.tue.mpg.de Git - lopsub.git/commitdiff
build: Compress man pages.
authorAndre Noll <maan@tuebingen.mpg.de>
Sun, 3 Mar 2019 20:58:45 +0000 (21:58 +0100)
committerAndre Noll <maan@tuebingen.mpg.de>
Thu, 14 Mar 2019 13:11:03 +0000 (14:11 +0100)
Man pages should always be installed in compressed form, so run gzip
on all four man pages. We always specify -f so that gzip won't ask
questions, and use the highest compression level because the pages
are compressed only once and decompressed every time the man page
is opened.

.gitignore
Makefile

index be0f3e366ae2079d9c95cd2c2add66fc4fd7e41a..3dc13ed7005a2c9beb6dc249caa28ba697395ca8 100644 (file)
@@ -1,6 +1,6 @@
 **/*.o
 *.lsg.*
-*.[1-9]
+*.[1-9].gz
 config_file.c
 lopsubgen.c
 version.c
index de6badfa64d5837dc9bc63ed1c41b674c2c964f3..d610c54aeab588eafdf6188481455b73b9c1c46c 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,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
@@ -39,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
@@ -54,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
@@ -93,11 +96,11 @@ 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,/^<body>/d' >> $@
+       $(ZCAT) $< | $(GROFF) -m man -Thtml | sed -e '1,/^<body>/d' >> $@
 
-install: liblopsub.a lopsub.7
+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
@@ -105,9 +108,9 @@ install: liblopsub.a lopsub.7
        $(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 $(DESTDIR)$(PREFIX)/man/man1
-       $(INSTALL) -m 644 lopsub-suite.5 $(DESTDIR)$(PREFIX)/man/man5
-       $(INSTALL) -m 644 lopsub.7 $(DESTDIR)$(PREFIX)/man/man7
+       $(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