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, 25 insertions, 14 deletions
diff --git a/libhello/libhello/buildfile b/libhello/libhello/buildfile
index 4b3ab81..4322117 100644
--- a/libhello/libhello/buildfile
+++ b/libhello/libhello/buildfile
@@ -1,26 +1,37 @@
-import int_libs = libformat%lib{format}
-import imp_libs = libprint%lib{print}
+import int_libs = libformat%lib{format} # Interface dependency.
+import imp_libs = libprint%lib{print} # Implementation dependency.
-lib{hello}: {hxx cxx}{hello} hxx{export} $imp_libs $int_libs
+lib{hello}: {hxx ixx txx cxx}{* -version} hxx{version} $imp_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.
+# 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).
#
-if $version.pre_release
- lib{hello}: bin.lib.version = @"-$version.project_id"
-else
- lib{hello}: bin.lib.version = @"-$version.major.$version.minor"
+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"
-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
+obja{*}: cxx.poptions += -DLIBHELLO_STATIC_BUILD
+objs{*}: cxx.poptions += -DLIBHELLO_SHARED_BUILD
+
lib{hello}: cxx.export.libs = $int_libs
-# Install into the libhello/ subdirectory of, say, /usr/include/.
+# For pre-releases use the complete version to make sure they cannot be used
+# in place of another pre-release or the final version.
+#
+if $version.pre_release
+ lib{hello}: bin.lib.version = @"-$version.project_id"
+else
+ lib{hello}: bin.lib.version = @"-$version.major.$version.minor"
+
+# 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