summaryrefslogtreecommitdiffstats
path: root/make/custom/mrm332.cfg
blob: 6dc9fc960b9797739d6659744cc08777828fa9c7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#
#  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 = -mcpu32

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

# The following are definitions of make-exe which will work using ld as
# is currently required.

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

#  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

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 $@).srec
	sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
	    $(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 $@).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
endef
endif

# Miscellaneous additions go here