Files
rtems/make/custom/ods68302.cfg
Joel Sherrill 97ad1a52e4 After investigating a problem reported by Franck Julien <FranckJ@cxr.fr>,
I discovered that when specifying -m68000 and -msoft-float to gcc 2.95.2,
it decides that the proper multilib variant is the default one which is
compiled for the m68020 and hardware floating point.  This appears to be
because there is no 68000/soft-float library variant.  This problem
applies to all m68000 class CPUs options including -m68302.
2000-04-16 17:14:36 +00:00

107 lines
2.8 KiB
INI

#
# Config file for a "ODS 68302" BSP
#
# Differs from the gen68302 by providing most of the boot code as C
# code. This allows separate board definitions to be based on C
# header files. The file is based on the VARIANT defined.
#
# $Id$
#
include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU=m68k
RTEMS_CPU_MODEL=m68302
# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=ods68302
#
# This contains the compiler options necessary to select the CPU model
# and (hopefully) optimize for it.
#
# 68000+softfloat results in gcc 2.95.2 giving default libraries.
# CPU_CFLAGS = -m68302 -msoft-float
CPU_CFLAGS = -m68302
CPU_DEFINES = \
-DVARIANT=$(BSP_VARIANT) -DMC68302_BASE=$(MC68302_BASE) \
-DRAM_BASE=$(RAM_BASE) -DRAM_SIZE=$(RAM_SIZE) \
-DROM_BASE=$(ROM_BASE) -DROM_SIZE=$(ROM_SIZE)
# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
# debugging please
CFLAGS_DEBUG_V =
# 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)
# override default location of Standard C Library
LIBC_LIBC=$(RTEMS_LIBC_DIR)/lib/m68000/libc.a
LIBC_LIBM=$(RTEMS_LIBC_DIR)/lib/m68000/libm.a
define make-exe
$(LD) $(LDFLAGS) -N -Ttext $(ROM_BASE) \
-defsym MC68302_BASE=$(MC68302_BASE) \
-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) $(AM_CFLAGS) $(AM_LDFLAGS) \
-Wl,-defsym -Wl,MC68302_BASE=$(MC68302_BASE) \
-o $@ \
$(LINK_OBJS) $(LINK_LIBS)
$(NM) -g -n $@ > $(basename $@).num
$(SIZE) $@
endef
endif
# Miscellaneous additions go here
ifeq "$(strip $(BSP_VARIANT))" ""
BSP_VARIANT=bare
MC68302_BASE=0x00700000
RAM_BASE=0x00000000
RAM_SIZE=0x00100000
ifeq ($(RTEMS_DEBUGGER),yes)
ROM_BASE=0x00010000
LINKCMDS=$(PROJECT_RELEASE)/lib/debugrom
else
ROM_BASE=0x00C00000
LINKCMDS=$(PROJECT_RELEASE)/lib/rom
endif
ROM_SIZE=0x00100000
else
# pattern match the variant to set the memory map
endif