summaryrefslogtreecommitdiffstats
path: root/c/make
diff options
context:
space:
mode:
Diffstat (limited to 'c/make')
-rw-r--r--c/make/Makefile.am17
-rw-r--r--c/make/configure.in59
-rw-r--r--c/make/target.cfg.in69
3 files changed, 145 insertions, 0 deletions
diff --git a/c/make/Makefile.am b/c/make/Makefile.am
new file mode 100644
index 0000000000..b1d7b6367f
--- /dev/null
+++ b/c/make/Makefile.am
@@ -0,0 +1,17 @@
+##
+## $Id$
+##
+
+AUTOMAKE_OPTIONS = foreign 1.4
+ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
+
+rtems_makedir=$(prefix)/make
+
+GENERIC_FILES = \
+target.cfg
+
+rtems_make_DATA = \
+$(GENERIC_FILES)
+
+include $(top_srcdir)/../../automake/subdirs.am
+include $(top_srcdir)/../../automake/local.am
diff --git a/c/make/configure.in b/c/make/configure.in
new file mode 100644
index 0000000000..9f1b3ec83c
--- /dev/null
+++ b/c/make/configure.in
@@ -0,0 +1,59 @@
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl $Id$
+
+dnl
+dnl This script configures the configuration files below c/make/
+dnl
+
+AC_PREREQ(2.13)
+AC_INIT(target.cfg.in)
+RTEMS_TOP(../..)
+AC_CONFIG_AUX_DIR(../..)
+
+RTEMS_CANONICAL_TARGET_CPU
+
+AM_INIT_AUTOMAKE(rtems-c-make,$RTEMS_VERSION,no)
+AM_MAINTAINER_MODE
+
+RTEMS_ENABLE_MULTIPROCESSING
+RTEMS_ENABLE_POSIX
+RTEMS_ENABLE_NETWORKING
+RTEMS_ENABLE_RDBG
+RTEMS_ENABLE_INLINES
+RTEMS_ENABLE_CXX
+RTEMS_ENABLE_GCC28
+RTEMS_ENABLE_LIBCDIR
+
+RTEMS_CHECK_CPU
+RTEMS_CANONICAL_HOST
+
+RTEMS_PROJECT_ROOT
+
+dnl check target cc
+RTEMS_PROG_CC_FOR_TARGET
+
+dnl check for g++
+if test "$RTEMS_HAS_CPLUSPLUS" = "yes"; then
+ RTEMS_PROG_CXX_FOR_TARGET
+fi
+
+RTEMS_CANONICALIZE_TOOLS
+
+AC_SUBST(rtems_cv_prog_cc_cross)
+AC_SUBST(RTEMS_HAS_POSIX)
+AC_SUBST(RTEMS_HOST)
+AC_SUBST(RTEMS_HAS_MULTIPROCESSING)
+AC_SUBST(RTEMS_HAS_POSIX_API)
+AC_SUBST(RTEMS_HAS_NETWORKING)
+AC_SUBST(RTEMS_HAS_RDBG)
+AC_SUBST(RTEMS_HAS_CPLUSPLUS)
+AC_SUBST(RTEMS_USE_MACROS)
+AC_SUBST(RTEMS_USE_GCC272)
+AC_SUBST(RTEMS_LIBC_DIR)
+AC_SUBST(RTEMS_CPU)
+
+AC_OUTPUT(
+Makefile
+target.cfg
+)
diff --git a/c/make/target.cfg.in b/c/make/target.cfg.in
new file mode 100644
index 0000000000..4fa72f6ed8
--- /dev/null
+++ b/c/make/target.cfg.in
@@ -0,0 +1,69 @@
+#
+# $Id$
+#
+# Target specific settings.
+#
+
+prefix = @prefix@
+
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+DEFS = @DEFS@
+LDFLAGS =
+LIBS = @LIBS@
+
+CC = @CC_FOR_TARGET@
+AS = @AS_FOR_TARGET@
+AR = @AR_FOR_TARGET@
+NM = @NM_FOR_TARGET@
+LD = @LD_FOR_TARGET@
+SIZE = @SIZE_FOR_TARGET@
+STRIP = @STRIP_FOR_TARGET@
+OBJCOPY = @OBJCOPY_FOR_TARGET@
+RANLIB = @RANLIB_FOR_TARGET@
+
+CXX = @CXX_FOR_TARGET@
+
+export CC
+export AS
+export LD
+export NM
+export AR
+export SIZE
+export OBJCOPY
+
+export CXX
+
+RTEMS_CROSS_TARGET=@rtems_cv_prog_cc_cross@
+
+RTEMS_HOST = @RTEMS_HOST@
+RTEMS_HAS_MULTIPROCESSING = @RTEMS_HAS_MULTIPROCESSING@
+RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
+RTEMS_HAS_ITRON_API = @RTEMS_HAS_ITRON_API@
+RTEMS_HAS_NETWORKING = @RTEMS_HAS_NETWORKING@
+RTEMS_HAS_RDBG = @RTEMS_HAS_RDBG@
+RTEMS_HAS_CPLUSPLUS = @RTEMS_HAS_CPLUSPLUS@
+RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
+RTEMS_USE_GCC272 = @RTEMS_USE_GCC272@
+RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
+RTEMS_CPU = @RTEMS_CPU@
+
+XCFLAGS=$(CFLAGS_FOR_TARGET)
+
+export RTEMS_BSP
+export RTEMS_CUSTOM
+export PROJECT_ROOT
+
+# List (possibly empty) of required managers
+# We require:
+# region -- used by lib/libcsupport for malloc()
+# ext -- used by libc for libc reentrancy hooks
+
+MANAGERS_REQUIRED=region ext sem
+
+# Create a RTEMS executable based on MANAGERS which was set in
+# app's Makefile
+
+MANAGERS_NOT_WANTED=$(filter-out $(MANAGERS) \
+ $(MANAGERS_REQUIRED), $(MANAGER_LIST))
+