diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-09-14 19:04:14 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-09-14 19:04:14 +0200 |
commit | bccebbfb3557b47382d0aa998b110e542607d30b (patch) | |
tree | 20cb200e2419e26bccc097ecbe842044a42e9af0 /build | |
parent | 48eeff4e9bd12a52dcb4b552b2784836a2390321 (diff) |
Support fall-back dependency tracking
Diffstat (limited to 'build')
-rw-r--r-- | build/bootstrap.make | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/build/bootstrap.make b/build/bootstrap.make index d38ede4..1c5a4a3 100644 --- a/build/bootstrap.make +++ b/build/bootstrap.make @@ -26,18 +26,16 @@ $(call include,$(bld_root)/cxx/configuration.make) # Aliases # -.PHONY: $(out_base)/ \ - $(out_base)/.dist \ - $(out_base)/.clean \ - $(out_base)/.cleandoc +.PHONY: $(out_base)/ \ + $(out_base)/.dist \ + $(out_base)/.clean ifdef %interactive% -.PHONY: dist clean cleandoc +.PHONY: dist clean dist: $(out_base)/.dist clean: $(out_base)/.clean -cleandoc: $(out_base)/.cleandoc endif @@ -75,10 +73,30 @@ endef 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 + +endif + # Don't include dependency info for certain targets. # -ifneq ($(filter $(MAKECMDGOALS),clean cleandoc disfigure dist),) +ifneq ($(filter $(MAKECMDGOALS),clean disfigure dist),) include-dep = endif + .DEFAULT_GOAL := $(def_goal) |