@echo "$(2)/$(1)$(3:%=-%): \\" >$(OBJS_DIR)/$(1)$(3:%=-%).exe.d
@if [ -n "$(LD_SCRIPT)" ]; then \
echo " $(LIB_DIR)/$(LD_SCRIPT).ld$(3:%=-%) \\" >>$(OBJS_DIR)/$(1)$(3:%=-%).exe.d; fi
- @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1)$(3:%=-%).map|tr '&' '\134' >>$(OBJS_DIR)/$(1)$(3:%=-%).exe.d
+ @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1)$(3:%=-%).map|tr '&' '\134' | grep -v '^ linker [^ ]' >>$(OBJS_DIR)/$(1)$(3:%=-%).exe.d
@echo >>$(OBJS_DIR)/$(1).exe.d
endef
@$(QUIET_CMD_ECHO) " LD [K] $$@"
$(Q) $$(KERN_LD) $$(KERN_LDFLAGS) -r $$($(1)_OBJS) -L$$(kern_GCCLIB_DIR) $$($(1)_LIBS:%=-l%) $$(KERN_LOADLIBES) -Map $(KERN_OBJS_DIR)/$(1).mod.map -o $$@
@echo "$(2)/$(1)$(KERN_LINK_SUFFIX): \\" >$(KERN_OBJS_DIR)/$(1).mod.d
- @$(SED4OMK) -n -e 's/^LOAD \(.*\)$$$$/ \1 \\/p' $(KERN_OBJS_DIR)/$(1).mod.map | grep -v '^ linker stubs' >>$(KERN_OBJS_DIR)/$(1).mod.d
+ @$(SED4OMK) -n -e 's/^LOAD \(.*\)$$$$/ \1 \\/p' $(KERN_OBJS_DIR)/$(1).mod.map | grep -v '^ linker [^ ]' >>$(KERN_OBJS_DIR)/$(1).mod.d
@echo >>$(KERN_OBJS_DIR)/$(1).mod.d
@if [ "$(KERN_EXE_SUFFIX)" = ".ko" ] ; then \
echo $(1) >>$(KERN_MODPOST_DIR)/module-changes ; \
$(Q) $(if $(filter $(CXX_PATTERN),$(TARGET_SOURCES)),$$(CXX),$$(CC)) \
$(TARGET_OBJS) $$($(1)_LIBS:%=-l%) $$(LOADLIBES) $$(OMK_LDFLAGS) $$(LDFLAGS) $$($(1)_LDFLAGS) -Wl,-rpath-link,$(USER_LIB_DIR) -Wl,-Map,$(USER_OBJS_DIR)/$(1).exe.map -o $$@
@echo "$(2)/$(1)$(3): \\" >$(USER_OBJS_DIR)/$(1).exe.d
- @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(USER_OBJS_DIR)/$(1).exe.map|tr '&' '\134' | grep -v '^ linker stubs' >>$(USER_OBJS_DIR)/$(1).exe.d
+ @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(USER_OBJS_DIR)/$(1).exe.map|tr '&' '\134' | grep -v '^ linker [^ ]' >>$(USER_OBJS_DIR)/$(1).exe.d
@echo >>$(USER_OBJS_DIR)/$(1).exe.d
binary-pass-local: $(2)/$(1)$(3)
$$(shell for i in $$($(1)_PROGBUILTIN_LDAT); do cat $$$$i ; done) $$(NUTTXLIBES) \
-o $$@
@echo "$(2)/$(1)$(3:%=-%): \\" >$(OBJS_DIR)/$(1)$(3:%=-%).exe.d
- @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1)$(3:%=-%).map|tr '&' '\134' >>$(OBJS_DIR)/$(1)$(3:%=-%).exe.d
+ @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1)$(3:%=-%).map|tr '&' '\134' | grep -v '^ linker [^ ]' >>$(OBJS_DIR)/$(1)$(3:%=-%).exe.d
@echo >>$(OBJS_DIR)/$(1).exe.d
endef
-o $$@
@echo "$(2)/$(1).elf: \\" >$(OBJS_DIR)/$(1).elf.d
@echo " $(ELF_FILE_LDSCRIPT) \\" >>$(OBJS_DIR)/$(1).elf.d
- @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1).elf.map|tr '&' '\134' >>$(OBJS_DIR)/$(1).elf.d
+ @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1).elf.map|tr '&' '\134' | grep -v '^ linker [^ ]' >>$(OBJS_DIR)/$(1).elf.d
@echo >>$(OBJS_DIR)/$(1).elf.d
endef
-o $(OBJS_DIR)/$(1).pbo
$(Q) $(OBJCOPY) --keep-global-symbol=$(1)_main $(OBJS_DIR)/$(1).pbo $$@
@echo "$(2)/$(1).pbi: \\" >$(OBJS_DIR)/$(1).pbi.d
- @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1).pbi.map|tr '&' '\134' >>$(OBJS_DIR)/$(1).pbi.d
+ @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1).pbi.map|tr '&' '\134' | grep -v '^ linker [^ ]' >>$(OBJS_DIR)/$(1).pbi.d
@echo >>$(OBJS_DIR)/$(1).pbi.d
@echo "{ \"$1\", $$($(1)_PRIORITY), $$($(1)_STACKSIZE), $(1)_main }," >$(3)/$(1).bdat
@echo "int $(1)_main(int argc, char *argv[]);" >$(3)/$(1).pdat
-o $$@
@echo "$(2)/$(1)$(KERN_LINK_SUFFIX): \\" >$(OBJS_DIR)/$(1)$(KERN_LINK_SUFFIX).d
@echo " $(ELF_FILE_LDSCRIPT) \\" >>$(OBJS_DIR)/$(1)$(KERN_LINK_SUFFIX).d
- @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1)$(KERN_LINK_SUFFIX).map|tr '&' '\134' >>$(OBJS_DIR)/$(1)$(KERN_LINK_SUFFIX).d
+ @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(OBJS_DIR)/$(1)$(KERN_LINK_SUFFIX).map|tr '&' '\134' | grep -v '^ linker [^ ]' >>$(OBJS_DIR)/$(1)$(KERN_LINK_SUFFIX).d
@echo >>$(OBJS_DIR)/$(1)$(KERN_LINK_SUFFIX).d
$(2)/lib$(1).ka: $$($(1)_OBJS)
-S $(1)-symbol-table.c -o $(1)-symbol-table.o $(1).prelink || exit 1 ; \
$$($(1)_LDCOMMAND) $(1)-symbol-table.o $$(LOADLIBES) $$($(1)_LIBS:%=-l%) -o $(2)/$(1) || exit 1 ; \
fi
-
-#@echo "$(2)/$(1): \\" >$(USER_OBJS_DIR)/$(1).exe.d
-#@$(SED4OMK) -n -e 's/^LOAD \(.*\)$$$$/ \1 \\/p' $(USER_OBJS_DIR)/$(1).exe.map >>$(USER_OBJS_DIR)/$(1).exe.d
-#@echo >>$(USER_OBJS_DIR)/$(1).exe.d
-#-Wl,-Map,$(USER_OBJS_DIR)/$(1).exe.map
-# FIXME: Why the map file was commented out?
+ @echo "$(2)/$(1): \\" >$(USER_OBJS_DIR)/$(1).exe.d
+ @$(SED4OMK) -n -e 's|^LOAD \(.*\)$$$$| \1 \&|p' $(USER_OBJS_DIR)/$(1).exe.map|tr '&' '\134' | grep -v '^ linker [^ ]' >>$(USER_OBJS_DIR)/$(1).exe.d
+ @echo >>$(USER_OBJS_DIR)/$(1).exe.d
endef
# Rules for other output formats (can be specified by OUTPUT_FORMATS)