blob: e94780b5a8067bd59e6cd0f25b3729165021d90d (
plain) (
tree)
|
|
#
# Config file for the mvme162 BSP
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU=m68k
ifeq ($(RTEMS_MVME162_MODEL),mvme162lx)
TARGET_ARCH=o-mvme162lx
RTEMS_CPU_MODEL=m68lc040
else
ifeq ($(RTEMS_MVME162_MODEL),)
RTEMS_MVME162_MODEL=mvme162
TARGET_ARCH=o-mvme162
RTEMS_CPU_MODEL=m68040
endif # mvme162 - mc68040
endif # mvme162lx - mc68lc040
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=mvme162
## Target compiler config file, if any
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
# We may install in a CPU model based directory but this is still
# a mvme162 based bsp.
RTEMS_BSP=mvme162
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
#
ifeq ($(RTEMS_CPU_MODEL),m68040)
CPU_CFLAGS = -m68040
else
ifeq ($(RTEMS_CPU_MODEL),m68lc040)
CPU_CFLAGS = -m68040 -msoft-float
endif # mc68040
endif # mc68lc040
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
# This target does NOT support the KA9Q TCP/IP stack so ignore requests
# to enable it.
HAS_KA9Q=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
#
# STACK_CHECKER_ON (RTEMS support code)
# If defined, stack bounds checking is enabled.
#
# STACK_CHECKER_REPORT_USAGE (RTEMS support code)
# If this and STACK_CHECKER_ON are defined, then a report on stack usage
# per task is printed when the program exits.
#
# RTEMS_DEBUG (RTEMS)
# If defined, debug checks in RTEMS and support library code are enabled.
define make-target-options
@echo "#undef $(RTEMS_MVME162_MODEL)" >>$@
@echo "#define $(RTEMS_MVME162_MODEL)" >>$@
@echo "/* #define NDEBUG 1 */ " >>$@
@echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
@echo "/* #define STACK_CHECKER_ON 1 */" >>$@
@echo "/* #define STACK_CHECKER_REPORT_USAGE 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)
ifeq ($(RTEMS_CPU_MODEL),m68lc040)
# override default location of Standard C Library
LIBC_LIBC=$(RTEMS_LIBC_DIR)/lib/msoft-float/libc.a
LIBC_LIBM=$(RTEMS_LIBC_DIR)/lib/msoft-float/libm.a
endif # mc68lc040
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 | \
$(PROJECT_TOOLS)/packhex > $(basename $@).exe
$(NM) -g -n $(basename $@).nxe > $(basename $@).num
$(SIZE) $(basename $@).nxe
endef
else
define make-exe
$(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS)
$(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
$(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
$(PROJECT_TOOLS)/packhex > $(basename $@).exe
$(NM) -g -n $(basename $@).nxe > $(basename $@).num
$(SIZE) $(basename $@).nxe
endef
endif
# Miscellaneous additions go here
|