forked from Imagelibrary/rtems
2007-12-17 Chris Johns <chrisj@rtems.org>
* custom/mcf5235.cfg, custom/mrm332.cfg, custom/pc386.cfg: Split the make-exe and make-cxx-exe into bsp-link-c, bsp-link-cxx and bsp-post-link make macros. This allow external autotools support.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2007-12-17 Chris Johns <chrisj@rtems.org>
|
||||
|
||||
* custom/mcf5235.cfg, custom/mrm332.cfg, custom/pc386.cfg: Split
|
||||
the make-exe and make-cxx-exe into bsp-link-c, bsp-link-cxx and
|
||||
bsp-post-link make macros. This allow external autotools support.
|
||||
|
||||
2007-12-14 Till Straumann <strauman@slac.stanford.edu>
|
||||
|
||||
* custom/mvme3100.cfg: Added; new BSP.
|
||||
|
||||
@@ -32,17 +32,29 @@ endif
|
||||
# The following are definitions of make-exe which will work using ld as
|
||||
# is currently required.
|
||||
|
||||
define make-exe
|
||||
define bsp-link-c
|
||||
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) \
|
||||
-o $(basename $@).nxe $(LINK_OBJS) $(LINK_LIBS)
|
||||
$(OBJCOPY) -O binary --strip-all $(basename $@).nxe $@
|
||||
$(SIZE) $(basename $@).nxe
|
||||
-o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
define make-cxx-exe
|
||||
|
||||
define bsp-link-cxx
|
||||
$(LINK.cc) $(AM_CFLAGS) $(AM_LDFLAGS) \
|
||||
-o $(basename $@).nxe $(LINK_OBJS) $(LINK_LIBS)
|
||||
$(OBJCOPY) -O binary --strip-all $(basename $@).nxe $@
|
||||
$(SIZE) $(basename $@).nxe
|
||||
-o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O binary --strip-all $(basename $@)$(EXEEXT) $(basename $@).nxe
|
||||
$(SIZE) $(basename $@)$(EXEEXT)
|
||||
endef
|
||||
|
||||
define make-exe
|
||||
$(bsp-link-c)
|
||||
$(bsp-post-link)
|
||||
endef
|
||||
|
||||
define make-cxx-exe
|
||||
$(bsp-link-cxx)
|
||||
$(bsp-post-link)
|
||||
endef
|
||||
|
||||
# Miscellaneous additions go here
|
||||
|
||||
@@ -26,14 +26,28 @@ ifeq ($(MRM_IN_ROM),yes)
|
||||
# Build a rommable image - move the .data section after the .text section
|
||||
# in the image.
|
||||
CPU_CFLAGS += -qnolinkcmds -T $(exec_prefix)/mrm332/lib/linkcmds_ROM
|
||||
endif
|
||||
|
||||
# This is a good way to get debug information. The output file is large
|
||||
# though and greatly slows the build process so only do this if needed.
|
||||
# $(OBJDUMP) -dxC $(basename $@).nxe > $(basename $@).dump
|
||||
#
|
||||
# chrisj: This is questionable. Why not keep unstipped ELF files
|
||||
# about the use objdump and nm to get at the debug
|
||||
# information rather than subject everyone to this.
|
||||
#
|
||||
|
||||
define make-exe
|
||||
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).pxe \
|
||||
define bsp-link-c
|
||||
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@)$(EXEEXT) \
|
||||
$(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
define bsp-link-cxx
|
||||
$(LINK.cc) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@)$(EXEEXT) \
|
||||
$(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
|
||||
ifeq ($(MRM_IN_ROM),yes)
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) --adjust-section-vma \
|
||||
.data=`m68k-rtems-objdump --section-headers $(basename $@).pxe | \
|
||||
awk 'function h2d(x) { x=toupper(x); digits=length(x); s=0 ; \
|
||||
@@ -43,25 +57,33 @@ define make-exe
|
||||
return s } ;\
|
||||
/\.text/ { base = $$4 ; size = $$3 };\
|
||||
END { printf("0x%x", h2d(base) + h2d(size)) }'\
|
||||
` $(basename $@).pxe $(basename $@).nxe
|
||||
$(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).srec
|
||||
` $(basename $@).pxe $(basename $@)$(EXEEXT)
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
|
||||
sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
|
||||
$(PACKHEX) > $(basename $@).exe
|
||||
$(PACKHEX) > $(basename $@).nxe
|
||||
$(NM) -g -n $(basename $@).pxe > $(basename $@).pnum
|
||||
$(NM) -g -n $(basename $@).nxe > $(basename $@).num
|
||||
$(SIZE) $(basename $@).nxe
|
||||
$(SIZE) $(basename $@)$(EXEEXT)
|
||||
endef
|
||||
else
|
||||
define make-exe
|
||||
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).nxe \
|
||||
$(LINK_OBJS) $(LINK_LIBS)
|
||||
$(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).srec
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
|
||||
# m68k-rtems-objdump -dxC $(basename $@).nxe > $(basename $@).dump
|
||||
sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
|
||||
$(PACKHEX) > $(basename $@).exe
|
||||
$(NM) -g -n $(basename $@).nxe > $(basename $@).num
|
||||
$(SIZE) $(basename $@).nxe
|
||||
$(PACKHEX) > $(basename $@).nxe
|
||||
$(NM) -g -n $(basename $@)$(EXEEXT) > $(basename $@).num
|
||||
$(SIZE) $(basename $@)$(EXEEXT)
|
||||
endef
|
||||
endif
|
||||
|
||||
define make-exe
|
||||
$(bsp-link-c)
|
||||
$(bsp-post-link)
|
||||
endef
|
||||
|
||||
define make-cxx-exe
|
||||
$(bsp-link-cxx)
|
||||
$(bsp-post-link)
|
||||
endef
|
||||
|
||||
# Miscellaneous additions go here
|
||||
|
||||
@@ -45,15 +45,24 @@ HEADERADDR=0x00097E00
|
||||
# The following are definitions of make-exe which will work using ld as
|
||||
# is currently required.
|
||||
|
||||
define make-exe
|
||||
define bsp-link-c
|
||||
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -Wl,-Ttext,$(RELOCADDR) \
|
||||
-o $(basename $@).nxe \
|
||||
-o $(basename $@)$(EXEEXT) \
|
||||
$(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
|
||||
define bsp-link-cxx
|
||||
$(LINK.cc) $(AM_CFLAGS) $(AM_LDFLAGS) -Wl,-Ttext,$(RELOCADDR) \
|
||||
-o $(basename $@)$(EXEEXT) \
|
||||
$(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
|
||||
define bsp-post-link
|
||||
$(OBJCOPY) -O elf32-i386 \
|
||||
--remove-section=.rodata \
|
||||
--remove-section=.comment \
|
||||
--remove-section=.note \
|
||||
--strip-unneeded $(basename $@).nxe $@
|
||||
--strip-unneeded $(basename $@)$(EXEEXT) $(basename $@).nxe
|
||||
$(OBJCOPY) -O binary $(basename $@).nxe $(basename $@).bin
|
||||
$(PROJECT_TOOLS)/bin2boot -v $(basename $@).bt $(HEADERADDR)\
|
||||
$(START16FILE) $(START16ADDR) 0 $(basename $@).bin $(RELOCADDR) 0
|
||||
@@ -69,20 +78,15 @@ define make-exe
|
||||
# $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -Wl,-Ttext,$(RELOCADDR) \
|
||||
# -o $@ $(LINK_OBJS) $(LINK_LIBS)
|
||||
endef
|
||||
|
||||
define make-exe
|
||||
$(bsp-link-c)
|
||||
$(bsp-post-link)
|
||||
endef
|
||||
|
||||
define make-cxx-exe
|
||||
$(LINK.cc) $(AM_CFLAGS) $(AM_CXXFLAGS) $(AM_LDFLAGS) \
|
||||
-Wl,-Ttext,$(RELOCADDR) -o $(basename $@).nxe \
|
||||
$(LINK_OBJS) $(LINK_LIBS)
|
||||
$(OBJCOPY) -O elf32-i386 \
|
||||
--remove-section=.rodata \
|
||||
--remove-section=.comment \
|
||||
--remove-section=.note \
|
||||
--strip-unneeded $(basename $@).nxe $@
|
||||
$(OBJCOPY) -O binary $(basename $@).nxe $(basename $@).bin
|
||||
$(PROJECT_TOOLS)/bin2boot -v $(basename $@).bt $(HEADERADDR)\
|
||||
$(START16FILE) $(START16ADDR) 0 $(basename $@).bin $(RELOCADDR) 0
|
||||
$(NM) -g -n $(basename $@).nxe > $(basename $@).num
|
||||
$(SIZE) $(basename $@).nxe
|
||||
$(bsp-link-cxx)
|
||||
$(bsp-post-link)
|
||||
endef
|
||||
|
||||
# Miscellaneous additions go here
|
||||
|
||||
Reference in New Issue
Block a user