summaryrefslogblamecommitdiffstats
path: root/make/custom/rxgen960.cfg
blob: 66bdbea144e082a25dd1e137a0d63cafdb82a656 (plain) (tree)

























































































                                                                                                                   
#
#  Config file for the generix RAMiX boards with i960
#
#  $Id$
#

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

RTEMS_CPU=i960
RTEMS_CPU_MODEL=i960rp

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

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

# -pipe does not work in our local configuration of FSF GCC 2.6.0
# configured on top of Intel Release 2.4.  We did this to replace
# the GCC 2.4.5 shipped with Intel Release 2.4.


# we don't suuport libc dir* functions right now.
RTEMS_USE_NEWLIB=yes

# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -mleaf-procedures

# Define this to yes if this target supports multiprocessor environments.
HAS_MP=yes

# This target does NOT support the TCP/IP stack so ignore requests
# to enable it.
HAS_NETWORKING=no

#  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
#
#  NO_TABLE_MOVE (SPARC PORT)
#     do not have a second trap table -- use the BSP's
#
#  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)
# ar x $(PROJECT_ROOT)/$(RTEMS_BSP_FAMILY)/lib/libbsp.a

# LD_LIBS += $(PROJECT_RELEASE)/lib/libbsp.a

define make-exe
	cp $(PROJECT_ROOT)/c/src/lib/libbsp/i960/rxgen960/startup/o-rxgen960/*.o .
        $(LD) -u _sbrk $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).exe \
             $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
        $(NM) -g -n $(basename $@).exe > $(basename $@).num
        $(LD) -u _sbrk $(LDFLAGS) -oformat binary -Map $(basename $@).map -N -T $(LINKCMDS) -o $(basename $@).bin \
             $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
        $(SIZE) $(basename $@).exe
        rm -f *.o
endef

# else
# define make-exe
#	$(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \
#	    $(LINK_OBJS) $(LINK_LIBS)
#	$(NM) -g -n $(basename $@).exe > $(basename $@).num
#	$(SIZE) $(basename $@).exe
# endef
# endif

# Miscellaneous additions go here