summaryrefslogtreecommitdiff
path: root/libhello/libhello/buildfile
diff options
context:
space:
mode:
Diffstat (limited to 'libhello/libhello/buildfile')
-rw-r--r--libhello/libhello/buildfile39
1 files changed, 28 insertions, 11 deletions
diff --git a/libhello/libhello/buildfile b/libhello/libhello/buildfile
index c43a4ae..45aa7e4 100644
--- a/libhello/libhello/buildfile
+++ b/libhello/libhello/buildfile
@@ -1,4 +1,27 @@
-lib{hello}: {hxx cxx}{hello} hxx{export}
+int_libs = # Interface dependencies.
+imp_libs = # Implementation dependencies.
+#import imp_libs += libhello%lib{hello}
+
+lib{hello}: {hxx ixx txx cxx}{* -version} hxx{version} $imp_libs $int_libs
+
+# Include the generated version header into the distribution (so that we don't
+# pick up an installed one) and don't remove it when cleaning in src (so that
+# clean results in a state identical to distributed).
+#
+hxx{version}: in{version} $src_root/file{manifest}
+hxx{version}: dist = true
+hxx{version}: clean = ($src_root != $out_root)
+
+cxx.poptions =+ "-I$out_root" "-I$src_root"
+lib{hello}: cxx.export.poptions = "-I$out_root" "-I$src_root"
+
+liba{hello}: cxx.export.poptions += -DLIBHELLO_STATIC
+libs{hello}: cxx.export.poptions += -DLIBHELLO_SHARED
+
+obja{*}: cxx.poptions += -DLIBHELLO_STATIC_BUILD
+objs{*}: cxx.poptions += -DLIBHELLO_SHARED_BUILD
+
+lib{hello}: cxx.export.libs = $int_libs
# For pre-releases use the complete version to make sure they cannot be used
# in place of another pre-release or the final version.
@@ -8,14 +31,8 @@ if $version.pre_release
else
lib{hello}: bin.lib.version = @"-$version.major.$version.minor"
-cxx.poptions =+ "-I$out_root" "-I$src_root"
-obja{*}: cxx.poptions += -DLIBHELLO_STATIC_BUILD
-objs{*}: cxx.poptions += -DLIBHELLO_SHARED_BUILD
-
-lib{hello}: cxx.export.poptions = "-I$out_root" "-I$src_root"
-liba{hello}: cxx.export.poptions += -DLIBHELLO_STATIC
-libs{hello}: cxx.export.poptions += -DLIBHELLO_SHARED
-
-# Install into the libhello/ subdirectory of, say, /usr/include/.
+# Install into the libhello/ subdirectory of, say, /usr/include/
+# recreating subdirectories.
#
-{hxx ixx txx}{*}: install = include/$project/
+{hxx ixx txx}{*}: install = include/$project/
+{hxx ixx txx}{*}: install.subdirs = true