]> rtime.felk.cvut.cz Git - omk.git/blobdiff - snippets/Makefile.rules.test
Added generation of binary dependencies from .map file
[omk.git] / snippets / Makefile.rules.test
index 30e1bb36889d7f2132a5d41c91646eaaa6c6f7fa..c6a17e7364f9acf885dd51a1ef8b9faa1b76789b 100644 (file)
@@ -53,9 +53,13 @@ $$(eval $$(call prepare_rule_goal,\
        $$(call program_cmd,$(1))))
 endef
 
-program_cmd = $(if $(filter %.cc,$($(1)_SOURCES)),$(CXX),$(CC)) \
+program_cmd = set -e; $(if $(filter %.cc,$($(1)_SOURCES)),$(CXX),$(CC)) \
        $($(1)_OBJS) $($(1)_LIBS:%=-l%) $(LOADLIBES) $(LDFLAGS) -Wl,-rpath-link,$(USER_LIB_DIR) \
-       -Wl,-Map,$(USER_OBJS_DIR)/$(1).exe.map -o $$@
+       -Wl,-Map,$(USER_OBJS_DIR)/$(1).exe.map -o $$@; \
+       echo "$$@: \\" >$(USER_OBJS_DIR)/$(1).exe.d; \
+       sed -n -e 's|^LOAD \(.*\)$$$$|  \1  \&|p' $(USER_OBJS_DIR)/$(1).exe.map|tr '&' '\134'  >>$(USER_OBJS_DIR)/$(1).exe.d; \
+       echo >>$(USER_OBJS_DIR)/$(1).exe.d
+
 
 $(foreach prog,$(bin_PROGRAMS),$(eval $(call program_template,$(prog),bin)))
 #$(foreach prog,$(bin_PROGRAMS),$(info >>>$(call program_template,$(prog),bin)<<<))