CFLAGS += -I$(SOURCES_DIR)
CFLAGS += -I$(INCLUDE_DIR)
+ELF_FILE_LDSCRIPT?=$(wildcard $(NUTTX_EXPORT)/build/gnu-elf.ld)
+
LOADLIBES += -L$(LIB_DIR)
LOADLIBES += $(lib_LOADLIBES:%=-l%)
$(2)/$(1).elf: $$($(1)_OBJS)
@$(QUIET_CMD_ECHO) " ELF $$@"
$(Q) $(LINK) \
- -r -e main -T $(NUTTX_EXPORT)/build/gnu-elf.ld \
+ -r -e main -T $(ELF_FILE_LDSCRIPT) \
-Map $(1).elf.map \
$$($(1)_OBJS) $$($(1)_MOREOBJS) $$(LOADLIBES) $$($(1)_LIBS:%=-l%) \
-o $$@
@echo "$(2)/$(1).elf: \\" >$(OBJS_DIR)/$(1).elf.d
- @echo " $(NUTTX_EXPORT)/build/gnu-elf.ld \\" >>$(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
@echo >>$(OBJS_DIR)/$(1).elf.d
endef
$(2):
$(Q) genromfs -f $(2).tmp -V $(1) -d $(3)
- $(Q) if ( [ ! -e $(2) ] || ! cmp $(2).tmp $(2) ) ; then cp $(2).tmp $(2) ; fi
+ $(Q) if ( [ ! -e $(2) ] || ! cmp -s $(2).tmp $(2) ) ; then cp $(2).tmp $(2) ; fi
$(2).o: $(2)
@$(QUIET_CMD_ECHO) " ROMFS $$@"
$(Q) $(LD) -r --accept-unknown-input-arch -b binary \
- --defsym=$(2)_len=_binary_$(2)_size \
- --defsym=$(2)=_binary_$(2)_start -o $$@.tmp $$^
+ --defsym=$(2)_size=_binary_$(2)_size \
+ --defsym=$(2)_start=_binary_$(2)_start \
+ --defsym=$(2)_end=_binary_$(2)_end \
+ -o $$@.tmp $$^
$(Q) $(OBJCOPY) --rename-section .data=.rodata,alloc,load,readonly,data,contents \
$$@.tmp $$@