From bd7e3f411c8d46115229bf1fbb1187e853f00e40 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 12 Jul 2017 16:29:53 +0300 Subject: Make use of wildcards in buildfiles --- bpkg/buildfile | 84 +++++++++++++++++++++++++++------------------------------- buildfile | 2 +- doc/buildfile | 15 +++-------- 3 files changed, 44 insertions(+), 57 deletions(-) diff --git a/bpkg/buildfile b/bpkg/buildfile index e214bc9..85c2417 100644 --- a/bpkg/buildfile +++ b/bpkg/buildfile @@ -2,56 +2,50 @@ # copyright : Copyright (c) 2014-2017 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file +# @@ ODB: these are ODB changelogs that are both generated and stored in the +# repository (what if src != out?). Will need to think how to handle +# them properly (always generate in src_base?). +# +define xml: file +xml{*}: extension = xml + import libs = libbpkg%lib{bpkg} import libs += libbutl%lib{butl} import libs += libodb%lib{odb} import libs += libodb-sqlite%lib{odb-sqlite} -exe{bpkg}: \ -{hxx cxx}{ archive } \ -{hxx cxx}{ auth } \ -{ cxx}{ bpkg } {hxx ixx cxx}{ bpkg-options } \ -{hxx cxx}{ cfg-create } {hxx ixx cxx}{ cfg-create-options } \ -{hxx cxx}{ checksum } \ - {hxx ixx cxx}{ common-options } \ - {hxx ixx cxx}{ configuration-options } \ -{hxx cxx}{ database } \ -{hxx cxx}{ diagnostics } \ -{hxx cxx}{ fetch } \ -{hxx }{ forward } \ -{hxx cxx}{ help } {hxx ixx cxx}{ help-options } \ -{hxx cxx}{ manifest-utility } \ -{hxx }{ options-types } \ -{hxx ixx cxx}{ package } \ -{hxx ixx cxx}{ package-odb } file{ package.xml } \ -{hxx cxx}{ pkg-build } {hxx ixx cxx}{ pkg-build-options } \ -{hxx }{ pkg-clean } {hxx ixx cxx}{ pkg-clean-options } \ -{hxx cxx}{ pkg-drop } {hxx ixx cxx}{ pkg-drop-options } \ -{hxx cxx}{ pkg-command } \ -{hxx cxx}{ pkg-configure } {hxx ixx cxx}{ pkg-configure-options } \ -{hxx cxx}{ pkg-disfigure } {hxx ixx cxx}{ pkg-disfigure-options } \ -{hxx cxx}{ pkg-fetch } {hxx ixx cxx}{ pkg-fetch-options } \ -{hxx }{ pkg-install } {hxx ixx cxx}{ pkg-install-options } \ -{hxx cxx}{ pkg-purge } {hxx ixx cxx}{ pkg-purge-options } \ -{hxx cxx}{ pkg-status } {hxx ixx cxx}{ pkg-status-options } \ -{hxx }{ pkg-test } {hxx ixx cxx}{ pkg-test-options } \ -{hxx }{ pkg-uninstall } {hxx ixx cxx}{ pkg-uninstall-options } \ -{hxx cxx}{ pkg-unpack } {hxx ixx cxx}{ pkg-unpack-options } \ -{hxx }{ pkg-update } {hxx ixx cxx}{ pkg-update-options } \ -{hxx cxx}{ pkg-verify } {hxx ixx cxx}{ pkg-verify-options } \ -{hxx cxx}{ rep-add } {hxx ixx cxx}{ rep-add-options } \ -{hxx cxx}{ rep-create } {hxx ixx cxx}{ rep-create-options } \ -{hxx cxx}{ rep-fetch } {hxx ixx cxx}{ rep-fetch-options } \ -{hxx cxx}{ rep-info } {hxx ixx cxx}{ rep-info-options } \ - {hxx cxx}{ repository-signing } \ -{hxx cxx}{ satisfaction } \ -{hxx cxx}{ system-repository } \ -{hxx }{ types } \ -{hxx cxx}{ types-parsers } \ -{hxx cxx}{ utility } \ -{hxx }{ version } \ -{hxx }{ wrapper-traits } \ - $libs +options_topics = \ +bpkg-options \ +cfg-create-options \ +common-options \ +configuration-options \ +help-options \ +pkg-build-options \ +pkg-clean-options \ +pkg-configure-options \ +pkg-disfigure-options \ +pkg-drop-options \ +pkg-fetch-options \ +pkg-install-options \ +pkg-purge-options \ +pkg-test-options \ +pkg-status-options \ +pkg-uninstall-options \ +pkg-unpack-options \ +pkg-update-options \ +pkg-verify-options \ +rep-add-options \ +rep-create-options \ +rep-fetch-options \ +rep-info-options + +help_topics = repository-signing + +exe{bpkg}: \ + {hxx ixx txx cxx}{** -{$options_topics} -{$help_topics} -*-odb -version} \ + {hxx ixx cxx}{$options_topics} {hxx cxx}{$help_topics} \ + {hxx ixx cxx}{package-odb} {hxx}{version} \ + $libs xml{*} hxx{version}: in{version} $src_root/file{manifest} hxx{version}: dist = true diff --git a/buildfile b/buildfile index 4e6ddd9..75acfdb 100644 --- a/buildfile +++ b/buildfile @@ -2,7 +2,7 @@ # copyright : Copyright (c) 2014-2017 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file -./: bpkg/ tests/ doc/ doc{INSTALL LICENSE NEWS README version} file{manifest} +./: {*/ -build/} doc{INSTALL LICENSE NEWS README version} file{manifest} doc{version}: file{manifest} # Generated by the version module. doc{version}: dist = true diff --git a/doc/buildfile b/doc/buildfile index 1eec6cc..a48865f 100644 --- a/doc/buildfile +++ b/doc/buildfile @@ -32,17 +32,10 @@ xhtml{*}: extension = xhtml ./: {man1 xhtml}{bpkg bpkg-common-options bpkg-repository-signing $cmds} \ css{common pre-box man} \ - file{man-prologue.1 man-epilogue.1 \ - man-prologue.xhtml man-epilogue.xhtml} + file{man-*} -./: doc{build2-package-manager-manual.xhtml \ - build2-package-manager-manual-a4.pdf \ - build2-package-manager-manual-a4.ps \ - build2-package-manager-manual-letter.pdf \ - build2-package-manager-manual-letter.ps} \ - css{code-box common doc pre-box toc} \ - file{a4.html2ps letter.html2ps doc.html2ps} \ - file{doc-prologue.xhtml doc-epilogue.xhtml \ - manual.cli} +./: doc{build2-package-manager-manual*} \ + css{code-box common doc pre-box toc} \ + file{manual.cli doc-* *.html2ps} ./: file{cli.sh} -- cgit v1.1