diff options
author | Michael Brown <mcb30@ipxe.org> | 2014-08-26 15:05:48 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2014-08-26 15:08:46 +0100 |
commit | bfe9f06f9b1b9296feb46f4a6d64d1da8ce2a1f4 (patch) | |
tree | 05efc3da6a5a42ed27d7a78bdd9799008575d6a2 | |
parent | df202b3f4d9d9a0894bed3b0a47850b7987c13c6 (diff) | |
download | ipxe-bfe9f06f9b1b9296feb46f4a6d64d1da8ce2a1f4.zip ipxe-bfe9f06f9b1b9296feb46f4a6d64d1da8ce2a1f4.tar.gz ipxe-bfe9f06f9b1b9296feb46f4a6d64d1da8ce2a1f4.tar.bz2 |
[build] Avoid deleting config header files if build is interrupted
With extremely unlucky timing, it is possible to interrupt a build and
cause make to delete config/named.h (and possibly any local
configuration headers).
Mark config/named.h and all local configuration headers as .PRECIOUS
to prevent make from ever deleting them.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r-- | src/Makefile.housekeeping | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index 0e490f6..b2c6959 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -717,6 +717,8 @@ endif config/named.h : $(CONFIG_LIST) $(Q)$(TOUCH) $@ +.PRECIOUS : config/named.h + # These files use .incbin inline assembly to include a binary file. # Unfortunately ccache does not detect this dependency and caches # builds even when the binary file has changed. @@ -1289,14 +1291,25 @@ CLEANUP += $(EINFO) # Local configs # CONFIG_HEADERS := $(patsubst config/%,%,$(wildcard config/*.h)) +CONFIG_LOCAL_HEADERS := $(foreach HEADER,$(CONFIG_HEADERS),\ + config/local/$(HEADER)) -$(foreach HEADER,$(CONFIG_HEADERS),config/local/$(HEADER)) : +$(CONFIG_LOCAL_HEADERS) : $(Q)$(TOUCH) $@ +.PRECIOUS : $(CONFIG_LOCAL_HEADERS) + ifneq ($(CONFIG),) -$(foreach HEADER,$(CONFIG_HEADERS),config/local/$(CONFIG)/$(HEADER)) : + +CONFIG_LOCAL_NAMED_HEADERS := $(foreach HEADER,$(CONFIG_HEADERS),\ + config/local/$(CONFIG)/$(HEADER)) + +$(CONFIG_LOCAL_NAMED_HEADERS) : $(Q)$(MKDIR) -p $(dir $@) $(Q)$(TOUCH) $@ + +.PRECIOUS : $(CONFIG_LOCAL_NAMED_HEADERS) + endif ############################################################################### |