Files
pcas/configure/os/CONFIG.Common.RTEMS
2001-01-30 16:00:51 +00:00

106 lines
3.3 KiB
Plaintext

#
# This file contains definitions for RTEMS builds
#
# $Id$
# Author: W. Eric Norum
# Canadian Light Source
# eric@cls.usask.ca
#
#
# RTEMS tools are similar to UNIX tools
#
-include $(CONFIG)/os/CONFIG.Common.UnixCommon
# Include common gnu compiler definitions
-include $(CONFIG)/CONFIG.gnuCommon
###############################################################################
# #
# RTEMS-specific overrides of common UNIX definitions #
# #
###############################################################################
#
# Build types
#
VALID_BUILDS = Ioc
#
# Pick up the RTEMS tool/path definitions from the RTEMS BSP directory.
#
ifneq "$(T_A)" ""
RTEMS_BASE=/usr/local/RTEMS
include $(RTEMS_BASE)/$(RTEMS_TARGET_CPU)-rtems/$(subst RTEMS-,,$(T_A))/Makefile.inc
include $(RTEMS_CUSTOM)
include $(CONFIG.CC)
endif
#
# Override RTEMS optimization flags
#
CFLAGS_OPTIMIZE =
#
# The RTEMS Makefiles redefine several macros, so we have to go
# through the following contortions to get the EPICS flags back.
#
CFLAGS = $(CONFORM_CFLAGS) $(CROSS_CFLAGS) $(OPT_CFLAGS) $(DEBUG_CFLAGS)\
$(WARN_CFLAGS) $(TARGET_CFLAGS) $(USR_CFLAGS) $(ARCH_DEP_CFLAGS)\
$(CODE_CFLAGS) $(STATIC_CFLAGS) $(OP_SYS_CFLAGS)
CXXFLAGS = $(CONFORM_CXXFLAGS) $(CROSS_CXXFLAGS) $(OPT_CXXFLAGS)\
$(DEBUG_CXXFLAGS) $(WARN_CXXFLAGS) $(TARGET_CXXFLAGS) $(USR_CXXFLAGS)\
$(ARCH_DEP_CXXFLAGS) $(CODE_CXXFLAGS) $(STATIC_CXXCFLAGS) $(OP_SYS_CXXFLAGS)\
$(TEMPL_INST_CXXFLAG) $(CROSS_CXXFLAGS)
LDFLAGS = $(OPT_LDFLAGS) $(TARGET_LDFLAGS) $(USR_LDFLAGS) $(DEPLIB_LDFLAGS)\
$(ARCH_DEP_LDFLAGS) $(STATIC_LDFLAGS) $(OP_SYS_LDFLAGS) $(CROSS_LDFLAGS)
LDLIBS = $(TARGET_LDLIBS) $(USR_LDLIBS) $(DEPLIB_LDLIBS) $(STATIC_LDLIBS)\
$(POSIX_LDLIBS) $(ARCH_DEP_LDLIBS) $(OP_SYS_LDLIBS)
CPPFLAGS += $(CROSS_CPPFLAGS) $(POSIX_CPPFLAGS) $(EPICS_BASE_CPPFLAGS)\
$(TARGET_CPPFLAGS) $(USR_CPPFLAGS) $(ARCH_DEP_CPPFLAGS)\
$(OP_SYS_CPPFLAGS) $(CODE_CPPFLAGS)
#--------------------------------------------------
# operating system class (include/os/<os_class>)
OS_CLASS = RTEMS
#--------------------------------------------------
# Operating system flags
OP_SYS_CPPFLAGS = -Dfopen=rtems_fopen -Dmain=rtems_main
OP_SYS_LDLIBS = -lreadline -lcurses
OP_SYS_LDFLAGS = $(CPU_CFLAGS) -u Init -lCom \
$(PROJECT_RELEASE)/lib/no-dpmem.rel \
$(PROJECT_RELEASE)/lib/no-mp.rel \
$(PROJECT_RELEASE)/lib/no-part.rel \
$(PROJECT_RELEASE)/lib/no-signal.rel \
$(PROJECT_RELEASE)/lib/no-rtmon.rel
#--------------------------------------------------
# c++ exceptions, YES or NO
CXX_EXCEPTIONS = YES
#--------------------------------------------------
# osithead use default stack, YES or NO
OSITHREAD_USE_DEFAULT_STACK = NO
#--------------------------------------------------
# RTEMS has neither shared libraries nor dynamic loading
STATIC_BUILD=YES
SHARED_LIBRARIES=NO
CODE_CPPFLAGS =
#--------------------------------------------------
# RTEMS wants nothing to do with POSIX
POSIX_CPPFLAGS =
POSIX_LDLIBS =
#--------------------------------------------------
# RTEMS is not that strict
CONFORM_CFLAGS_STRICT =
CONFORM_CXXFLAGS_STRICT =