diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/make/compilers/Makefile.am | 21 | ||||
-rw-r--r-- | c/src/make/compilers/Makefile.in | 293 | ||||
-rw-r--r-- | c/src/make/compilers/gcc.cfg.in | 203 |
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 |