diff options
author | Oliver Smith <osmith@sysmocom.de> | 2019-04-05 14:44:55 +0200 |
---|---|---|
committer | Oliver Smith <osmith@sysmocom.de> | 2019-04-12 14:32:20 +0200 |
commit | 5501ba607badfcbef894db22a6968cdf23556a15 (patch) | |
tree | ef9d830482bb4c9ce7239d50c61c05f96ff56b30 | |
parent | 7390b95c11b2c3475aaf55168365b08ac5f5f476 (diff) |
Makefile.common.inc: add {,un}install targets
Allow installing generated pdfs with 'make install' in all Osmocom
projects using osmo-gsm-manuals. This makes proper debian packaging of
the manuals easier.
Autotools will automatically run this file's install target, when
running 'make install' in the top source dir. Do not install anything,
when OSMO_GSM_MANUALS_NO_INSTALL is set, and set this variable for the
tests dir, so we don't install the test pdfs.
Related: OS#3899
Change-Id: I66f33172fa410681acbaef4592e9405627948705
-rw-r--r-- | build/Makefile.common.inc | 28 | ||||
-rw-r--r-- | tests/Makefile.am | 3 |
2 files changed, 30 insertions, 1 deletions
diff --git a/build/Makefile.common.inc b/build/Makefile.common.inc index aaad088..b98e83f 100644 --- a/build/Makefile.common.inc +++ b/build/Makefile.common.inc @@ -3,12 +3,18 @@ # Other makefiles like Makefile.asciidoc.inc and Makefile.vty-reference.inc add # entries to UPLOAD_FILES and CLEAN_FILES. # -# Include this file at the end to have the common targets (upload, clean etc.). +# Put the repository name (e.g. "osmo-bts") into OSMO_REPOSITORY and include +# this file at the end to have the common targets (upload, clean, install etc.). SSH_COMMAND = ssh -o 'UserKnownHostsFile=$(OSMO_GSM_MANUALS_DIR)/build/known_hosts' -p 48 UPLOAD_PATH ?= generic@sysmocom-downloads:documents SYMLINKS = common build CLEAN_FILES += $(SYMLINKS) +PDF_FILES = $(patsubst %.adoc,%.pdf,$(ASCIIDOC)) $(patsubst %.xml,%.pdf,$(VTY_REFERENCE)) +OSMO_REPOSITORY ?= osmo-gsm-manuals + +# Prefix (Makefile.am sets this to configure's --prefix when including) +prefix ?= /usr/local $(SYMLINKS): ln -s $(OSMO_GSM_MANUALS_DIR)/$@ $@ @@ -25,3 +31,23 @@ publish: all mkdir -p out cp *.pdf out rsync -avz -e "$(SSH_COMMAND)" ./out/ docs@rita.osmocom.org:web-files/latest/ + +# Install and uninstall targets +# Notes about OSMO_GSM_MANUALS_NO_INSTALL: +# - osmo-gsm-manuals.git's tests/Makefile.am sets this, so the test pdfs will not +# get installed +# - installing manuals by default is fine, because Osmocom projects won't include +# the whole Makefile.common.inc unless --enable-manuals is passed to configure. +install: $(PDF_FILES) + if [ "$(OSMO_GSM_MANUALS_NO_INSTALL)" != "1" ]; then \ + for i in $(PDF_FILES); do \ + install -vDm644 "$$i" "$(DESTDIR)$(prefix)/share/doc/$(OSMO_REPOSITORY)-doc/$$i" || exit 1; \ + done; \ + fi + +uninstall: + if [ "$(OSMO_GSM_MANUALS_NO_INSTALL)" != "1" ]; then \ + for i in $(PDF_FILES); do \ + rm -v "$(DESTDIR)$(prefix)/share/doc/$(OSMO_REPOSITORY)-doc/$$i"; \ + done; \ + fi diff --git a/tests/Makefile.am b/tests/Makefile.am index 32f23b0..7dc9544 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -3,6 +3,9 @@ EXTRA_DIST = test-usermanual-docinfo.xml \ test-vty-reference.xml \ vty +# Do not install any of the test pdfs +OSMO_GSM_MANUALS_NO_INSTALL = 1 + # Generate adoc file that includes all chapters ASCIIDOC = test-usermanual.adoc ASCIIDOC_DEPS = |