summaryrefslogtreecommitdiffstats
path: root/make/custom/Linux-posix.cfg
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-14 22:13:05 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-04-14 22:13:05 +0000
commit2758c9f20bbd7360ed1e63fb0505abea46131ee4 (patch)
treefc0323617f78687f2abf9ff44413e63b1f8684c1 /make/custom/Linux-posix.cfg
parent1504f71edff36c933940acd77accb52515ec0be3 (diff)
downloadrtems-2758c9f20bbd7360ed1e63fb0505abea46131ee4.tar.bz2
Ralf Corsepius suggested a way to get rid of UNIX compiler files and use gcc-target-default.cfg
Diffstat (limited to 'make/custom/Linux-posix.cfg')
-rw-r--r--make/custom/Linux-posix.cfg117
1 files changed, 88 insertions, 29 deletions
diff --git a/make/custom/Linux-posix.cfg b/make/custom/Linux-posix.cfg
index c339d4e670..8327c170f0 100644
--- a/make/custom/Linux-posix.cfg
+++ b/make/custom/Linux-posix.cfg
@@ -4,12 +4,6 @@
# $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
@@ -18,45 +12,33 @@ 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
+# share the posix bsp
+TARGET_ARCH=o-linux1
+RTEMS_BSP=posix
-# 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
+include $(RTEMS_ROOT)/make/custom/default.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
+CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
# DO NOT Use the LIBC support for CYGNUS newlib
-# RTEMS_LIBC_DIR must already be set (by module file) DOES NOT MATTER
+RTEMS_USE_NEWLIB=no
+
+# RTEMS_LIBC_DIR must already be set (by configuration) 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++
+# No need to set it, gcc knows about them
+# LIBCC_INCLUDE=/usr/include/g++
CPLUS_LD_LIBS=-lstdc++
CPLUS_LD_LIBS += $(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA)
else
@@ -73,4 +55,81 @@ HAS_KA9Q=no
# This target does NOT support the POSIX API.
HAS_POSIX_API=no
+# optimize flag: typically -0, could use -O4 or -fast
+# -O4 is ok for RTEMS
+CFLAGS_OPTIMIZE_V = -O2
+
+# 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.
+#
+# RTEMS_UNIX (unix)
+# Define this to indicate this is an RTEMS UNIX port.
+
+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 RTEMS_UNIX 1 " >>$@
+endef
+
+ifeq ($(RTEMS_USE_GCC272),yes)
+define make-exe
+ $(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC)
+ $(NM) -ng $@ > $(basename $@).num
+ $(SIZE) $@
+endef
+else
+#
+# gcc28 not yet supported
+#
+endif
+
+
+# *****************************************************************
# Miscellaneous additions go here
+
+# Setting formerly contained in gcc-linux1.cfg
+
+# Not applicable - let's override 'em
+LINKCMDS=
+START_FILE=
+START_BASE=
+
+# 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
+#
+# '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
+
+# Workaround for missing ranlib support in RTEMS
+MKLIB=$(AR) s $(@) ; echo library is complete: