From bffb93879940c71c58d2c66410e1bd5e5e4dc979 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 20 Jan 1998 19:30:30 +0000 Subject: Removed PROJECT_HOME and CONFIG_DIR variables. --- make/custom/HPUX9-posix.cfg | 62 ++++++++++++++++++ make/custom/Linux-posix.cfg | 76 ++++++++++++++++++++++ make/custom/Solaris-posix.cfg | 60 +++++++++++++++++ make/custom/cvme961.cfg | 87 +++++++++++++++++++++++++ make/custom/default.cfg | 73 +++++++++++++++++++++ make/custom/dmv152.cfg | 92 +++++++++++++++++++++++++++ make/custom/efi332.cfg | 86 +++++++++++++++++++++++++ make/custom/efi68k.cfg | 83 ++++++++++++++++++++++++ make/custom/erc32.cfg | 110 ++++++++++++++++++++++++++++++++ make/custom/force386.cfg | 88 +++++++++++++++++++++++++ make/custom/gen68302.cfg | 79 +++++++++++++++++++++++ make/custom/gen68360.cfg | 124 ++++++++++++++++++++++++++++++++++++ make/custom/gen68360_040.cfg | 15 +++++ make/custom/gensh1.cfg | 106 ++++++++++++++++++++++++++++++ make/custom/go32.cfg | 121 +++++++++++++++++++++++++++++++++++ make/custom/go32_p5.cfg | 15 +++++ make/custom/i386ex.cfg | 89 ++++++++++++++++++++++++++ make/custom/idp.cfg | 85 +++++++++++++++++++++++++ make/custom/mvme136.cfg | 86 +++++++++++++++++++++++++ make/custom/mvme147.cfg | 79 +++++++++++++++++++++++ make/custom/mvme147s.cfg | 19 ++++++ make/custom/mvme162.cfg | 122 +++++++++++++++++++++++++++++++++++ make/custom/mvme162lx.cfg | 17 +++++ make/custom/no_bsp.cfg | 62 ++++++++++++++++++ make/custom/ods68302.cfg | 129 +++++++++++++++++++++++++++++++++++++ make/custom/p4000.cfg | 85 +++++++++++++++++++++++++ make/custom/p4600.cfg | 105 ++++++++++++++++++++++++++++++ make/custom/p4650.cfg | 108 +++++++++++++++++++++++++++++++ make/custom/papyrus.cfg | 87 +++++++++++++++++++++++++ make/custom/pc386.cfg | 96 ++++++++++++++++++++++++++++ make/custom/portsw.cfg | 64 +++++++++++++++++++ make/custom/posix.cfg | 12 ++++ make/custom/simhppa.cfg | 145 ++++++++++++++++++++++++++++++++++++++++++ 33 files changed, 2667 insertions(+) create mode 100644 make/custom/HPUX9-posix.cfg create mode 100644 make/custom/Linux-posix.cfg create mode 100644 make/custom/Solaris-posix.cfg create mode 100644 make/custom/cvme961.cfg create mode 100644 make/custom/default.cfg create mode 100644 make/custom/dmv152.cfg create mode 100644 make/custom/efi332.cfg create mode 100644 make/custom/efi68k.cfg create mode 100644 make/custom/erc32.cfg create mode 100644 make/custom/force386.cfg create mode 100644 make/custom/gen68302.cfg create mode 100644 make/custom/gen68360.cfg create mode 100644 make/custom/gen68360_040.cfg create mode 100644 make/custom/gensh1.cfg create mode 100644 make/custom/go32.cfg create mode 100644 make/custom/go32_p5.cfg create mode 100644 make/custom/i386ex.cfg create mode 100644 make/custom/idp.cfg create mode 100644 make/custom/mvme136.cfg create mode 100644 make/custom/mvme147.cfg create mode 100644 make/custom/mvme147s.cfg create mode 100644 make/custom/mvme162.cfg create mode 100644 make/custom/mvme162lx.cfg create mode 100644 make/custom/no_bsp.cfg create mode 100644 make/custom/ods68302.cfg create mode 100644 make/custom/p4000.cfg create mode 100644 make/custom/p4600.cfg create mode 100644 make/custom/p4650.cfg create mode 100644 make/custom/papyrus.cfg create mode 100644 make/custom/pc386.cfg create mode 100644 make/custom/portsw.cfg create mode 100644 make/custom/posix.cfg create mode 100644 make/custom/simhppa.cfg (limited to 'make/custom') diff --git a/make/custom/HPUX9-posix.cfg b/make/custom/HPUX9-posix.cfg new file mode 100644 index 0000000000..9331e13185 --- /dev/null +++ b/make/custom/HPUX9-posix.cfg @@ -0,0 +1,62 @@ +# +# Config file for HPUX running the posix bsp +# +# $Id$ +# + +# Specify here the host and target "architectures" +HOST_ARCH=o-$(RTEMS_HOST) +TARGET_ARCH=o-$(RTEMS_BSP) + +include $(RTEMS_ROOT)/make/main.cfg + +RTEMS_CPU=unix +RTEMS_CPU_FAMILY=hppa1_1 +RTEMS_CPU_MODEL=hppa7200 +RTEMS_UNIX_FLAVOR=hpux + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=posix + +# use the macros instead of the inline functions +# The macros work better when mixed with other compilers. +INLINE=macros +INLINE_UPCASE=MACRO + +# HOST Compiler config file +# You may also want to specify where the compiler resides here. +CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST) +CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg + +## Target compiler config file, if any +CC_$(TARGET_ARCH)_DIR=$(CC_$(HOST_ARCH)_DIR) +CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-hpux9.cfg + +# Use the LIBC support for CYGNUS newlib +# RTEMS_LIBC_DIR must already be set (by module file) +RTEMS_USE_NEWLIB=yes + +# The following define the memory reserved in the executable for the +# RTEMS Workspace and the C Program Heap. +# NOTE: some of the timing tests need > 1M workspace +LIBC_DEFINES += -DWORKSPACE_MB=2 +LIBC_DEFINES += -DHEAPSPACE_MB=1 + +# Uncomment the following line if want stack checking should be enabled +#LIBC_DEFINES += -DSTACK_CHECKER_ON + +# Define this to yes if C++ is included in the development environment. +# This requires that at least the GNU C++ compiler and libg++ be installed. +HAS_CPLUSPLUS=yes + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# This target does NOT support the KA9Q TCP/IP stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# This target does NOT support the POSIX API. +HAS_POSIX_API=no + +# Miscellaneous additions go here diff --git a/make/custom/Linux-posix.cfg b/make/custom/Linux-posix.cfg new file mode 100644 index 0000000000..c339d4e670 --- /dev/null +++ b/make/custom/Linux-posix.cfg @@ -0,0 +1,76 @@ +# +# Config file for the Linux 1.x based RTEMS UNIX +# +# $Id$ +# + +# Specify here the host and target "architectures" +HOST_ARCH=o-$(RTEMS_HOST) +TARGET_ARCH=o-linux1 + +include $(RTEMS_ROOT)/make/main.cfg + +RTEMS_CPU=unix +RTEMS_CPU_FAMILY=i386 +RTEMS_CPU_MODEL=i486dx +RTEMS_UNIX_FLAVOR=linux + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=posix + +# use the inline functions instead of the macros +# ref: src/exec/generic/Makefile +# Need INLINE_UPCASE set to uppercase value of INLINE variable +# ref: make/compilers/gcc-force386.cfg +ifeq ($(RTEMS_USE_MACROS),yes) +INLINE=macros +INLINE_UPCASE= +else +INLINE=inline +INLINE_UPCASE=INLINE +endif + +# HOST Compiler config file +# You may also want to specify where the compiler resides here. +CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST) +CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg + +## Target compiler config file, if any +CC_$(TARGET_ARCH)_DIR=$(CC_$(HOST_ARCH)_DIR) +CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-linux1.cfg + +# DO NOT Use the LIBC support for CYGNUS newlib +# RTEMS_LIBC_DIR must already be set (by module file) DOES NOT MATTER +LIBC_DEFINES=-DRTEMS_UNIXLIB -DRTEMS_UNIX -DMALLOC_PROVIDED -DRTEMS_DEBUG +LIBC_INCLUDE=/usr/include +LIBC_LIBC=-lc +LIBC_LIBM=-lm +LIBC_EXTRA_LIBS= + +# The following define the memory reserved in the executable for the +# RTEMS Workspace and the C Program Heap. +LIBC_DEFINES += -DWORKSPACE_MB=2 +LIBC_DEFINES += -DHEAPSPACE_MB=1 + +# Define this to yes if C++ is included in the development environment +# This requires that at least the GNU C++ compiler and libg++ be installed. +ifeq ($(RTEMS_HAS_CPLUSPLUS),yes) +HAS_CPLUSPLUS=yes +LIBCC_INCLUDE=/usr/include/g++ +CPLUS_LD_LIBS=-lstdc++ +CPLUS_LD_LIBS += $(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA) +else +HAS_CPLUSPLUS=no +endif + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# This target does NOT support the KA9Q TCP/IP stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# This target does NOT support the POSIX API. +HAS_POSIX_API=no + +# Miscellaneous additions go here diff --git a/make/custom/Solaris-posix.cfg b/make/custom/Solaris-posix.cfg new file mode 100644 index 0000000000..af8d0c1cfe --- /dev/null +++ b/make/custom/Solaris-posix.cfg @@ -0,0 +1,60 @@ +# +# Config file for the Solaris based RTEMS UNIX +# +# $Id$ +# + +# Specify here the host and target "architectures" +HOST_ARCH=o-$(RTEMS_HOST) +TARGET_ARCH=o-$(RTEMS_BSP) + +include $(RTEMS_ROOT)/make/main.cfg + +RTEMS_CPU=unix +RTEMS_CPU_FAMILY=sparc +RTEMS_CPU_MODEL=sparc_v8 +RTEMS_UNIX_FLAVOR=solaris + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=posix + +# use the inline functions instead of the macros +# ref: src/exec/generic/Makefile +# Need INLINE_UPCASE set to uppercase value of INLINE variable +# ref: make/compilers/gcc-force386.cfg +ifeq (${RTEMS_USE_MACROS},yes) +INLINE=macros +INLINE_UPCASE= +else +INLINE=inline +INLINE_UPCASE=INLINE +endif + +# HOST Compiler config file +# You may also want to specify where the compiler resides here. +CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST) +CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg + +## Target compiler config file, if any +CC_$(TARGET_ARCH)_DIR=$(CC_$(HOST_ARCH)_DIR) +CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-solaris2.cfg + +# Use the LIBC support for CYGNUS newlib +# RTEMS_LIBC_DIR must already be set (by module file) +RTEMS_USE_NEWLIB=yes + +# Define this to yes if C++ is included in the development environment +# This requires that at least the GNU C++ compiler and libg++ be installed. +HAS_CPLUSPLUS=no + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# This target does NOT support the KA9Q TCP/IP stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# This target does NOT support the POSIX API. +HAS_POSIX_API=no + +# Miscellaneous additions go here diff --git a/make/custom/cvme961.cfg b/make/custom/cvme961.cfg new file mode 100644 index 0000000000..bcf2d1e38c --- /dev/null +++ b/make/custom/cvme961.cfg @@ -0,0 +1,87 @@ +# +# Config file for the Cyclone i960ca CVME961 BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=i960 +RTEMS_CPU_MODEL=i960ca + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=cvme961 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = -mca + +# -pipe does not work in our local configuration of FSF GCC 2.6.0 +# configured on top of Intel Release 2.4. We did this to replace +# the GCC 2.4.5 shipped with Intel Release 2.4. + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 -mleaf-procedures + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# 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 "/* #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) + +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 + $(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 + diff --git a/make/custom/default.cfg b/make/custom/default.cfg new file mode 100644 index 0000000000..f73241ceb9 --- /dev/null +++ b/make/custom/default.cfg @@ -0,0 +1,73 @@ +# Default target settings +# +# Some of these values are redefined in the target specific .cfg files. +# +# Created by Jiri Gaisler, 16-03-97 (who is owed a debt of gratitude +# for converting RTEMS to autoconf. Thanks. --joel) +# +# $Id$ +# + +include $(PROJECT_ROOT)/make/target.cfg +include $(PROJECT_ROOT)/make/host.cfg + +# Specify here the host and target "architectures" +HOST_ARCH=o-$(RTEMS_HOST) +TARGET_ARCH=o-$(RTEMS_BSP) + +include $(RTEMS_ROOT)/make/main.cfg + +# use the inline functions instead of the macros +# ref: src/exec/generic/Makefile +ifeq ($(RTEMS_USE_MACROS),yes) +INLINE=macros +INLINE_UPCASE= +else +INLINE=inline +INLINE_UPCASE=INLINE +endif + +# HOST Compiler config file +# You may also want to specify where the compiler resides here. +CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg + +## Target compiler config file, if any +CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg + +## GCC specs extension file location +RTEMS_BSP_SPECS = $(PROJECT_ROOT)/$(RTEMS_BSP)/lib/bsp_specs + +## LIBC support +## Specify the one you want here and fill in the blanks. +## Currently CYGNUS newlib is supported. +## NOTE: RTEMS libcsupport.a includes RTEMS versions of stuff like +## malloc, gettimeofday, etc. + +# Use the LIBC support for CYGNUS newlib +# RTEMS_LIBC_DIR must already be set (by module file) +RTEMS_USE_NEWLIB=yes + +# Define this to yes if C++ is included in the development environment. +# This requires that at least the GNU C++ compiler and libg++ be installed. +ifeq ($(RTEMS_HAS_CPLUSPLUS),yes) +HAS_CPLUSPLUS=yes +else +HAS_CPLUSPLUS=no +endif + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=no + +# Define this to yes if this target wants the KA9Q TCP/IP stack +ifeq ($(RTEMS_HAS_KA9Q),yes) +HAS_KA9Q=yes +endif + +# Define this to yes if this target wants the posix api +ifeq ($(RTEMS_HAS_POSIX_API),yes) +HAS_POSIX_API=yes +endif + +# Base name of start file +START_BASE=start + diff --git a/make/custom/dmv152.cfg b/make/custom/dmv152.cfg new file mode 100644 index 0000000000..fc4fce6979 --- /dev/null +++ b/make/custom/dmv152.cfg @@ -0,0 +1,92 @@ +# +# Config file for the dmv152 BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=m68k +RTEMS_CPU_MODEL=m68020 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=dmv152 + +# +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# + +CPU_CFLAGS = + +# 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 +# +# 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. +# +# USE_CHANNEL_A (DMV152) +# USE_CHANNEL_B (DMV152) +# One and only one of these should be set to 1 to indicate which +# serial port is used as the RTEMS console. + +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 USE_CHANNEL_A 1" >>$@ + @echo "#define USE_CHANNEL_B 0" >>$@ +endef + +# Here is the rule to actually build a $(ARCH)/foo.exe +# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm +# Usage ref: src/tests/sptest/sp1/Makefile + +# 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) $(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 diff --git a/make/custom/efi332.cfg b/make/custom/efi332.cfg new file mode 100644 index 0000000000..4df0ca48a8 --- /dev/null +++ b/make/custom/efi332.cfg @@ -0,0 +1,86 @@ +# +# Config file for the efi332 BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=m68k +RTEMS_CPU_MODEL=m68332 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=efi332 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +# XXX JRS - my gas does not grok -m68332 +#CPU_CFLAGS = -m68332 +CPU_CFLAGS = -m68020 + +# 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 + +# Override default start file +START_BASE=start332 + +# 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. + +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 */" >>$@ +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) $(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 diff --git a/make/custom/efi68k.cfg b/make/custom/efi68k.cfg new file mode 100644 index 0000000000..7ae0fc0485 --- /dev/null +++ b/make/custom/efi68k.cfg @@ -0,0 +1,83 @@ +# +# Config file for the efi68k BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=m68k +RTEMS_CPU_MODEL=m68000 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=efi68k + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = -m68000 -msoft-float + +# 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 + +# Override default start file +START_BASE=start68k + +# 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. + +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 */" >>$@ +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) $(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 diff --git a/make/custom/erc32.cfg b/make/custom/erc32.cfg new file mode 100644 index 0000000000..91adc1ad77 --- /dev/null +++ b/make/custom/erc32.cfg @@ -0,0 +1,110 @@ +# +# 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 target does NOT support the KA9Q TCP/IP stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# Override default start file +START_BASE=startsis + +# 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 +# +# 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. +# +# 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. +# + +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 NO_TABLE_MOVE 1" >>$@ + @echo "/* #define CONSOLE_USE_INTERRUPTS 1 */" >>$@ + @echo "#define CONSOLE_USE_POLLED 1" >>$@ + @echo "/* #define SIMSPARC_FAST_IDLE 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 + $(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 + + + diff --git a/make/custom/force386.cfg b/make/custom/force386.cfg new file mode 100644 index 0000000000..bb4b4ca489 --- /dev/null +++ b/make/custom/force386.cfg @@ -0,0 +1,88 @@ +# +# Config file for the force386 BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=i386 +RTEMS_CPU_MODEL=i386_fp + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=force386 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# 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 +# +# 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 "/* #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 + +# Here is the rule to actually build a $(ARCH)/foo.exe +# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm +# Usage ref: src/tests/sptest/sp1/Makefile + +# 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) $(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 + diff --git a/make/custom/gen68302.cfg b/make/custom/gen68302.cfg new file mode 100644 index 0000000000..8d420f183d --- /dev/null +++ b/make/custom/gen68302.cfg @@ -0,0 +1,79 @@ +# +# Config file for a "generic 68302" BSP +# +# $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=gen68302 + +# +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS=-m68302 -msoft-float + +# 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 +# +# 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 "/* #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) + +# 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 -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 + $(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 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 diff --git a/make/custom/gen68360_040.cfg b/make/custom/gen68360_040.cfg new file mode 100644 index 0000000000..66c120c803 --- /dev/null +++ b/make/custom/gen68360_040.cfg @@ -0,0 +1,15 @@ +# +# Configuration file for a 68040 using the 68360 in companion mode +# +# $Id$ +# + +# +# All gen68360 configurations share the same base file, only the cpu model +# differs. +# + +RTEMS_GEN68360_COMPANION_MODE=yes + +include $(RTEMS_ROOT)/make/custom/gen68360.cfg + diff --git a/make/custom/gensh1.cfg b/make/custom/gensh1.cfg new file mode 100644 index 0000000000..0a2ee9aef9 --- /dev/null +++ b/make/custom/gensh1.cfg @@ -0,0 +1,106 @@ +# +# gensh1.cfg +# +# default configuration for Hitachi sh1 processors +# +# 97/12/02 Ralf Corsepius (corsepiu@faw.uni-ulm.de) +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=sh +RTEMS_CPU_MODEL=sh7032 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=amos + +## GCC specs extension file location +RTEMS_BSP_SPECS = $(PROJECT_ROOT)/$(RTEMS_BSP)/lib/bsp_specs + +# +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS=-m1 + +# Use the LIBC support for CYGNUS newlib +# RTEMS_LIBC_DIR must already be set (by module file) +RTEMS_USE_NEWLIB=yes + +# Define this to yes if C++ is included in the development environment. +# This requires that at least the GNU C++ compiler and libg++ be installed. +# +# Need "main" in BSP so can't link C++ sample test or you will get +# duplicate symbol errors for main +# +# not yet supported +HAS_CPLUSPLUS=no + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=no + +# This target does NOT support the KA9Q TCP/IP stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 + + +# 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. +# + +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 */" >>$@ +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. +# -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_FILES) -lrtemsall -lc $(LD_PATHS:%=-L %) + +ifeq ($(RTEMS_USE_GCC272),yes) +define make-exe + echo "MAKEING EXE 272" + $(CC) $(LDFLAGS) -nostdlib -o $(basename $@).exe \ + -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_FILES) $(LD_PATHS:%=-L %) + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +else +define make-exe + echo "MAKEING EXE 28x" + $(CC) -v -Wl,-Map,$(basename $@).map $(CFLAGS) -o $(basename $@).exe $(LINK_OBJS) + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +endif + +# Miscellaneous additions go here + +# Workaround for missing ranlib +MKLIB=sh-coff-ranlib $@; echo library is complete + diff --git a/make/custom/go32.cfg b/make/custom/go32.cfg new file mode 100644 index 0000000000..d7c91db343 --- /dev/null +++ b/make/custom/go32.cfg @@ -0,0 +1,121 @@ +# +# Config file for the go32 BSP .. CPU model defaults to an i486DX +# unless set otherwise by a custom configuration file which overrides. +# +# $Id$ +# + +# default to i486dx as cpu +ifeq ($(RTEMS_GO32_CPU_MODEL),) +TARGET_ARCH=o-go32_i486dx +RTEMS_CPU_MODEL=i486dx +else +ifeq ($(RTEMS_GO32_CPU_MODEL),pentium) +TARGET_ARCH=o-go32_p5 +RTEMS_CPU_MODEL=pentium +endif # pentium +endif # i486dx + +include $(RTEMS_ROOT)/make/custom/default.cfg + +# Sharing a single bsp among multiple cpu models results in us having to +# explicitly set some values normally taken care of in the defaults.cfg +# file. + +RTEMS_CPU=i386 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=go32 + +## 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 go32 based bsp. +RTEMS_BSP=go32 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +# NOTE: As gcc grows to include more options, this section should also grow. +# +ifeq ($(RTEMS_CPU_MODEL),i486dx) +CPU_CFLAGS = -m486 +else +ifeq ($(RTEMS_CPU_MODEL),pentium) +CPU_CFLAGS = -m486 +else +CPU_CFLAGS = +endif # pentium +endif # i486dx + +# 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 + +# Base name of start file +# go32 does not use the rtems start file +START_BASE= + +# 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. + +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 */" >>$@ +endef + +# Ultimately, it would be nice to do this when in a cross environment: +# $(COFF2EXE) $(basename $@).out + +# 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. + +# may need to reference libpc.a + +ifeq ($(RTEMS_USE_GCC272),yes) +define make-exe + $(LD) $(LDFLAGS) -N -o $(basename $@).exe \ + $(shell $(CC) $(CPU_CFLAGS) -print-file-name=crt0.o) \ + $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group \ + $(shell $(CC) $(CPU_CFLAGS) -print-file-name=libcgo32.a) \ + $(shell $(CC) $(CPU_CFLAGS) -print-file-name=libpc.a) + $(NM) -g -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef + +else +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 diff --git a/make/custom/go32_p5.cfg b/make/custom/go32_p5.cfg new file mode 100644 index 0000000000..45668dfaa4 --- /dev/null +++ b/make/custom/go32_p5.cfg @@ -0,0 +1,15 @@ +# +# Configuration file for a Pentium using the go32 BSP +# +# $Id$ +# + +# +# All go32 configurations share the same base file, only the cpu model +# differs. +# + +RTEMS_GO32_CPU_MODEL=pentium + +include $(RTEMS_ROOT)/make/custom/go32.cfg + diff --git a/make/custom/i386ex.cfg b/make/custom/i386ex.cfg new file mode 100644 index 0000000000..de2fa90a29 --- /dev/null +++ b/make/custom/i386ex.cfg @@ -0,0 +1,89 @@ +# +# Config file for the force386 BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=i386 +RTEMS_CPU_MODEL=i386_nofp + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=i386ex + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = + +# 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 +# +# 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 "/* #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 + +# Something like this should produce a map file but this does not work. +# -Xlinker "-Map $(basename $@).map" $(LINK_OBJS) +# +# This is a good way to get debug information. The rdmp file is large +# though (1.9 Mb for hello) and greatly slows the build process. +# $(OBJDUMP) -x -m i386 -d $(basename $@).nxe > $(basename $@).rdmp + +# 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) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).nxe \ + -noinhibit-exec -Map $(basename $@).map \ + $(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 + diff --git a/make/custom/idp.cfg b/make/custom/idp.cfg new file mode 100644 index 0000000000..fc02e984be --- /dev/null +++ b/make/custom/idp.cfg @@ -0,0 +1,85 @@ +# +# Config file for the IDP BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=m68k +RTEMS_CPU_MODEL=m68ec040 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=idp + +# 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 +# +# 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 "/* #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 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = -msoft-float + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer + +# 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/msoft-float/libc.a +LIBC_LIBM=$(RTEMS_LIBC_DIR)/lib/msoft-float/libm.a + +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 diff --git a/make/custom/mvme136.cfg b/make/custom/mvme136.cfg new file mode 100644 index 0000000000..778d37cb28 --- /dev/null +++ b/make/custom/mvme136.cfg @@ -0,0 +1,86 @@ +# +# Config file for the mvme136 BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=m68k +RTEMS_CPU_MODEL=m68020 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=mvme136 + +# +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# 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 +# +# 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 "/* #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) +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 + + + diff --git a/make/custom/mvme147.cfg b/make/custom/mvme147.cfg new file mode 100644 index 0000000000..2e97606042 --- /dev/null +++ b/make/custom/mvme147.cfg @@ -0,0 +1,79 @@ +# +# Config file for the mvme147 BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=m68k +RTEMS_CPU_MODEL=m68030 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=mvme147 + +# default flags +CPU_CFLAGS= + +# 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 +# +# 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 "/* #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) +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 + + diff --git a/make/custom/mvme147s.cfg b/make/custom/mvme147s.cfg new file mode 100644 index 0000000000..95dfa70f29 --- /dev/null +++ b/make/custom/mvme147s.cfg @@ -0,0 +1,19 @@ +# +# Config file for the mvme147s BSP +# +# $Id$ +# + +# +# mvme147s and mvme147 use the same toolset +# + +include $(RTEMS_ROOT)/make/custom/mvme147.cfg + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=mvme147s + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# Miscellaneous additions go here diff --git a/make/custom/mvme162.cfg b/make/custom/mvme162.cfg new file mode 100644 index 0000000000..e94780b5a8 --- /dev/null +++ b/make/custom/mvme162.cfg @@ -0,0 +1,122 @@ +# +# 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 + + + diff --git a/make/custom/mvme162lx.cfg b/make/custom/mvme162lx.cfg new file mode 100644 index 0000000000..881df8202c --- /dev/null +++ b/make/custom/mvme162lx.cfg @@ -0,0 +1,17 @@ +# +# Configuration file for a MVME162LX +# +# This is an MVME162 model with ... +# +# $Id$ +# + +# +# All mvme162 configurations share the same base file, only the cpu model +# differs. +# + +RTEMS_MVME162_MODEL=mvme162lx + +include $(RTEMS_ROOT)/make/custom/mvme162.cfg + diff --git a/make/custom/no_bsp.cfg b/make/custom/no_bsp.cfg new file mode 100644 index 0000000000..dc252f0560 --- /dev/null +++ b/make/custom/no_bsp.cfg @@ -0,0 +1,62 @@ +# +# Configuration file for the "no_bsp" board +# +# $Id$ +# + +# Specify here the host and target "architectures" +HOST_ARCH=o-$(RTEMS_HOST) +TARGET_ARCH=o-$(RTEMS_BSP) + +RTEMS_CPU=no_cpu +RTEMS_CPU_MODEL=no_cpu_model + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=no_bsp + +# use the inline functions instead of the macros +# ref: src/exec/generic/Makefile +# Need INLINE_UPCASE set to uppercase value of INLINE variable +# ref: make/compilers/gcc-force386.cfg +ifeq ($(RTEMS_USE_MACROS),yes) +INLINE=macros +INLINE_UPCASE= +else +INLINE=inline +INLINE_UPCASE=INLINE +endif + +# HOST Compiler config file +# You may also want to specify where the compiler resides here. +CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST) +CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg + +## Target compiler config file, if any +CC_$(TARGET_ARCH)_DIR=$(RTEMS_GNUTOOLS) +CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-$(RTEMS_BSP).cfg + +# Use the LIBC support for CYGNUS newlib +# RTEMS_LIBC_DIR must already be set (by module file) +RTEMS_USE_NEWLIB=no + +# Define this to yes if C++ is included in the development environment. +# This requires that at least the GNU C++ compiler and libg++ be installed. +# +# Need "main" in BSP so can't link C++ sample test or you will get +# duplicate symbol errors for main +# +HAS_CPLUSPLUS=no + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# This target does NOT support the KA9Q TCP/IP stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# Define this to yes if this target wants the posix api +ifeq ($(RTEMS_HAS_POSIX_API),yes) +HAS_POSIX_API=yes +endif + +# Miscellaneous additions go here diff --git a/make/custom/ods68302.cfg b/make/custom/ods68302.cfg new file mode 100644 index 0000000000..6b97980bf2 --- /dev/null +++ b/make/custom/ods68302.cfg @@ -0,0 +1,129 @@ +# +# 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. +# +CPU_CFLAGS=-g -m68302 -msoft-float \ + -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+=-g + +# This target does not support the ka9q tcp/ip stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# Define this to yes if C++ is included in the development environment. +# This requires that at least the GNU C++ compiler and libg++ be installed. +ifeq ($(RTEMS_HAS_CPLUSPLUS),yes) +HAS_CPLUSPLUS=yes +# no standard C++ libs provided by default +#LIBCC_INCLUDE=/usr/include/g++ +#CPLUS_LD_LIBS=-lstdc++ -lrtems++ +CPLUS_LD_LIBS=$(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA) +else +HAS_CPLUSPLUS=no +endif + +START_BASE=start302 + +# 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. + +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" >>$@ +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 + $(CC) $(CFLAGS) $(CFLAGS_LD) \ + -Wl,-defsym -Wl,MC68302_BASE=$(MC68302_BASE) \ + -o $(basename $@).exe $(LINK_OBJS) + $(NM) -g -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +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 diff --git a/make/custom/p4000.cfg b/make/custom/p4000.cfg new file mode 100644 index 0000000000..f0745883d6 --- /dev/null +++ b/make/custom/p4000.cfg @@ -0,0 +1,85 @@ +# +# Config file for the algorithmics p4000 evaluation board +# +# $Id$ +# + +# Override default start file +START_BASE=idt_csu + +CPU_DEFINES+=-DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=p4000 + +# 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 +# +# 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. +# +# WORKSPACE_MB (p4000) +# Defines the size in Megabytes of the RTEMS Workspace. +# +# HEAPSPACE_MB (p4000) +# Defines the size in Megabytes of the C Program Heap. + +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 WORKSPACE_MB 2" >>$@ + @echo "#define HEAPSPACE_MB 1" >>$@ +endef + + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer + +# 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 + $(CC) $(LDFLAGS) -nostdlib -o $(basename $@).exe \ + -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_FILES) $(LD_PATHS:%=-L %) + $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 + $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec + $(RM) $(basename $@).srec1 + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +else +define make-exe + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 + $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec + $(RM) $(basename $@).srec1 + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +endif + +# Miscellaneous additions go here + diff --git a/make/custom/p4600.cfg b/make/custom/p4600.cfg new file mode 100644 index 0000000000..98174cd4ed --- /dev/null +++ b/make/custom/p4600.cfg @@ -0,0 +1,105 @@ +# +# Config file for the algorithmics p4000 evaluation board with R4600 cpu +# +# $Id$ +# + + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=mips64orion +RTEMS_CPU_MODEL=R4600 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=p4000 + +CPU_CFLAGS=-mcpu=4600 -G0 +CCMIPS_CFLAGS_CPU=-cpu=r4600 + +# Override default start file +START_BASE=idt_csu + +CPU_DEFINES+=-DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3 + +# The p4600 and p4600 share the p4000 bsp. +TARGET_ARCH=o-p4600 +RTEMS_BSP=p4000 + +## Target compiler config file, if any +CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg + +# 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 +# +# 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. +# +# WORKSPACE_MB (p4000) +# Defines the size in Megabytes of the RTEMS Workspace. +# +# HEAPSPACE_MB (p4000) +# Defines the size in Megabytes of the C Program Heap. + +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 WORKSPACE_MB 2" >>$@ + @echo "#define HEAPSPACE_MB 1" >>$@ +endef + + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer + +# 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) +# This rule was used in 3.6.0 +# $(CC) $(LDFLAGS) -nostdlib -o $(basename $@).exe \ +# -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_FILES) $(LD_PATHS:%=-L %) + +define make-exe + $(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).exe \ + $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 + $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec + $(RM) $(basename $@).srec1 + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +else +define make-exe + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 + $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec + $(RM) $(basename $@).srec1 + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +endif + +# Miscellaneous additions go here + diff --git a/make/custom/p4650.cfg b/make/custom/p4650.cfg new file mode 100644 index 0000000000..cc3877f5e2 --- /dev/null +++ b/make/custom/p4650.cfg @@ -0,0 +1,108 @@ +# +# Config file for the algorithmics p4000 evaluation board with R4650 cpu +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=mips64orion +RTEMS_CPU_MODEL=R4650 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=p4000 + +CPU_CFLAGS=-m4650 -G0 +CCMIPS_CFLAGS_CPU=-cpu=r4650 + +# Override default start file +START_BASE=idt_csu + +CPU_DEFINES+=-DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3 + +# The p4600 and p4600 share the p4000 bsp. +TARGET_ARCH=o-p4650 +RTEMS_BSP=p4000 + +## Target compiler config file, if any +CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg + +# 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 +# +# 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. +# +# WORKSPACE_MB (p4000) +# Defines the size in Megabytes of the RTEMS Workspace. +# +# HEAPSPACE_MB (p4000) +# Defines the size in Megabytes of the C Program Heap. + +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 WORKSPACE_MB 2" >>$@ + @echo "#define HEAPSPACE_MB 1" >>$@ +endef + + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer + +# 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) +# This rule was used in 3.6.0 +# $(CC) $(LDFLAGS) -nostdlib -o $(basename $@).exe \ +# -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_FILES) $(LD_PATHS:%=-L %) + +define make-exe + $(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).exe \ + $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 + $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec + $(RM) $(basename $@).srec1 + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +else +define make-exe + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 + $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec + $(RM) $(basename $@).srec1 + $(NM) -n $(basename $@).exe > $(basename $@).num + $(SIZE) $(basename $@).exe +endef +endif + +# Miscellaneous additions go here + + + + + diff --git a/make/custom/papyrus.cfg b/make/custom/papyrus.cfg new file mode 100644 index 0000000000..8607f9ae44 --- /dev/null +++ b/make/custom/papyrus.cfg @@ -0,0 +1,87 @@ +# +# Config file for a PowerPC 403 based papyrus card +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=ppc +RTEMS_CPU_MODEL=ppc403 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=papyrus + +CPU_DEFINES=-DPPC_ABI=PPC_ABI_POWEROPEN \ + -DPPC_ASM=PPC_ASM_ELF -DPPC_VECTOR_FILE_BASE=0x0100 + +# 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 +# +# 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 "/* #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 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = -mcpu=403 + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +# NOTE: some level of -O may be actually required by inline assembler +CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions + +# No start file +START_BASE= + +# 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) +# The --defsym arguments define arguments which are required by the linkcmds +# file which is designed for gcc 2.8 +define make-exe + $(LD) $(XLDFLAGS) -T $(LINKCMDS) \ + --defsym __fini=0 --defsym __init=0 \ + -o $@ -u atexit -u __vectors -u download_entry \ + $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(NM) -g -n $@ > $(basename $@).num + $(SIZE) $@ +endef +else +define make-exe + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(NM) -g -n $@ > $(basename $@).num + $(SIZE) $@ +endef +endif + +# Miscellaneous additions go here + + diff --git a/make/custom/pc386.cfg b/make/custom/pc386.cfg new file mode 100644 index 0000000000..d014dbc866 --- /dev/null +++ b/make/custom/pc386.cfg @@ -0,0 +1,96 @@ +# +# Config file for the PC 386 BSP +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=i386 +RTEMS_CPU_MODEL=i386_fp + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=pc386 + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +CPU_CFLAGS = + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=no + +# 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 +# +# 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 "/* #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 + +# Here is the rule to actually build a $(ARCH)/foo.exe +# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm +# Usage ref: src/tests/sptest/sp1/Makefile + +#+--------------------------------------------------------------------------+ +#| Relocation address. Set this to the linear address where you want your code +#| to start. It should abide to the following constraints: +#| RELOCADDR >= 0x10200 +#| RELOCADDR + 'image file size' < 0xA0000 +#| RELOCADDR % 4 = 0 (i.e. aligned on a 4 byte boundary) +#+--------------------------------------------------------------------------+ +RELOCADDR=0x00020200 + +# 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) -N -T $(LINKCMDS) -Ttext $(RELOCADDR) -e start -nostdlib \ + -o $(basename $@).elf \ + $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(OBJCOPY) -O binary --set-start $(RELOCADDR) $(basename $@).elf $@ + $(PROJECT_TOOLS)/bin2boot -v $@ $(basename $@).bin -s $(RELOCADDR) + $(NM) -g -n $(basename $@).elf > $(basename $@).num + $(SIZE) $(basename $@).elf +endef +else +define make-exe + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).elf $(LINK_OBJS) + $(OBJCOPY) -O binary --set-start $(RELOCADDR) $(basename $@).elf $@ + $(PROJECT_TOOLS)/bin2boot -v $@ $(basename $@).bin -s $(RELOCADDR) + $(NM) -g -n $(basename $@).elf > $(basename $@).num + $(SIZE) $(basename $@).elf +endef +endif + +# Miscellaneous additions go here + diff --git a/make/custom/portsw.cfg b/make/custom/portsw.cfg new file mode 100644 index 0000000000..18c69f0479 --- /dev/null +++ b/make/custom/portsw.cfg @@ -0,0 +1,64 @@ +# +# Custom file for "portsw" -- AMD 29205 based board +# +# $Id$ +# + +# Specify here the host and target "architectures" +HOST_ARCH=o-$(RTEMS_HOST) +TARGET_ARCH=o-$(RTEMS_BSP) + +RTEMS_CPU=a29k +RTEMS_CPU_MODEL=a29205 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=portsw + +# use the inline functions instead of the macros +# ref: src/exec/generic/Makefile +# Need INLINE_UPCASE set to uppercase value of INLINE variable +# ref: make/compilers/gcc-force386.cfg +INLINE=macros +INLINE_UPCASE= + +# The makefiles all use PROJECT_xxx for variables. +# Ie: $(PROJECT_RELEASE) is the install point. +# Externally, we think of these as "RTEMS" variables. +# Here is where we convert from RTEMS forms to PROJECT forms +# See also make/main.cfg, which derives some more. +PROJECT_ROOT=$(RTEMS_ROOT)/c + +# HOST Compiler config file +# You may also want to specify where the compiler resides here. +CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST) +CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg + +## Target compiler config file, if any +CC_$(TARGET_ARCH)_DIR=$(RTEMS_GNUTOOLS) +CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-$(RTEMS_BSP).cfg + +# Use the LIBC support for CYGNUS newlib +# RTEMS_LIBC_DIR must already be set (by module file) +RTEMS_USE_NEWLIB=yes + +# Define this to yes if C++ is included in the development environment. +# This requires that at least the GNU C++ compiler and libg++ be installed. +# +# Need "main" in BSP so can't link C++ sample test or you will get +# duplicate symbol errors for main +# +HAS_CPLUSPLUS=no + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=no + +# This target does NOT support the KA9Q TCP/IP stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# Define this to yes if this target wants the posix api +ifeq ($(RTEMS_HAS_POSIX_API),yes) +HAS_POSIX_API=yes +endif + +# Miscellaneous additions go here diff --git a/make/custom/posix.cfg b/make/custom/posix.cfg new file mode 100644 index 0000000000..05f6a56cdd --- /dev/null +++ b/make/custom/posix.cfg @@ -0,0 +1,12 @@ +# +# Config file for the posix based RTEMS +# +# $Id$ +# + +include $(PROJECT_ROOT)/make/target.cfg +include $(PROJECT_ROOT)/make/host.cfg + +include $(RTEMS_ROOT)/make/custom/$(RTEMS_HOST)-posix.cfg + + diff --git a/make/custom/simhppa.cfg b/make/custom/simhppa.cfg new file mode 100644 index 0000000000..0976b4d3f6 --- /dev/null +++ b/make/custom/simhppa.cfg @@ -0,0 +1,145 @@ +# +# Config file for the 7100 pa-risc simulator +# +# $Id$ +# + +include $(RTEMS_ROOT)/make/custom/default.cfg + +RTEMS_CPU=hppa1_1 +RTEMS_CPU_MODEL=hppa7200 + +# This is the actual bsp directory used during the build process. +RTEMS_BSP_FAMILY=simhppa + +# This contains the compiler options necessary to select the CPU model +# and (hopefully) optimize for it. +# +# Possibles: +# -mpa-risc-1-1 -- HPPA 1.1 instead of 1.0 +# -mportable-runtime +# +CPU_CFLAGS = -mpa-risc-1-1 -mportable-runtime + +# Possibles: +# -Wall -- lots of warnings +# -pipe -- compiler uses pipes to talk to phases (usually faster) +# -ansi -- ANSI C compliance +# -fasm -- ANSI, but allow inline assembler +# -mgas -- we are using gas as assembler +# -fno-keep-inline-functions -- do not emit any inlines as static +CFLAGS_DEFAULT = $(CPU_CFLAGS) -Wall -ansi -fasm -mgas + +# optimize flag: typically -0, could use -O4 or -fast +# -O4 is ok for RTEMS +# NOTE: some level of -O may be actually required by inline assembler +CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions + +# Define this to yes if this target supports multiprocessor environments. +HAS_MP=yes + +# This target does NOT support the KA9Q TCP/IP stack so ignore requests +# to enable it. +HAS_KA9Q=no + +# 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 +# +# 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. +# +# SIMHPPA_FAST_IDLE (simhppa) +# 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. +# + +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 SIMHPPA_FAST_IDLE 1 " >>$@ +endef + +# +# GNU ld options +# `-Tbss ORG' +# `-Tdata ORG' +# `-Ttext ORG' +# Use ORG as the starting address for--respectively--the `bss', +# `data', or the `text' segment of the output file. ORG must be a +# single hexadecimal integer; for compatibility with other linkers, +# you may omit the leading `0x' usually associated with hexadecimal +# values. + +# 'NODE' is set to 1 or 2 for multi cpu tests (ref: mptests/mp01/node1/Makefile) +# If NODE is set as an environment variable, don't trust it, zero it out. +# (NODE turns out to be a very common environment variable) +ifeq (,$(NODE)) +NODE=0 +else +ifeq "$(origin NODE)" "environment" +NODE=0 +endif +endif + +# XXX some/all of this should move into 'linkcmds' +# single processor +DATA_0_BASE=0x40001000 +TEXT_0_BASE=0x00001000 + +# first node (mptests number them from 1) +DATA_1_BASE=$(DATA_0_BASE) +TEXT_1_BASE=$(TEXT_0_BASE) + +# second node (mptests number them from 1) +DATA_2_BASE=0x48001000 +TEXT_2_BASE=0x08001000 + +# for hpux ld +#LD_LOC_OPTIONS=-D $(DATA_$(NODE)_BASE) -R $(TEXT_$(NODE)_BASE) +# for gnu ld +LD_LOC_OPTIONS=-Tdata $(DATA_$(NODE)_BASE) -Ttext $(TEXT_$(NODE)_BASE) +GCC_LD_LOC_OPTIONS=-W,l-T -W,ldata -W,l$(DATA_$(NODE)_BASE) \ + -W,l-T -W,ltext -W,l$(TEXT_$(NODE)_BASE) + + +# 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 + $(LDARGS) $(LD) $(LD_LOC_OPTIONS) $(XLDFLAGS) -a archive \ + -o $@ -u atexit \ + $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(NM) -g -n $@ > $(basename $@).num + $(SIZE) $@ +endef +else +define make-exe + $(CC) $(CFLAGS) $(CFLAGS_LD) $(GCC_LD_LOC_OPTIONS) \ + -o $(basename $@).exe $(LINK_OBJS) + $(NM) -g -n $@ > $(basename $@).num + $(SIZE) $@ +endef +endif + +define make-rel + $(LDARGS) $(LD) $(LDFLAGS_INCOMPLETE) $(XLDFLAGS) -o $@ $(OBJS) +endef -- cgit v1.2.3