# # 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: