diff options
authorNeels Hofmeyr <neels@hofmeyr.de>2017-10-19 05:11:57 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-11-27 18:10:00 +0100
commit471be2cd6f51a93ee355a5e0300b97509f692546 (patch)
parent202a39e1d70fa3cffed6eedb63982f80598044ac (diff)
refactor Makefile build rules, don't use the FORCE
The initial goal was to make sure we don't have overall FORCE rules causing unnecessary rebuilds -- annoying while writing documentation. As I looked through possible dependencies, I finally understood what's going on here. Remove code dup and nicely sort which belongs where in build/Makefile.*.inc. In each, describe in a top comment how to use it, and also unify how they are used: - Rename Makefile.inc to Makefile.docbook.inc and refactor - Add Makefile.vty-reference.inc - Add Makefile.common.inc Make sure that we accurately pick up all dependencies. Drop use of the macro called 'command', that silenced the actual command lines invoked and replaced them with short strings: it obscures what is actually going on and makes the Makefiles hard to read and understand. Each manual's makefile is greatly reduced to few definitions and a Makefile include, e.g. one for asciidoc, one for VTY reference. Move common/bsc_vty_additions.xml to OsmoBSC/vty/libbsc_vty_additions.xml, link from OsmoNITB. It applies only to OsmoBSC and OsmoNITB. Add a script that combines a VTY reference file with *all* additions files found in a manual's vty/ dir. Call this from Makefile.vty-reference.inc. Change-Id: I9758e04162a480e28c7dc83475b514cf7fd25ec0
1 files changed, 6 insertions, 39 deletions
diff --git a/doc/manuals/Makefile b/doc/manuals/Makefile
index 6f7d28d6..baa1a49f 100644
--- a/doc/manuals/Makefile
+++ b/doc/manuals/Makefile
@@ -1,43 +1,10 @@
-# XSL stylesheets downloaded from http://docbook.sourceforge.net/release/xsl/current/html/
-# Makefile from BitBake/OpenEmbedded manuals
-EXTRA_DEPS = gen-sgsn-vty-docbook
-topdir = .
-sgsn_reference = $(topdir)/osmosgsn-vty-reference.xml
-manuals = $(sgsn_reference)
-# types = pdf txt rtf ps xhtml html man tex texi dvi
-# types = pdf txt
-types = $(docbooktotypes)
-docbooktotypes = pdf
-# htmlcssfile =
-# htmlcss =
-TOPDIR := ..
-ASCIIDOCS := osmosgsn-usermanual
+TOPDIR = ..
+ASCIIDOC = osmosgsn-usermanual.adoc
+ASCIIDOC_DEPS = chapters/*.adoc
include $(TOPDIR)/build/Makefile.asciidoc.inc
-include $(TOPDIR)/build/Makefile.inc
-osmosgsn-usermanual.pdf: chapters/*.adoc
- -rm -rf $(cleanfiles)
- -rm osmosgsn-usermanual__*.svg osmosgsn-usermanual__*.png
- -rm osmosgsn-usermanual.check
+VTY_REFERENCE = osmosgsn-vty-reference.xml
+include $(TOPDIR)/build/Makefile.vty-reference.inc
-gen-sgsn-vty-docbook: FORCE
- $(call command,xsltproc -o generated/combined1.xml \
- --stringparam with $(PWD)/../common/vty_additions.xml \
- $(MERGE_DOC) vty/sgsn_vty_reference.xml, \
- XSLTPROC,Merging Common VTY)
- $(call command,xsltproc -o generated/combined2.xml \
- --stringparam with $(PWD)/../common/ns_vty_additions.xml \
- $(MERGE_DOC) generated/combined1.xml, \
- XSLTPROC,Merging Common NS VTY)
- $(call command,xsltproc -o generated/combined3.xml \
- --stringparam with $(PWD)/vty/sgsn_vty_additions.xml \
- $(MERGE_DOC) generated/combined2.xml, \
- $(call command,xsltproc ../vty_reference.xsl generated/combined3.xml > generated/docbook_vty.xml, \
- XSLTPROC,Converting SGSN VTY to DocBook)
+include $(TOPDIR)/build/Makefile.common.inc