diff options
Diffstat (limited to 'build')
-rw-r--r-- | build/bootstrap.make | 33 |
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 |