Files
rtems/make/custom/erc32.cfg
Joel Sherrill 9608320702 Patch rtems-rc-19991117-4.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
.. a major configuration cleanup
    ... major enhancement of automake support.

    ... and it contains a *major*  breakthough:

    Automake support for libchip and libmisc *LEAF* directories.

    To implement this I have used several nasty tricks
        * The basical trick is to wrap an old Makefile.in's contents into a
          Makefile.am and still continue to use (i.e include) the old
          *.cfg files.

        * Replaced each INSTALL_IF_CHANGE and INSTALL_VARIANT with make
          dependencies
        * Add a gnu-make ifdef AUTOMAKE to main.cfg to avoid conflicts between
          automake and RTEMS make rules
        * Replaced each install:: and preinstall:: rule with make dependencies
        * Replaced SUB_DIRS with SUBDIRS in all Makefile.ins (Automake
          convention)
        * Removed each manually added autoconf substitution which automake
          performs automatically.

    This is not yet full automake support, because using the temporary
    installation directory, preinstallation in general and building variants
    are in contradiction to automake's basic working principles ...

    ... the new Makefile.ams work still somewhat clumsy
    ... nevertheless they work (quite well).

    WARNING:

    At first glance this patch is small, but
        * it affects the whole configuration system.
        * it opens the road to introducing automake to all Makefile.ins
          currently not being under automake control.

    JOEL> Does this remove or add any files?

    Both, all Makefile.ins below libchip and libmisc get replaced with
    Makefile.ams.
1999-11-22 13:41:11 +00:00

98 lines
3.4 KiB
INI

#
# Config file for the European Space Agency ERC32
# a V7 SPARC processor derived from the Cypress 601/602 set.
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU=sparc
RTEMS_CPU_MODEL=erc32
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=erc32
# The -mflat avoids the use of save/restore instructions. It has
# a negative impact on the performance of RTEMS and should not be used.
ifeq ($(RTEMS_USE_GCC272),yes)
# -mno-v8 says not to use v8 level instructions. i.e. use v7 only
CPU_CFLAGS = -mno-v8 -mcypress
else
# -mcpu=cypress says to optimize for a Cypress 60x chipset
CPU_CFLAGS = -mcpu=cypress
endif
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4
# This 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.
#
# CONSOLE_USE_POLLED (erc32_bsp)
# CONSOLE_USE_INTERRUPTS (erc32_bsp)
# The erc32 console driver can operate in either polled or interrupt mode.
# Under the simulator (especially when FAST_UART is defined), polled seems
# to operate better. It is common for a task to print a line (like the
# end of test message) and then exit. In this case, the program returns
# control to the simulator command line before the program has even queued
# the output to the uart. Thus sis has no chance of getting the data out.
#
# SIMSPARC_FAST_IDLE (erc32_bsp)
# If defined, speed up the clock ticks while the idle task is running so
# time spent in the idle task is minimized. This significantly reduces
# the wall time required to execute the RTEMS test suites.
#
# FPU_REVB (erc32_bsp)
# If defined, enables work-around for bug 3.14 in FPU rev.B or rev.C
#
define make-target-options
@echo "/* #define NDEBUG 1 */ " >>$@
@echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
@echo "/* #define RTEMS_DEBUG 1 */" >>$@
@echo "#define NO_TABLE_MOVE 1" >>$@
@echo "#define CONSOLE_USE_INTERRUPTS 0" >>$@
@echo "#define CONSOLE_USE_POLLED !CONSOLE_USE_INTERRUPTS" >>$@
@echo "/* #define SIMSPARC_FAST_IDLE 1 */" >>$@
@echo "#define FPU_REVB 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) -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
$(SIZE) $(basename $@).exe
endef
else
define make-exe
$(LINK.c) $(LDLIBS) -o $(basename $@).exe \
$(LINK_OBJS) $(LINK_LIBS)
$(NM) -g -n $(basename $@).exe > $(basename $@).num
$(SIZE) $(basename $@).exe
endef
endif
# Miscellaneous additions go here