aboutsummaryrefslogtreecommitdiff
path: root/build/bootstrap.make
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-14 19:01:49 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-14 19:01:49 +0200
commit19d0eb2adcda31d9919bca8fef98cb1871b4ce54 (patch)
tree2e37fd2a976d6ec1f5fa1c49da8c2e5a04dfa440 /build/bootstrap.make
parent6aeb2e06e9fa137a8e26f8605ec63f7567e65280 (diff)
Add automake and VC++ builds (meta-build)
Diffstat (limited to 'build/bootstrap.make')
-rw-r--r--build/bootstrap.make33
1 files changed, 29 insertions, 4 deletions
diff --git a/build/bootstrap.make b/build/bootstrap.make
index 7d34526..6c742dd 100644
--- a/build/bootstrap.make
+++ b/build/bootstrap.make
@@ -21,29 +21,54 @@ endif
#
.PHONY: $(out_base)/ \
$(out_base)/.test \
+ $(out_base)/.dist \
$(out_base)/.install \
$(out_base)/.clean
ifdef %interactive%
-.PHONY: test install clean
+.PHONY: test dist install clean
test: $(out_base)/.test
+dist: $(out_base)/.dist
install: $(out_base)/.install
clean: $(out_base)/.clean
-ifneq ($(filter $(.DEFAULT_GOAL),test install clean),)
+ifneq ($(filter $(.DEFAULT_GOAL),test dist install clean),)
.DEFAULT_GOAL :=
endif
endif
-# Don't include dependency info for certain targets.
+# Make sure the distribution prefix is set if the goal is dist.
#
+ifneq ($(filter $(MAKECMDGOALS),dist),)
+ifeq ($(dist_prefix),)
+$(error dist_prefix is not set)
+endif
+endif
+
+# If we don't have dependency auto-generation then we need to manually
+# make sure that generated files are generated before C++ file are
+# compiler. To do this we make the object files ($2) depend in order-
+# only on generated files ($3).
+#
+ifeq ($(cxx_id),generic)
+
+define include-dep
+$(if $2,$(eval $2: | $3))
+endef
+
+else
+
define include-dep
$(call -include,$1)
endef
-ifneq ($(filter $(MAKECMDGOALS),clean disfigure),)
+endif
+
+# Don't include dependency info for certain targets.
+#
+ifneq ($(filter $(MAKECMDGOALS),clean disfigure dist),)
include-dep =
endif