summaryrefslogblamecommitdiffstats
path: root/make/custom/mrm332.cfg
blob: bc457699e6c37deb5d6b819ae661d8fa4c3acc8a (plain) (tree)




















                                                                          

































                                                                             
                                                         









                                                                    
                                                         








                                                           
#
#  Config file for the mrm332 BSP
#
#  $Id$
#

include $(RTEMS_ROOT)/make/custom/default.cfg

RTEMS_CPU=m68k
RTEMS_CPU_MODEL=mcpu32

# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=mrm332

#  This contains the compiler options necessary to select the CPU model
#  and (hopefully) optimize for it. 
CPU_CFLAGS = -mcpu32

# optimize flag: typically -0, could use -O4 or -fast, -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer

# The following are definitions of make-exe which will work using ld as
# is currently required.  It is expected that as of gcc 2.8, the end user
# will be able to override parts of the compilers specs and link using gcc.

ifeq ($(RTEMS_USE_GCC272),yes)
define make-exe
	$(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).nxe \
	    $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
	$(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
	$(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
	    $(PACKHEX) > $(basename $@).exe
	$(NM) -g -n $(basename $@).nxe > $(basename $@).num
	$(SIZE) $(basename $@).nxe
endef
else
ifeq ($(MRM_IN_ROM),yes)
# Build a rommable image - move the .data section after the .text section
# in the image.
CPU_CFLAGS += -qnolinkcmds -T $(PROJECT_ROOT)/mrm332/lib/linkcmds_ROM

define make-exe
	$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).pxe \
	    $(LINK_OBJS) $(LINK_LIBS)
	$(OBJCOPY) --adjust-section-vma \
	  .data=`m68k-rtems-objdump --section-headers $(basename $@).pxe | \
	  awk 'function h2d(x) { x=toupper(x); digits=length(x); s=0 ; \
	       for (p=digits; p>0; p--) \
	       s += (16^(p-1)) * ( index("0123456789ABCDEF",\
	        substr(x,1+digits-p,1)) -1 );\
	        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 $@).i
	sed -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
	    $(PACKHEX) > $(basename $@).exe
	$(NM) -g -n $(basename $@).pxe > $(basename $@).pnum
	$(NM) -g -n $(basename $@).nxe > $(basename $@).num
	$(SIZE) $(basename $@).nxe
endef
else
define make-exe
	$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).nxe \
	    $(LINK_OBJS) $(LINK_LIBS)
	$(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
	sed -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
	    $(PACKHEX) > $(basename $@).exe
	$(NM) -g -n $(basename $@).nxe > $(basename $@).num
	$(SIZE) $(basename $@).nxe
endef
endif
endif


# Miscellaneous additions go here