summaryrefslogtreecommitdiffstats
path: root/c/src/make/compilers
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--c/src/make/compilers/Makefile.am21
-rw-r--r--c/src/make/compilers/Makefile.in293
-rw-r--r--c/src/make/compilers/gcc.cfg.in203
3 files changed, 517 insertions, 0 deletions
diff --git a/c/src/make/compilers/Makefile.am b/c/src/make/compilers/Makefile.am
new file mode 100644
index 0000000000..91e6c934bb
--- /dev/null
+++ b/c/src/make/compilers/Makefile.am
@@ -0,0 +1,21 @@
+#
+# $Id$
+#
+
+AUTOMAKE_OPTIONS = foreign 1.4
+
+rtems_makedir=$(prefix)/make
+rtems_make_compilersdir=$(rtems_makedir)/compilers
+
+# At the moment all actively supported configurations
+# use gcc-target-default.cfg only.
+rtems_make_compilers_DATA= \
+gcc.cfg \
+gcc-target-default.cfg
+
+if MAINTAINER_MODE
+$(srcdir)/gcc.cfg.in: $(top_srcdir)/@RTEMS_TOPdir@/make/compilers/gcc.cfg.in
+ cp $< $@
+endif
+
+include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/make/compilers/Makefile.in b/c/src/make/compilers/Makefile.in
new file mode 100644
index 0000000000..e802f333c9
--- /dev/null
+++ b/c/src/make/compilers/Makefile.in
@@ -0,0 +1,293 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+#
+# $Id$
+#
+
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+BARE_CPU_CFLAGS = @BARE_CPU_CFLAGS@
+BARE_CPU_MODEL = @BARE_CPU_MODEL@
+CAT = @CAT@
+CC = @CC@
+CC_CFLAGS_DEBUG_V = @CC_CFLAGS_DEBUG_V@
+CC_CFLAGS_DEFAULT = @CC_CFLAGS_DEFAULT@
+CC_CFLAGS_PROFILE_V = @CC_CFLAGS_PROFILE_V@
+CC_FOR_TARGET = @CC_FOR_TARGET@
+CC_LDFLAGS_PROFILE_V = @CC_LDFLAGS_PROFILE_V@
+CHMOD = @CHMOD@
+CMP = @CMP@
+CP = @CP@
+CPP = @CPP@
+CUSTOM_CFG_FILES = @CUSTOM_CFG_FILES@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXX_FOR_TARGET = @CXX_FOR_TARGET@
+GCCSED = @GCCSED@
+INSTALL_CHANGE = @INSTALL_CHANGE@
+KSH = @KSH@
+LN = @LN@
+LN_S = @LN_S@
+M4 = @M4@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MV = @MV@
+PACKAGE = @PACKAGE@
+PACKHEX = @PACKHEX@
+PERL = @PERL@
+PROJECT_ROOT = @PROJECT_ROOT@
+RM = @RM@
+RTEMS_BSP = @RTEMS_BSP@
+RTEMS_CPU = @RTEMS_CPU@
+RTEMS_GAS_CODE16 = @RTEMS_GAS_CODE16@
+RTEMS_HAS_CPLUSPLUS = @RTEMS_HAS_CPLUSPLUS@
+RTEMS_HAS_MULTIPROCESSING = @RTEMS_HAS_MULTIPROCESSING@
+RTEMS_HAS_NETWORKING = @RTEMS_HAS_NETWORKING@
+RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@
+RTEMS_HAS_RDBG = @RTEMS_HAS_RDBG@
+RTEMS_HOST = @RTEMS_HOST@
+RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
+RTEMS_ROOT = @RTEMS_ROOT@
+RTEMS_TOPdir = @RTEMS_TOPdir@
+RTEMS_USE_GCC272 = @RTEMS_USE_GCC272@
+RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
+SED = @SED@
+SORT = @SORT@
+TOUCH = @TOUCH@
+VERSION = @VERSION@
+program_prefix = @program_prefix@
+rtems_cv_prog_cc_cross = @rtems_cv_prog_cc_cross@
+
+AUTOMAKE_OPTIONS = foreign 1.4
+
+rtems_makedir = $(prefix)/make
+rtems_make_compilersdir = $(rtems_makedir)/compilers
+
+# At the moment all actively supported configurations
+# use gcc-target-default.cfg only.
+rtems_make_compilers_DATA = gcc.cfg gcc-target-default.cfg
+
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../../mkinstalldirs
+CONFIG_CLEAN_FILES = gcc.cfg
+DATA = $(rtems_make_compilers_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in gcc.cfg.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/../../../automake/local.am
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign compilers/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+gcc.cfg: $(top_builddir)/config.status gcc.cfg.in
+ cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+install-rtems_make_compilersDATA: $(rtems_make_compilers_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(rtems_make_compilersdir)
+ @list='$(rtems_make_compilers_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(rtems_make_compilersdir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(rtems_make_compilersdir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(rtems_make_compilersdir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(rtems_make_compilersdir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-rtems_make_compilersDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(rtems_make_compilers_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(rtems_make_compilersdir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = compilers
+
+distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign compilers/Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-rtems_make_compilersDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-rtems_make_compilersDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(rtems_make_compilersdir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-rtems_make_compilersDATA \
+install-rtems_make_compilersDATA tags distdir info-am info dvi-am dvi \
+check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-am install-data install-am install \
+uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+@MAINTAINER_MODE_TRUE@$(srcdir)/gcc.cfg.in: $(top_srcdir)/@RTEMS_TOPdir@/make/compilers/gcc.cfg.in
+@MAINTAINER_MODE_TRUE@ cp $< $@
+
+debug-am:
+debug: debug-am
+.PHONY: debug debug-am
+
+debug_install-am:
+debug_install: debug_install-am
+.PHONY: debug_install debug_install-am
+
+profile-am:
+profile: profile-am
+.PHONY: profile profile-am
+
+profile_install-am:
+profile_install: profile_install-am
+.PHONY: profile_install profile_install-am
+
+preinstall-am:
+preinstall: preinstall-am
+.PHONY: preinstall preinstall-am
+
+clobber-am:
+clobber: clobber-am
+.PHONY: clobber clobber-am
+
+depend-am:
+depend: depend-am
+.PHONY: depend depend-am
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/c/src/make/compilers/gcc.cfg.in b/c/src/make/compilers/gcc.cfg.in
new file mode 100644
index 0000000000..590bacc213
--- /dev/null
+++ b/c/src/make/compilers/gcc.cfg.in
@@ -0,0 +1,203 @@
+#
+# $Id$
+#
+# gcc 2.6.x native compiler
+# Compiler (and tools) configuration
+#
+
+# Additional target names (other than debug, profile)
+TARGET_VARIANTS +=
+
+#
+# Pre-processor defines.
+# Local tailoring (on the command line) can be done by setting XCPPFLAGS
+# which is never set in the Makefile's
+#
+
+CPPFLAGS=$(XCPPFLAGS) $(DEFINES)
+
+#
+# Local tailoring (on the command line) can be done by setting CFLAGS
+# which is never set in the Makefile's
+#
+
+#
+# CFLAGS_OPTIMIZE_V, CFLAGS_DEBUG_V, CFLAGS_PROFILE_V are the values we
+# would want the corresponding macros to be set to.
+#
+# CFLAGS_OPTIMIZE, CFLAGS_DEBUG, CFLAGS_PROFILE are set in the leaf
+# Makefiles by the 'debug:' and 'profile:' targets to their _V values.
+#
+
+# default flags
+
+CFLAGS_DEFAULT = @CC_CFLAGS_DEFAULT@
+
+# Under MS-DOS do not use pipes
+# It turns out the pipes don't work with some non-gas assemblers either. :(
+# ifneq ($(RTEMS_HOST),msdos)
+# # CFLAGS_DEFAULT += -pipe
+# CFLAGS_DEFAULT +=
+# endif
+
+# Additional target names (other than debug, profile)
+
+# optimize flag: typically -0, could use -O4 or -fast
+# -O4 is ok for RTEMS
+CFLAGS_OPTIMIZE_V=-O
+
+# debug flag; typically -g
+CFLAGS_DEBUG_V=@CC_CFLAGS_DEBUG_V@
+
+# when debugging, optimize flag: typically empty
+# some compilers do allow optimization with their "-g"
+CFLAGS_DEBUG_OPTIMIZE_V=
+
+# profile flag; use gprof(1)
+CFLAGS_PROFILE_V=@CC_CFLAGS_PROFILE_V@
+
+# default is to optimize
+CFLAGS_OPTIMIZE=$(CFLAGS_OPTIMIZE_V)
+
+# dynamic libraries
+CFLAGS_DYNAMIC_V=-fpic
+ASFLAGS_DYNAMIC_V=
+
+# XCFLAGS are now local flags to avoid conflict with cygnus configure
+XCFLAGS=$(CFLAGS_OPTIMIZE) $(CFLAGS_DEBUG) $(CFLAGS_PROFILE) \
+ $(CFLAGS_DEFAULT)
+
+# List of library paths without -L
+LD_PATHS=
+
+# libraries you want EVERYONE to link with
+LD_LIBS=
+
+# ld flag to ensure pure-text
+LDFLAGS_MUST_BE_PURE_V =
+
+# ld flag for [un]shared objects
+LDFLAGS_STATIC_LIBRARIES_V =
+LDFLAGS_SHARED_LIBRARIES_V =
+
+# ld flag for incomplete link
+LDFLAGS_INCOMPLETE = -r
+
+# Special linker options when building lib.so
+LDFLAGS_DYNAMIC_V = ??
+
+# Some dynamic linking systems want the preferred name recorded in the binary
+# ref: src/libxil/Makefile
+LDFLAGS_DYNAMIC_LIBNAME_V = -h $(DYNAMIC_VERSION_LIBNAME)
+
+# ld flags for profiling, debugging
+LDFLAGS_PROFILE_V = @CC_LDFLAGS_PROFILE_V@
+LDFLAGS_DEBUG_V =
+
+LDFLAGS=$(LDFLAGS_PROFILE) $(LDFLAGS_DEBUG) $(LD_PATHS:%=-L %)
+
+#
+# Stuff to clean and clobber for the compiler and its tools
+#
+
+CLEAN_CC = a.out *.o *.BAK
+CLOBBER_CC =
+
+#
+# Client compiler and support tools
+#
+
+# CC_FOR_BUILD=gcc -O
+# override CC=$(CC_FOR_BUILD)
+
+CC=@CC@
+
+# CPP command to write file to standard output
+CPP=$(CC) -E
+
+# flags set by cc when running cpp
+CPP_CC_FLAGS=-D__STDC__
+
+# egrep regexp to ignore symbol table entries in ar archives.
+# Only used to make sure we skip them when coalescing libraries.
+# skip __.SYMDEF and empty names (maybe bug in ranlib??).
+AR_SYMBOL_TABLE="HIGHLY-UNLIKELY-TO-CONFLICT"
+ARFLAGS=ruv
+
+#
+# Command to convert a normal archive to one searchable by $(LD)
+# Not needed on SVR4
+# FIXME: Should be handled by autoconf. Doesn't matter, because
+# rtems doesn't have any host-libraries until now.
+#
+
+MKLIB=echo library is complete:
+
+#
+# How to compile stuff into ${ARCH} subdirectory
+#
+# NOTE: we override COMPILE.c
+#
+
+COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(XCFLAGS) -c
+
+${ARCH}/%.o: %.c
+ ${COMPILE.c} -o $@ $<
+
+${ARCH}/%.o: %.cc
+ ${COMPILE.c} -o $@ $<
+
+# assembly runs gasp
+${ARCH}/%.o: %.s
+ $(CPP) ${CPPFLAGS} $< | $(SED) 's/% /%/g' | $(SED) 's/^#.*//' >$(ARCH)/$*.i
+ $(AS) -o $@ $(ARCH)/$*.i
+ $(RM) $(ARCH)/$*.i
+
+# Link host applications.
+define make-exe
+ ${CC} ${LDFLAGS} -o $@ $^ ${LD_LIBS}
+endef
+
+# Specify our own default rule for this to prevent having CFLAGS and
+# CPPFLAGS being passed to linker
+#
+# NOTE: This rule is only used as fallback for host-tool makefiles
+# which don't provide their own rule
+${ARCH}/%$(EXEEXT): ${ARCH}/%.o
+ $(make-exe)
+
+# create $(ARCH)/pgm from pgm.sh
+${ARCH}/%: %.sh
+ $(RM) $@
+ $(CP) $< $@
+ $(CHMOD) +x $@
+
+# Dependency files for use by gmake
+# NOTE: we don't put in $(TARGET_ARCH)
+# so that 'make clean' doesn't blow it away
+
+DEPEND=Depends-$(TARGET_ARCH:o-%=%)
+
+CLEAN_DEPEND=$(DEPEND).tmp
+CLOBBER_DEPEND=$(DEPEND)
+
+# We deliberately don't have anything depend on the
+# $(DEPEND) file; otherwise it will get rebuilt even
+# on 'make clean'
+#
+
+depend: $(C_FILES) $(CC_FILES) $(S_FILES)
+ifneq ($(words $(C_FILES) $(CC_FILES) $(S_FILES)), 0)
+# Use gcc -M to generate dependencies
+# Replace foo.o with $(ARCH)/foo.o
+# Replace $(ARCH) value with string $(ARCH)
+# so that it will for debug and profile cases
+ $(COMPILE.c) -M $^ | \
+ $(SED) -e 's?^\(.*\)\.o[ ]*:?$$(ARCH)/\1.o:?' \
+ -e 's?$(ARCH)/?$$(ARCH)/?' >$(DEPEND).tmp
+ $(MV) $(DEPEND).tmp $(DEPEND)
+endif
+
+define make-rel
+ $(LD) $(LDFLAGS_INCOMPLETE) $(XLDFLAGS) -o $@ $(OBJS)
+endef