[CRIU] [PATCH 4/9] nmk: build.mk -- Make process depend on Makefile itself
Cyrill Gorcunov
gorcunov at openvz.org
Mon Mar 21 05:12:16 PDT 2016
From: Cyrill Gorcunov <gorcunov at gmail.com>
If makefile is changed itself we've been not detecting it.
Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
scripts/nmk/scripts/build.mk | 25 ++++++++++++++++++++-----
1 file changed, 20 insertions(+), 5 deletions(-)
diff --git a/scripts/nmk/scripts/build.mk b/scripts/nmk/scripts/build.mk
index b9048aa142e3..acb2440e518d 100644
--- a/scripts/nmk/scripts/build.mk
+++ b/scripts/nmk/scripts/build.mk
@@ -20,7 +20,8 @@ ifndef obj
$(error obj is undefined)
endif
-include $(call objectify,$(makefile))
+src-makefile := $(call objectify,$(makefile))
+include $(src-makefile)
ifneq ($(strip $(target)),)
target := $(sort $(call uniq,$(target)))
@@ -46,6 +47,16 @@ builtin-name := $(strip $(builtin-name))
ld_flags := $(strip $(LDFLAGS) $(ldflags-y))
#
+# $(obj) related rules.
+$(eval $(call gen-rule-o-from-c-by-name,$(obj)/%,$(obj)/%,$(src-makefile)))
+$(eval $(call gen-rule-i-from-c-by-name,$(obj)/%,$(obj)/%,$(src-makefile)))
+$(eval $(call gen-rule-s-from-c-by-name,$(obj)/%,$(obj)/%,$(src-makefile)))
+$(eval $(call gen-rule-o-from-S-by-name,$(obj)/%,$(obj)/%,$(src-makefile)))
+$(eval $(call gen-rule-d-from-c-by-name,$(obj)/%,$(obj)/%,$(src-makefile)))
+$(eval $(call gen-rule-d-from-S-by-name,$(obj)/%,$(obj)/%,$(src-makefile)))
+$(eval $(call gen-rule-i-from-S-by-name,$(obj)/%,$(obj)/%,$(src-makefile)))
+
+#
# Prepare targets.
ifneq ($(lib-y),)
lib-target :=
@@ -89,14 +100,16 @@ ifdef builtin-target
$(eval $(call gen-ld-target-rule, \
$(builtin-target), \
$(ld_flags), \
- $(obj-y),$(obj-y) $(call objectify,$(obj-e))))
+ $(obj-y) $(src-makefile), \
+ $(obj-y) $(call objectify,$(obj-e))))
endif
ifdef lib-target
$(eval $(call gen-ar-target-rule, \
$(lib-target), \
$(ARFLAGS) $(arflags-y), \
- $(lib-y),$(lib-y) $(call objectify,$(lib-e))))
+ $(lib-y) $(src-makefile), \
+ $(lib-y) $(call objectify,$(lib-e))))
endif
#
@@ -106,7 +119,8 @@ define gen-custom-target-rule
$(eval $(call gen-ld-target-rule, \
$(obj)/$(1).built-in.o, \
$(ld_flags) $(LDFLAGS_$(1)), \
- $(call objectify,$($(1)-obj-y)), \
+ $(call objectify,$($(1)-obj-y)) \
+ $(src-makefile), \
$(call objectify,$($(1)-obj-y)) \
$(call objectify,$($(1)-obj-e))))
all-y += $(obj)/$(1).built-in.o
@@ -117,7 +131,8 @@ define gen-custom-target-rule
$(obj)/$(1).lib.a, \
$(ARFLAGS) $($(1)-arflags-y), \
$(call objectify,$($(1)-lib-y)) \
- $(call objectify,$($(1)-lib-e)), \
+ $(call objectify,$($(1)-lib-e)) \
+ $(src-makefile), \
$(call objectify,$($(1)-lib-y))))
all-y += $(obj)/$(1).lib.a
cleanup-y += $(obj)/$(1).lib.a
--
2.5.0
More information about the CRIU
mailing list