blob: 8327c170f0fe2fbe44e210247755a0292f6a9597 (
plain) (
tree)
|
|
#
# Config file for the Linux 1.x based RTEMS UNIX
#
# $Id$
#
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
# share the posix bsp
TARGET_ARCH=o-linux1
RTEMS_BSP=posix
include $(RTEMS_ROOT)/make/custom/default.cfg
## Target compiler config file, if any
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
# DO NOT Use the LIBC support for CYGNUS newlib
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
# 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
# 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
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
# 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:
|