From: Samuel Martin <s.martin49@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v3 2/4] gendoc infra: move manual build location into $(BUILD_DIR)/manual
Date: Tue, 26 Aug 2014 20:49:05 +0200 [thread overview]
Message-ID: <1409078947-5093-2-git-send-email-s.martin49@gmail.com> (raw)
In-Reply-To: <1409078947-5093-1-git-send-email-s.martin49@gmail.com>
This patch reworks the manual source preparation by:
- moving the build directory under $(BUILD_DIR)/, this keeps consistency
with the other Buildroot infrastructures;
- adding a couple of targets: 'manual-rsync' and 'manual-prepare-sources',
to deal more efficiently with the manual sources and avoid rsync-ing
them on every single manual-* target.
The 'manual-rsync' target only copies the manual sources under git, while
the 'manual-prepare-sources' also takes care of the generated ones. These
targets are now run only once, and the manual build is no longer cleaned
after each manual format generation.
Now, the 'manual-clean' target only remove the manual build directory, but
keeps the output one $(O)/output/doc/manual unchanged.
Doing so (moving the manual build directory and keeping it between 2
manual format generation) ensures that all generated sources are taken
in account when generating the manual [1].
[1] http://lists.busybox.net/pipermail/buildroot/2014-August/104421.html
Cc: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
changes v2 -> v3:
- fixes many typoes in commit log (ThomasDS)
- remove '-u' option to the rsync command (ThomasDS)
changes v1 -> v2:
- remove trailing '\'
---
docs/manual/manual.mk | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/docs/manual/manual.mk b/docs/manual/manual.mk
index 136f725..e86f872 100644
--- a/docs/manual/manual.mk
+++ b/docs/manual/manual.mk
@@ -1,11 +1,20 @@
+$(BUILD_DIR)/$(pkgname):
+ $(Q)mkdir -p $@
+
+manual-rsync: $(BUILD_DIR)/$(pkgname)
+ $(Q)$(call MESSAGE,"Preparing the manual sources...")
+ $(Q)rsync -a docs/$(pkgname)/ $(BUILD_DIR)/$(pkgname)
+
# Packages included in BR2_EXTERNAL are not part of buildroot, so they
# should not be included in the manual.
-manual-update-lists: manual-check-dependencies-lists
+manual-update-lists: manual-check-dependencies-lists $(BUILD_DIR)/$(pkgname)
$(Q)$(call MESSAGE,"Updating the manual lists...")
- $(Q)BR2_DEFCONFIG="" TOPDIR=$(TOPDIR) O=$(O)/docs/manual/.build \
+ $(Q)BR2_DEFCONFIG="" TOPDIR=$(TOPDIR) O=$(BUILD_DIR)/$(pkgname) \
BR2_EXTERNAL=$(TOPDIR)/support/dummy-external \
python -B $(TOPDIR)/support/scripts/gen-manual-lists.py
+manual-prepare-sources: manual-rsync manual-update-lists
+
# we can't use suitable-host-package here because that's not available in
# the context of 'make release'
manual-check-dependencies:
@@ -65,14 +74,13 @@ $$(O)/docs/$(1)/$(1).$(4): docs/$(1)/$(1).txt \
$$($$(call UPPERCASE,$(1))_SOURCES) \
manual-check-dependencies \
manual-check-dependencies-$(3) \
- manual-update-lists
+ manual-prepare-sources
$$(Q)$$(call MESSAGE,"Generating $(5) $(1)...")
- $$(Q)mkdir -p $$(@D)/.build
- $$(Q)rsync -au docs/$(1)/*.txt $$(@D)/.build
+ $$(Q)mkdir -p $$(@D)
$$(Q)a2x $(6) -f $(2) -d book -L -r $$(TOPDIR)/docs/images \
--asciidoc-opts="$$(MANUAL_$(2)_ASCIIDOC_OPTS)" \
- -D $$(@D) $$(@D)/.build/$(1).txt
- -$$(Q)rm -rf $$(@D)/.build
+ -D $$(@D) \
+ $$(BUILD_DIR)/$(1)/$(1).txt
endef
################################################################################
@@ -94,7 +102,7 @@ $(call GENDOC_INNER,$(pkgname),text,text,text,text)
$(call GENDOC_INNER,$(pkgname),epub,epub,epub,ePUB)
clean: $(pkgname)-clean
$(pkgname)-clean:
- $$(Q)$$(RM) -rf $$(O)/docs/$(pkgname)
+ $$(Q)$$(RM) -rf $$(BUILD_DIR)/$(pkgname)
.PHONY: $(pkgname) $(pkgname)-clean manual-update-lists
endef
--
2.1.0
next prev parent reply other threads:[~2014-08-26 18:49 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-26 18:49 [Buildroot] [PATCH v3 1/4] gendoc infra: cosmetic fixes Samuel Martin
2014-08-26 18:49 ` Samuel Martin [this message]
2014-09-07 15:03 ` [Buildroot] [PATCH v3 2/4] gendoc infra: move manual build location into $(BUILD_DIR)/manual Yann E. MORIN
2014-08-26 18:49 ` [Buildroot] [PATCH v3 3/4] gendoc infra: avoid a2x warning Samuel Martin
2014-08-26 18:49 ` [Buildroot] [PATCH v3 4/4] gendoc infra: disable pdf manual generation if xsltproc is buggy Samuel Martin
2014-08-29 5:58 ` Thomas De Schampheleire
2014-09-07 9:57 ` [Buildroot] [PATCH v3 1/4] gendoc infra: cosmetic fixes Yann E. MORIN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1409078947-5093-2-git-send-email-s.martin49@gmail.com \
--to=s.martin49@gmail.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox