summaryrefslogtreecommitdiffstats
path: root/make/custom/gen68360.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'make/custom/gen68360.cfg')
-rw-r--r--make/custom/gen68360.cfg124
1 files changed, 124 insertions, 0 deletions
diff --git a/make/custom/gen68360.cfg b/make/custom/gen68360.cfg
new file mode 100644
index 0000000000..ec6be076a4
--- /dev/null
+++ b/make/custom/gen68360.cfg
@@ -0,0 +1,124 @@
+#
+# 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