diff options
Diffstat (limited to 'make/custom')
-rw-r--r-- | make/custom/mrm332.cfg | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/make/custom/mrm332.cfg b/make/custom/mrm332.cfg new file mode 100644 index 0000000000..c7938a16c3 --- /dev/null +++ b/make/custom/mrm332.cfg @@ -0,0 +1,93 @@ +# +# 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 + +# This section makes the target dependent options file. +# NDEBUG (C library) +# if defined asserts do not generate code. This is commonly used +# as a command line option. +# +# RTEMS_TEST_NO_PAUSE (RTEMS tests) +# do not pause between screens of output in the rtems tests +# +# RTEMS_DEBUG (RTEMS) +# If defined, debug checks in RTEMS and support library code are enabled. + +define make-target-options + @echo "/* #define NDEBUG 1 */ " >>$@ + @echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@ + @echo "/* #define RTEMS_DEBUG 1 */" >>$@ +endef + +# 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 |