[PATCH] make: Make man page compression configurable
From: Kurt Kanzenbach <kurt@linutronix.de>
Date: 2020-01-30 08:30:01
Subsystem:
kernel build + files below scripts/ (unless maintained elsewhere), the rest · Maintainers:
Nathan Chancellor, Nicolas Schier, Linus Torvalds
Currently the man pages are unconditionally gzip compressed. However, users might want to use something else such as bzip2 or none. When using package management systems it makes sense to use no compression at all, as the package system might chose the appropriate one. Therefore, introduce MAN_COMPRESSION. This variable is handling how the compression is done. Default is gzip. Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de> --- Makefile | 60 ++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 19 deletions(-)
diff --git a/Makefile b/Makefile
index e2142ba3f4e9..ecbd5b1cb98b 100644
--- a/Makefile
+++ b/Makefile@@ -34,6 +34,32 @@ LDFLAGS ?= PYLIB ?= $(shell python3 -c 'import distutils.sysconfig; print (distutils.sysconfig.get_python_lib())') +MANPAGES = src/cyclictest/cyclictest.8 \ + src/pi_tests/pi_stress.8 \ + src/ptsematest/ptsematest.8 \ + src/rt-migrate-test/rt-migrate-test.8 \ + src/sigwaittest/sigwaittest.8 \ + src/svsematest/svsematest.8 \ + src/pmqtest/pmqtest.8 \ + src/hackbench/hackbench.8 \ + src/signaltest/signaltest.8 \ + src/pi_tests/pip_stress.8 \ + src/queuelat/queuelat.8 \ + src/sched_deadline/deadline_test.8 \ + src/ssdd/ssdd.8 \ + src/sched_deadline/cyclicdeadline.8 + +ifdef PYLIB + MANPAGES += src/hwlatdetect/hwlatdetect.8 +endif + +MAN_COMPRESSION ?= gzip +ifeq ($(MAN_COMPRESSION),gzip) + MANPAGES := $(MANPAGES:.8=.8.gz) +else ifeq ($(MAN_COMPRESSION),bzip2) + MANPAGES := $(MANPAGES:.8=.8.bz2) +endif + ifndef DEBUG CFLAGS += -O2 -g else
@@ -150,11 +176,17 @@ queuelat: $(OBJDIR)/queuelat.o $(OBJDIR)/librttest.a ssdd: $(OBJDIR)/ssdd.o $(OBJDIR)/librttest.a $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIBS) $(RTTESTLIB) +%.8.gz: %.8 + gzip -c $< > $@ + +%.8.bz2: %.8 + bzip2 -c $< > $@ + LIBOBJS =$(addprefix $(OBJDIR)/,error.o rt-get_cpu.o rt-sched.o rt-utils.o) $(OBJDIR)/librttest.a: $(LIBOBJS) $(AR) rcs $@ $^ -CLEANUP = $(TARGETS) *.o .depend *.*~ *.orig *.rej *.d *.a +CLEANUP = $(TARGETS) *.o .depend *.*~ *.orig *.rej *.d *.a *.8.gz *.8.bz2 CLEANUP += $(if $(wildcard .git), ChangeLog) .PHONY: clean
@@ -175,36 +207,26 @@ rebuild: $(MAKE) all .PHONY: install -install: all install_hwlatdetect - mkdir -p "$(DESTDIR)$(bindir)" "$(DESTDIR)$(mandir)/man8" +install: all install_manpages install_hwlatdetect + mkdir -p "$(DESTDIR)$(bindir)" cp $(TARGETS) "$(DESTDIR)$(bindir)" install src/queuelat/get_cpuinfo_mhz.sh "$(DESTDIR)$(bindir)" install src/queuelat/determine_maximum_mpps.sh "${DESTDIR}${bindir}" - gzip -c src/cyclictest/cyclictest.8 >"$(DESTDIR)$(mandir)/man8/cyclictest.8.gz" - gzip -c src/pi_tests/pi_stress.8 >"$(DESTDIR)$(mandir)/man8/pi_stress.8.gz" - gzip -c src/ptsematest/ptsematest.8 >"$(DESTDIR)$(mandir)/man8/ptsematest.8.gz" - gzip -c src/rt-migrate-test/rt-migrate-test.8 >"$(DESTDIR)$(mandir)/man8/rt-migrate-test.8.gz" - gzip -c src/sigwaittest/sigwaittest.8 >"$(DESTDIR)$(mandir)/man8/sigwaittest.8.gz" - gzip -c src/svsematest/svsematest.8 >"$(DESTDIR)$(mandir)/man8/svsematest.8.gz" - gzip -c src/pmqtest/pmqtest.8 >"$(DESTDIR)$(mandir)/man8/pmqtest.8.gz" - gzip -c src/hackbench/hackbench.8 >"$(DESTDIR)$(mandir)/man8/hackbench.8.gz" - gzip -c src/signaltest/signaltest.8 >"$(DESTDIR)$(mandir)/man8/signaltest.8.gz" - gzip -c src/pi_tests/pip_stress.8 >"$(DESTDIR)$(mandir)/man8/pip_stress.8.gz" - gzip -c src/queuelat/queuelat.8 >"$(DESTDIR)$(mandir)/man8/queuelat.8.gz" - gzip -c src/sched_deadline/deadline_test.8 >"$(DESTDIR)$(mandir)/man8/deadline_test.8.gz" - gzip -c src/ssdd/ssdd.8 >"$(DESTDIR)$(mandir)/man8/ssdd.8.gz" - gzip -c src/sched_deadline/cyclicdeadline.8 >"$(DESTDIR)$(mandir)/man8/cyclicdeadline.8.gz" .PHONY: install_hwlatdetect install_hwlatdetect: hwlatdetect if test -n "$(PYLIB)" ; then \ - mkdir -p "$(DESTDIR)$(bindir)" "$(DESTDIR)$(mandir)/man8" ; \ + mkdir -p "$(DESTDIR)$(bindir)" ; \ install -D -m 755 src/hwlatdetect/hwlatdetect.py $(DESTDIR)$(PYLIB)/hwlatdetect.py ; \ rm -f "$(DESTDIR)$(bindir)/hwlatdetect" ; \ ln -s $(PYLIB)/hwlatdetect.py "$(DESTDIR)$(bindir)/hwlatdetect" ; \ - gzip -c src/hwlatdetect/hwlatdetect.8 >"$(DESTDIR)$(mandir)/man8/hwlatdetect.8.gz" ; \ fi +.PHONY: install_manpages +install_manpages: $(MANPAGES) + mkdir -p "$(DESTDIR)$(mandir)/man8" + cp $(MANPAGES) "$(DESTDIR)$(mandir)/man8" + .PHONY: tarball tarball: git archive --worktree-attributes --prefix=rt-tests-${VERSION}/ -o rt-tests-${VERSION}.tar v${VERSION}
--
2.20.1