On Wed, Dec 07, 2011 at 12:33:41PM -0600, Dan McGee wrote:
This converts our script generation to use the built-in AM_V_GEN macro, which honors the V= setting passed to make and allows one to see the full command if they truly desire. The AM_V_at macro is also used in place of an explicit @ so verbose-mode compiles show all commands being run.
We can also use these two macros in doc generation to quiet it down to the level we expect.
Other minor changes: * a pointless test call is removed in test/pacman/tests/ * sed is used instead of dos2unix as we depend on it anyway * consecutive chmod calls are reduced to a single call (e.g., '+x,a-x')
Signed-off-by: Dan McGee <dan@archlinux.org> ---
Dave, I know you are good at shell stuff- can you take a look at this and make sure it is kosher? Mainly the chmod changes (is that comma stuff cross-platform?), and the sed conversion (cd doc/; make website). Thanks!
multiple operations in chmod appears to be portable, so we're fine on that. Any reason to use \x0D instead of \r in the sed replacement just for readability at a glance? This looks great, otherwise. d
Example full complile run now, including docs:
$ make -s -j3 V=0 Making all in lib/libalpm Making all in po CC alpm.lo CC add.lo CC alpm_list.lo CC backup.lo CC be_local.lo CC be_package.lo CC be_sync.lo CC conflict.lo CC db.lo CC delta.lo CC deps.lo CC diskspace.lo CC dload.lo CC error.lo CC graph.lo CC group.lo CC handle.lo CC log.lo CC package.lo CC pkghash.lo CC rawstr.lo CC remove.lo CC signing.lo CC sync.lo CC trans.lo CC util.lo CC version.lo CC base64.lo CCLD libalpm.la Making all in src/util CC vercmp.o CC testpkg.o CC testdb.o CC cleanupdelta.o CC pacsort.o CC pactree.o CCLD vercmp CCLD testpkg CCLD testdb CCLD cleanupdelta CCLD pacsort CCLD pactree Making all in src/pacman Making all in po CC conf.o CC database.o CC deptest.o CC package.o CC pacman.o CC query.o CC remove.o CC sync.o CC callback.o CC upgrade.o CC util.o CCLD pacman Making all in scripts Making all in po GEN makepkg GEN pacman-db-upgrade GEN pacman-key GEN pacman-optimize GEN pkgdelta GEN rankmirrors GEN repo-add Making all in etc GEN makepkg.conf GEN pacman.conf Making all in test/pacman Making all in tests GEN sync200.py Making all in test/util Making all in contrib GEN pacdiff GEN bacman GEN paccache GEN paclist GEN paclog-pkglist GEN pacscripts GEN pacsearch GEN bash_completion GEN zsh_completion Making all in doc GEN pacman.8 GEN makepkg.8 GEN repo-add.8 GEN vercmp.8 GEN pkgdelta.8 GEN pacman-key.8 GEN PKGBUILD.5 GEN makepkg.conf.5 GEN pacman.conf.5 GEN libalpm.3
contrib/Makefile.am | 19 ++++++++----------- doc/Makefile.am | 16 +++++++++------- etc/Makefile.am | 7 +++---- scripts/Makefile.am | 10 +++------- test/pacman/tests/Makefile.am | 10 ++++------ 5 files changed, 27 insertions(+), 35 deletions(-)
diff --git a/contrib/Makefile.am b/contrib/Makefile.am index be0a4ba..970e17b 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -35,19 +35,16 @@ edit = sed \ -e '1s|!/bin/bash|!$(BASH_SHELL)|g'
$(OURSCRIPTS): Makefile - @echo ' ' GEN $@; - @$(RM) $@ $@.tmp - @$(edit) $(srcdir)/$@.in >$@.tmp - @chmod +x $@.tmp - @chmod a-w $@.tmp - @mv $@.tmp $@ + $(AM_V_at)$(RM) $@ $@.tmp + $(AM_V_GEN)$(edit) $(srcdir)/$@.in >$@.tmp + $(AM_V_at)chmod +x,a-w $@.tmp + $(AM_V_at)mv $@.tmp $@
$(OURFILES): Makefile - @echo ' ' GEN $@; - @$(RM) $@ $@.tmp - @$(edit) $(srcdir)/$@.in >$@.tmp - @chmod a-w $@.tmp - @mv $@.tmp $@ + $(AM_V_at)$(RM) $@ $@.tmp + $(AM_V_GEN)$(edit) $(srcdir)/$@.in >$@.tmp + $(AM_V_at)chmod a-w $@.tmp + $(AM_V_at)mv $@.tmp $@
all-am: $(OURSCRIPTS) $(OURFILES)
diff --git a/doc/Makefile.am b/doc/Makefile.am index f449e72..b8d42d6 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -90,8 +90,10 @@ endif
html: $(HTML_DOCS)
-website: html - bsdtar czf website.tar.gz $(HTML_DOCS) \ +website: website.tar.gz + +website.tar.gz: html + $(AM_V_GEN)bsdtar czf $@ $(HTML_DOCS) \ asciidoc-override.css \ -C /etc/asciidoc/stylesheets/ \ asciidoc.css \ @@ -119,15 +121,15 @@ A2X_OPTS = \
# These rules are due to the includes and files of the asciidoc text $(ASCIIDOC_MANS): asciidoc.conf footer.txt Makefile - a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.txt + $(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.txt
%.html: %.txt - asciidoc $(ASCIIDOC_OPTS) $*.txt - dos2unix $@ + $(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - $*.txt | \ + sed -e 's/\x0D$$//' > $@
HACKING.html: ../HACKING - asciidoc $(ASCIIDOC_OPTS) -o $@ ../HACKING - dos2unix $@ + $(AM_V_GEN)asciidoc $(ASCIIDOC_OPTS) -o - ../HACKING | \ + sed -e 's/\x0D$$//' > $@
# Customizations for certain HTML docs $(HTML_MANPAGES): asciidoc.conf footer.txt Makefile diff --git a/etc/Makefile.am b/etc/Makefile.am index d504d7f..58a80bd 100644 --- a/etc/Makefile.am +++ b/etc/Makefile.am @@ -22,10 +22,9 @@ edit = sed \ -e 's|@ROOTDIR[@]|$(ROOTDIR)|g'
$(dist_sysconf_DATA): Makefile - @echo ' ' GEN $@; - @$(RM) $@ $@.tmp - @$(edit) `test -f ./$@.in || echo $(srcdir)/`$@.in >$@.tmp - @mv $@.tmp $@ + $(AM_V_at)$(RM) $@ $@.tmp + $(AM_V_GEN)$(edit) `test -f ./$@.in || echo $(srcdir)/`$@.in >$@.tmp + $(AM_V_at)mv $@.tmp $@
makepkg.conf: $(srcdir)/makepkg.conf.in pacman.conf: $(srcdir)/pacman.conf.in diff --git a/scripts/Makefile.am b/scripts/Makefile.am index d89fd30..328fbff 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -60,14 +60,10 @@ edit = sed \ ## All the scripts depend on Makefile so that they are rebuilt when the ## prefix etc. changes. Use chmod -w to prevent people from editing the ## wrong file by accident. -# two 'test' lines- make sure we can handle both sh and py type scripts -# third 'test' line- make sure one of the two checks succeeded $(OURSCRIPTS): Makefile - @echo ' ' GEN $@; - @$(RM) $@ - @test -f $(srcdir)/$@.sh.in && m4 -P -I $(srcdir) $(srcdir)/$@.sh.in | $(edit) >$@ - @chmod +x $@ - @chmod a-w $@ + $(AM_V_at)$(RM) $@ + $(AM_V_GEN)test -f $(srcdir)/$@.sh.in && m4 -P -I $(srcdir) $(srcdir)/$@.sh.in | $(edit) >$@ + $(AM_V_at)chmod +x,a-w $@
makepkg: \ $(srcdir)/makepkg.sh.in \ diff --git a/test/pacman/tests/Makefile.am b/test/pacman/tests/Makefile.am index 508534a..9ab0c77 100644 --- a/test/pacman/tests/Makefile.am +++ b/test/pacman/tests/Makefile.am @@ -17,11 +17,9 @@ edit = sed \
$(CONFTESTS): Makefile - @echo ' ' GEN $@; - @$(RM) $@ $@.tmp - @test -f $(srcdir)/$@.in && $(edit) $(srcdir)/$@.in >$@.tmp || true - @test -f $@.tmp || false - @chmod a-w $@.tmp - @mv $@.tmp $@ + $(AM_V_at)$(RM) $@ $@.tmp + $(AM_V_GEN)test -f $(srcdir)/$@.in && $(edit) $(srcdir)/$@.in >$@.tmp || true + $(AM_V_at)chmod a-w $@.tmp + $(AM_V_at)mv $@.tmp $@
# vim:set ts=2 sw=2 noet: -- 1.7.8