summaryrefslogblamecommitdiffstats
path: root/make/custom/mrm332.cfg
blob: d767955ce97b00f6a70787074f760531f35f1b18 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                             
                      





                                                                       
                        
 
                              
                                               
 


                                                                         
                                                                    
     
 

                        








                                                                            

                                                                 
                                                            
                                                 
                                                            

                                                     

     
                    
                                                                 
                                                            


                                                 

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

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

RTEMS_CPU=m68k
RTEMS_CPU_MODEL=m68332

# 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 = -mcpu=cpu32

# optimize flag: typically -O2
CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer

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

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 ; \
	       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 $@).exe
	$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec
	sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
	    $(PACKHEX) > $(basename $@)$(DOWNEXT)
	$(NM) -g -n $(basename $@).pxe > $(basename $@).pnum
	rm -f $(basename $@).srec $(basename $@).srec
	$(default-bsp-post-link)
endef
else
define bsp-post-link
	$(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec
	sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
	    $(PACKHEX) > $(basename $@)$(DOWNEXT)
	rm -f $(basename $@).srec
	$(default-bsp-post-link)
endef
endif