blob: ec6be076a4a22e6ccc61dd96a8b513e2351c7735 (
plain) (
tree)
|
|
#
# Config file for a "generic 68360" BSP
#
# $Id$
#
RTEMS_CPU=m68k
ifeq ($(RTEMS_GEN68360_COMPANION_MODE),yes)
TARGET_ARCH=o-gen68360_040
RTEMS_CPU_MODEL=m68040
else
TARGET_ARCH=o-gen68360
RTEMS_CPU_MODEL=m68360
endif
include $(RTEMS_ROOT)/make/custom/default.cfg
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=gen68360
## 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 gen68360 based bsp.
RTEMS_BSP=gen68360
#
# mc68360 notes:
# If your version of gcc supports the -mcpu32 option use the top
# version, otherwise use the bottom set of flags to accomplish the
# same thing.
#
# NOTE: Before binutils 2.6, the -mcpu32 flag was not available
# if your gas does understand this, then use the alternative.
ifeq ($(RTEMS_GEN68360_COMPANION_MODE),yes)
CPU_CFLAGS= -m68040
else
#CPU_CFLAGS = -mcpu32 -msoft-float
CPU_CFLAGS = -m68020 -mnobitfield -msoft-float
# When using the -m68020 cpu flag, we need to explicitly define these
CPU_DEFINES=-Dmcpu32 -D__mcpu32__ $(DEFINES)
endif
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
# Override default start file
START_BASE=start360
# 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
#
# 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.
#
# M360_SMC1_INTERRUPT (gen68360 BSP)
# If defined, then the console driver operates in interrupt mode.
# Otherwise it operates in polled mode.
#
define make-target-options
@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 */" >>$@
@echo "#define M360_SMC1_INTERRUPT 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)
# override default location of Standard C Library
LIBC_LIBC=$(RTEMS_LIBC_DIR)/lib/m68000/msoft-float/libc.a
LIBC_LIBM=$(RTEMS_LIBC_DIR)/lib/m68000/msoft-float/libm.a
ifeq ($(RTEMS_GEN68360_COMPANION_MODE),yes)
RTEMS_GEN68360_EXTRA_LDFLAGS=--defsym RamSize=0x100000
else
RTEMS_GEN68360_EXTRA_LDFLAGS=
endif
define make-exe
$(LD) $(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
ifeq ($(RTEMS_GEN68360_COMPANION_MODE),yes)
CFLAGS_LD=-Wl,--defsym -Wl,RamSize=0x100000
else
CFLAGS_LD=
endif
define make-exe
$(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS)
$(NM) -g -n $(basename $@).exe > $(basename $@).num
$(SIZE) $(basename $@).exe
endef
endif
# Miscellaneous additions go here
|