]> rtime.felk.cvut.cz Git - omk.git/blobdiff - snippets/nuttx-compile.omk
NuttX: change ROMFS symbols to _start, _size, _end to match binutils ones.
[omk.git] / snippets / nuttx-compile.omk
index 2f223a86cd83a38b9b89959aad78710847e22a68..ba83ca84718888feae594288eb5b94b0785a9fd1 100644 (file)
@@ -59,6 +59,8 @@ CFLAGS        += -Wall
 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%)
 
@@ -227,12 +229,12 @@ define ELF_template
 $(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
@@ -328,13 +330,15 @@ define ROMFS_template
 
 $(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 $$@