URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/rtems-20020807/make/compilers
- from Rev 1028 to Rev 1765
- ↔ Reverse comparison
Rev 1028 → Rev 1765
/gcc-target-default.cfg
0,0 → 1,304
# |
# Shared compiler for all GNU tools configurations |
# |
# gcc-target-default.cfg,v 1.35 2002/01/22 17:35:22 joel Exp |
# |
|
## |
# 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 |
# XCPPFLAGS, XCFLAGS, XCXXFLAGS, XASFLAGS |
# are used to add flags from the shell |
# cf. make.info ("Implicit rules/variables" for details) |
|
# NOTE: Should these go to CPPFLAGS ? |
CFLAGS_DEFAULT=-g -Wall |
|
# NOTE: CPU_CFLAGS should probably be renamed to CPU_CPPFLAGS |
# NOTE: CPU_DEFINES should probably be merged with CPU_CFLAGS |
CPPFLAGS += $(CPU_DEFINES) $(CPU_CFLAGS) $(DEFINES) $(XCPPFLAGS) |
CFLAGS = $(CFLAGS_DEFAULT) $(XCFLAGS) |
CXXFLAGS = $(CFLAGS_DEFAULT) $(XCXXFLAGS) |
ASFLAGS = $(CPU_ASFLAGS) $(XASFLAGS) |
|
ifeq ($(RTEMS_USE_GCC272),yes) |
ifeq ($(RTEMS_CROSS_TARGET),no) |
|
ifdef RTEMS_LIBC_DIR |
RTEMS_LIBC_INCLUDES := -I$(RTEMS_LIBC_DIR)/include |
endif |
|
# Used for posix bsps |
CPPFLAGS += \ |
-I$(PROJECT_INCLUDE) \ |
$(RTEMS_LIBC_INCLUDES) |
else |
# Used for embedded bsps |
# Ask gcc where it finds its own include files |
GCC_INCLUDE=$(shell $(CC) $(CPU_CFLAGS) -print-file-name=include $(GCCSED)) |
|
CPPFLAGS += -nostdinc \ |
-I$(PROJECT_INCLUDE) \ |
-I$(GCC_INCLUDE) \ |
-I$(RTEMS_LIBC_DIR)/sys-include \ |
-I$(RTEMS_LIBC_DIR)/include |
endif |
|
# default location of Standard C Library |
ifndef LIBC_LIBC |
LIBC_LIBC=$(RTEMS_LIBC_DIR)/lib/libc.a |
endif |
|
ifndef LIBC_LIBM |
LIBC_LIBM=$(RTEMS_LIBC_DIR)/lib/libm.a |
endif |
|
else |
# NOTE: GCCSPECS probably belongs to CPPFLAGS |
# Unfortunately, many custom/*.cfg files do not pass CPPFLAGS |
# to their gcc-2.8 make-exe rules |
GCCSPECS = -B$(PROJECT_RELEASE)/lib/ -specs bsp_specs -qrtems |
|
CC += $(GCCSPECS) |
CXX += $(GCCSPECS) |
|
CPPFLAGS += |
|
# default location of Standard C Library |
ifndef LIBC_LIBC |
LIBC_LIBC=$(shell $(CC) $(CPU_CFLAGS) -print-file-name=libc.a $(GCCSED)) |
endif |
|
ifndef LIBC_LIBM |
LIBC_LIBM=$(shell $(CC) $(CPU_CFLAGS) -print-file-name=libm.a $(GCCSED)) |
endif |
endif |
|
# 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 ($(HAS_CPLUSPLUS),yes) |
CPLUS_LD_LIBS += $(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA) |
endif |
|
# debug flag; |
CFLAGS_DEBUG_V+=-Wno-unused |
CXXFLAGS_DEBUG_V+= |
|
ifeq ($(RTEMS_USE_GCC272),no) |
CFLAGS_DEBUG_V+=-qrtems_debug |
CXXFLAGS_DEBUG_V+=-qrtems_debug |
endif |
|
# when debugging, optimize flag: typically empty |
# some compilers do allow optimization with their "-g" |
CFLAGS_OPTIMIZE_V=-g |
CXXFLAGS_OPTIMIZE_V=-g |
|
# profile flag; use gprof(1) |
CFLAGS_PROFILE_V=-pg |
CXXFLAGS_PROFILE_V=-pg |
|
ifndef AUTOMAKE |
# default is to optimize |
CFLAGS_OPTIMIZE =$(CFLAGS_OPTIMIZE_V) |
CXXFLAGS_OPTIMIZE=$(CXXFLAGS_OPTIMIZE_V) |
endif |
|
ifndef AUTOMAKE |
CFLAGS += $(CFLAGS_OPTIMIZE) $(CFLAGS_DEBUG) $(CFLAGS_PROFILE) |
CXXFLAGS += $(CXXFLAGS_OPTIMIZE) $(CXXFLAGS_DEBUG) $(CXXFLAGS_PROFILE) |
endif |
|
# List of library paths without -L |
LD_PATHS= $(PROJECT_RELEASE)/lib |
|
# 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 = |
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 |
# |
|
# CPP command to write file to standard output |
CPP=$(CC) -E -w -Wp,-$$ |
|
# 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 |
|
# |
# How to compile stuff into ${ARCH} subdirectory |
# |
|
${ARCH}/%.o: %.c |
${COMPILE.c} $(AM_CPPFLAGS) $(AM_CFLAGS) -o $@ $< |
|
${ARCH}/%.o: %.cc |
${COMPILE.cc} $(AM_CPPFLAGS) $(AM_CXXFLAGS) -o $@ $< |
|
${ARCH}/%.o: %.cpp |
${COMPILE.cc} $(AM_CPPFLAGS) $(AM_CXXFLAGS) -o $@ $< |
|
${ARCH}/%.o: %.cxx |
${COMPILE.cc} $(AM_CPPFLAGS) $(AM_CXXFLAGS) -o $@ $< |
|
${ARCH}/%.o: %.C |
${COMPILE.cc} $(AM_CPPFLAGS) $(AM_CXXFLAGS) -o $@ $< |
|
${ARCH}/%.o: %.S |
${COMPILE.S} $(AM_CPPFLAGS) -DASM -o $@ $< |
|
# Make foo.rel from foo.o |
${ARCH}/%.rel: ${ARCH}/%.o |
${make-rel} |
|
# create $(ARCH)/pgm from pgm.sh |
${ARCH}/%: %.sh |
$(RM) $@ |
$(CP) $< $@ |
$(CHMOD) +x $@ |
|
# Dependency files for use by gmake |
# NOTE: we don't put them into $(ARCH) |
# so that 'make clean' doesn't blow it away |
|
DEPEND=Depends-${ARCH} |
|
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-am: $(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) $(AM_CPPFLAGS) $(AM_CFLAGS) -M $^ | \ |
$(SED) -e 's?^\(.*\)\.o[ ]*:?$$(ARCH)/\1.o:?' \ |
-e 's?$(ARCH)/?$$(ARCH)/?' >$(DEPEND).tmp |
$(MV) $(DEPEND).tmp $(DEPEND) |
endif |
depend: depend-am |
|
# spell out all the LINK_FILE's, rather than using -lbsp, so |
# that $(LINK_FILES) can be a dependency |
|
# Start file must be one of |
# $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o |
# $(PROJECT_RELEASE)/lib/asmiface$(LIB_VARIANT).o |
# It defaults to start.o, but an app can override it. |
|
ifeq ($(START_BASE),) |
START_FILE= |
else |
START_FILE=$(PROJECT_RELEASE)/lib/$(START_BASE)$(LIB_VARIANT).o |
endif |
|
CONSTRUCTOR= |
|
LIBC_LOW= |
|
ifndef LIBGCC |
LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name $(GCCSED)) |
endif |
|
# |
# NOTE: a rule to link an rtems' application should look similar to this |
# (cf. "make-exe" in make/custom/*.cfg): |
# |
# gcc27: |
# $(PGM): $(LINK_FILES) |
# $(LD) $(LDFLAGS) -o $@ $(LINK_OBJS) \ |
# --start-group $(LINK_LIBS) --end-group |
# |
# gcc28: |
# $(PGM): $(LINK_FILES) |
# $(CC) $(CFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS) |
# |
|
LINK_OBJS =\ |
$(CONSTRUCTOR) \ |
$(OBJS) \ |
$(MANAGERS_NOT_WANTED:%=$(PROJECT_RELEASE)/lib/no-%$(LIB_VARIANT).rel) |
|
LINK_FILES =\ |
$(START_FILE) \ |
$(CONSTRUCTOR) \ |
$(OBJS) \ |
$(MANAGERS_NOT_WANTED:%=$(PROJECT_RELEASE)/lib/no-%$(LIB_VARIANT).rel) \ |
$(PROJECT_RELEASE)/lib/librtemsbsp$(LIBSUFFIX_VA) \ |
$(PROJECT_RELEASE)/lib/librtemscpu$(LIBSUFFIX_VA) |
|
ifeq ($(RTEMS_USE_GCC272),yes) |
LINK_LIBS = $(PROJECT_RELEASE)/lib/librtemsall$(LIBSUFFIX_VA) |
ifeq ($(RTEMS_CROSS_TARGET),yes) |
# NOTE: add libc and libgcc only for embedded targets |
# LIBC_LIBM should not be needed by rtems itself. |
# FIXME: If a BSP requires libm, its make/custom/*.cfg file should add |
# LIBC_LIBM to LINK_LIBS (untested) |
LINK_LIBS += $(LIBC_LIBC) $(LIBGCC) |
endif |
endif |
|
LINK_LIBS += $(LD_LIBS) |
|
# |
# Allow user to override link commands (to build a prom image, perhaps) |
# |
ifndef LINKCMDS |
LINKCMDS=$(PROJECT_RELEASE)/lib/linkcmds |
endif |
|
ifeq ($(RTEMS_USE_GCC272),yes) |
define make-rel |
$(LD) $(LDFLAGS_INCOMPLETE) $(XLDFLAGS) -o $@ $^ |
endef |
else |
define make-rel |
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) \ |
-qnolinkcmds -nostdlib -Wl,-r $(XLDFLAGS) -o $@ $^ |
endef |
endif |
/Makefile.in
0,0 → 1,250
# Makefile.in generated by automake 1.6.2 from Makefile.am. |
# @configure_input@ |
|
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 |
# 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. |
|
@SET_MAKE@ |
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 |
pkgdatadir = $(datadir)/@PACKAGE@ |
pkglibdir = $(libdir)/@PACKAGE@ |
pkgincludedir = $(includedir)/@PACKAGE@ |
top_builddir = ../.. |
|
ACLOCAL = @ACLOCAL@ |
AUTOCONF = @AUTOCONF@ |
AUTOMAKE = @AUTOMAKE@ |
AUTOHEADER = @AUTOHEADER@ |
|
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd |
INSTALL = @INSTALL@ |
INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
INSTALL_DATA = @INSTALL_DATA@ |
install_sh_DATA = $(install_sh) -c -m 644 |
install_sh_PROGRAM = $(install_sh) -c |
install_sh_SCRIPT = $(install_sh) -c |
INSTALL_SCRIPT = @INSTALL_SCRIPT@ |
INSTALL_HEADER = $(INSTALL_DATA) |
transform = @program_transform_name@ |
NORMAL_INSTALL = : |
PRE_INSTALL = : |
POST_INSTALL = : |
NORMAL_UNINSTALL = : |
PRE_UNINSTALL = : |
POST_UNINSTALL = : |
|
EXEEXT = @EXEEXT@ |
OBJEXT = @OBJEXT@ |
PATH_SEPARATOR = @PATH_SEPARATOR@ |
AMTAR = @AMTAR@ |
AWK = @AWK@ |
BARE_CPU_CFLAGS = @BARE_CPU_CFLAGS@ |
BARE_CPU_MODEL = @BARE_CPU_MODEL@ |
BUILD_SUBDIRS = @BUILD_SUBDIRS@ |
DEPDIR = @DEPDIR@ |
ENDIF = @ENDIF@ |
GCC_SPECS = @GCC_SPECS@ |
HAS_NETWORKING = @HAS_NETWORKING@ |
HAS_RDBG = @HAS_RDBG@ |
HOST_SUBDIRS = @HOST_SUBDIRS@ |
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ |
MAINT = @MAINT@ |
MAKE = @MAKE@ |
PACKAGE = @PACKAGE@ |
PACKHEX = @PACKHEX@ |
PROJECT_INCLUDE = @PROJECT_INCLUDE@ |
PROJECT_RELEASE = @PROJECT_RELEASE@ |
PROJECT_ROOT = @PROJECT_ROOT@ |
PROJECT_TOPdir = @PROJECT_TOPdir@ |
RTEMS_BSP = @RTEMS_BSP@ |
RTEMS_BSP_SPECS = @RTEMS_BSP_SPECS@ |
RTEMS_CPU = @RTEMS_CPU@ |
RTEMS_HAS_ITRON_API = @RTEMS_HAS_ITRON_API@ |
RTEMS_HAS_NETWORKING = @RTEMS_HAS_NETWORKING@ |
RTEMS_HAS_POSIX_API = @RTEMS_HAS_POSIX_API@ |
RTEMS_HAS_RDBG = @RTEMS_HAS_RDBG@ |
RTEMS_ROOT = @RTEMS_ROOT@ |
RTEMS_TOPdir = @RTEMS_TOPdir@ |
RTEMS_USE_MACROS = @RTEMS_USE_MACROS@ |
STRIP = @STRIP@ |
TARGET_SUBDIRS = @TARGET_SUBDIRS@ |
VERSION = @VERSION@ |
am__include = @am__include@ |
am__quote = @am__quote@ |
bsplibdir = @bsplibdir@ |
build_configdirs = @build_configdirs@ |
buildargs = @buildargs@ |
hostargs = @hostargs@ |
install_sh = @install_sh@ |
targetargs = @targetargs@ |
|
EXTRA_DIST = gcc-no_bsp.cfg gcc-portsw.cfg gcc-target-default.cfg |
subdir = make/compilers |
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs |
CONFIG_CLEAN_FILES = |
DIST_SOURCES = |
DIST_COMMON = Makefile.am Makefile.in |
all: all-am |
|
.SUFFIXES: |
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/automake/host.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) |
cd $(top_srcdir) && \ |
$(AUTOMAKE) --foreign make/compilers/Makefile |
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status |
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) |
uninstall-info-am: |
tags: TAGS |
TAGS: |
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) |
|
top_distdir = ../.. |
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) |
|
distdir: $(DISTFILES) |
@list='$(DISTFILES)'; for file in $$list; do \ |
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ |
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ |
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ |
dir="/$$dir"; \ |
$(mkinstalldirs) "$(distdir)$$dir"; \ |
else \ |
dir=''; \ |
fi; \ |
if test -d $$d/$$file; then \ |
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ |
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ |
fi; \ |
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ |
else \ |
test -f $(distdir)/$$file \ |
|| cp -p $$d/$$file $(distdir)/$$file \ |
|| exit 1; \ |
fi; \ |
done |
check-am: all-am |
check: check-am |
all-am: Makefile |
|
installdirs: |
|
install: install-am |
install-exec: install-exec-am |
install-data: install-data-am |
uninstall: uninstall-am |
|
install-am: all-am |
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am |
|
installcheck: installcheck-am |
install-strip: |
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ |
INSTALL_STRIP_FLAG=-s \ |
`test -z '$(STRIP)' || \ |
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install |
mostlyclean-generic: |
|
clean-generic: |
|
distclean-generic: |
-rm -f Makefile $(CONFIG_CLEAN_FILES) |
|
maintainer-clean-generic: |
@echo "This command is intended for maintainers to use" |
@echo "it deletes files that may require special tools to rebuild." |
clean: clean-am |
|
clean-am: clean-generic mostlyclean-am |
|
distclean: distclean-am |
|
distclean-am: clean-am distclean-generic |
|
dvi: dvi-am |
|
dvi-am: |
|
info: info-am |
|
info-am: |
|
install-data-am: |
|
install-exec-am: |
|
install-info: install-info-am |
|
install-man: |
|
installcheck-am: |
|
maintainer-clean: maintainer-clean-am |
|
maintainer-clean-am: distclean-am maintainer-clean-generic |
|
mostlyclean: mostlyclean-am |
|
mostlyclean-am: mostlyclean-generic |
|
uninstall-am: uninstall-info-am |
|
.PHONY: all all-am check check-am clean clean-generic distclean \ |
distclean-generic distdir dvi dvi-am info info-am install \ |
install-am install-data install-data-am install-exec \ |
install-exec-am install-info install-info-am install-man \ |
install-strip installcheck installcheck-am installdirs \ |
maintainer-clean maintainer-clean-generic mostlyclean \ |
mostlyclean-generic uninstall uninstall-am uninstall-info-am |
|
|
debug: |
@echo |
@echo "\"make debug\" is obsolete, instead use:" |
@echo " make VARIANT=DEBUG" |
@echo |
|
.PHONY: debug |
|
profile: |
@echo |
@echo "\"make profile\" is obsolete, instead use:" |
@echo " make VARIANT=PROFILE" |
@echo |
|
preinstall-am: $(PREINSTALL_FILES) |
preinstall: preinstall-am |
.PHONY: preinstall preinstall-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: |
/gcc-portsw.cfg
0,0 → 1,288
# |
# gcc-no_bsp.cfg,v 1.13 1995/12/19 19:59:57 joel Exp |
# |
# This is for the amd29k portsw board. |
# |
# THIS IS NOT A GNU TOOLS BASED PORT!!! |
# |
|
# Prefix on the installed GNU tools |
# Just use the native tools |
GNU_TOOLS_PREFIX= |
|
# 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 |
# |
# Possible defines include: |
# -DRTEMS_LIBC using libc bundled with RTEMS |
# -DRTEMS_NEWLIB using CYGNUS libc |
# -DMALLOC_PROVIDED must be used for newlib reent struct |
|
DEFINES:= $(LIBC_DEFINES) |
|
GCC_INCLUDE=. |
|
# Note: normally we do not want the standard include files |
# Also we usually include a "libc_include" directory |
CPPFLAGS=$(XCPPFLAGS) $(DEFINES) \ |
-I$(RTEMS_LIBC_DIR)/include \ |
-I$(PROJECT_INCLUDE) \ |
-I/opt/29k/src/inc |
|
# |
# Local tailoring (on the command line) can be done by setting XCFLAGS |
# 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 = -NB -bwc -nocrt0 -Ml -m -g -Hon=Pointers_compatible -Hon=Pointers_compatible_with_ints -Dinline= -D___AM29K__ -Hnocopyr |
CFLAGS_DEFAULT = $(CPU_CFLAGS) -Wall |
|
# optimize flag: typically -0, could use -O4 or -fast |
# -O4 is ok for RTEMS |
# -Os to optimize for size |
CFLAGS_OPTIMIZE_V=-Os |
|
# debug flag; typically -g |
CFLAGS_DEBUG_V=-g -O0 -DRTEMS_DEBUG -DSTACK_CHECKER_ON |
|
# profile flag; use gprof(1) |
CFLAGS_PROFILE_V= |
|
# default is to optimize |
CFLAGS_OPTIMIZE=$(CFLAGS_OPTIMIZE_V) |
|
# dynamic libraries |
CFLAGS_DYNAMIC_V=-fpic |
#ASFLAGS_DYNAMIC_V= |
|
CFLAGS=$(CFLAGS_DEFAULT) $(CFLAGS_OPTIMIZE) $(CFLAGS_DEBUG) $(CFLAGS_PROFILE) |
|
# List of library paths without -L |
LD_PATHS= $(PROJECT_RELEASE)/lib |
|
# 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 = -i |
|
# 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 = |
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=/opt/29k/bin/hc29 |
CXX=$(CC) |
CCC=$(CXX) |
|
# CPP command to write file to standard output |
CPP=$(CC) -E |
|
AS=/opt/29k/bin/as29 |
ASPP=ERROR_NO_ASPP |
|
ASFLAGS=-l -fcgimosx |
|
# NOTE: should never use full path .. but there is no guarantee ld, etc |
# will be in the same directory as gcc.. so hope they are in the path |
# Don't do this on a real target!!! |
LD=/opt/29k/bin/ld29 |
NM=/opt/29k/bin/nm29 |
AR=echo making library |
# 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 |
|
# NOTE: see comment on ld, nm, ar |
SIZE=size |
|
# |
# Command to convert a normal archive to one searchable by $(LD) |
# Not needed on SVR4 |
# |
|
MKLIB=/opt/29k/bin/lib29 |
|
# |
# How to compile stuff into ${ARCH} subdirectory |
# |
# NOTE: we override COMPILE.c |
# |
|
COMPILE.c=$(CC) -c $(CFLAGS) $(CPPFLAGS) $(XCFLAGS) |
|
${ARCH}/%.o: %.c |
${COMPILE.c} -o $@ $< |
$(CHMOD) -f g+w $@ |
|
${ARCH}/%.o: %.cc |
${COMPILE.c} -o $@ $< |
$(CHMOD) -f g+w $@ |
|
${ARCH}/%.o: %.s |
${COMPILE.c} -DASM -o $@ $< |
$(CHMOD) -f g+w $@ |
|
${ARCH}/%.o: %.S |
$(CP) $*.s $(ARCH)/$*.c |
$(CPP) $(CPPFLAGS) $(ARCH)/$*.c > $(ARCH)/$*.s |
${COMPILE.c} -o $@ $(ARCH)/$*.s |
$(CHMOD) -f g+w $@ |
$(RM) $(ARCH)/$*.c |
|
# Specify our own default rule for this to prevent having CFLAGS and |
# CPPFLAGS being passed to linker |
${ARCH}/%: ${ARCH}/%.o |
${CC} ${LDFLAGS} -o $@ $@.o ${LD_LIBS} |
$(CHMOD) -f g+w $@ |
|
# Make foo.rel from foo.o |
${ARCH}/%.rel: ${ARCH}/%.o |
${LD} $(LDFLAGS_INCOMPLETE) -o $@ $^ |
$(CHMOD) -f g+w $@ |
|
# create $(ARCH)/pgm from pgm.sh |
${ARCH}/%: %.sh |
$(RM) $@ |
$(CP) $< $@ |
$(CHMOD) +x $@ |
$(CHMOD) -f g+w $@ |
|
# Dependency files for use by gmake |
# NOTE: we don't put them into $(ARCH) |
# so that 'make clean' doesn't blow it away |
|
DEPEND=Depends-${ARCH} |
|
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) -Hmake $^ | \ |
$(SED) -e 's?^\(.*\)\.o[ ]*:?$$(ARCH)/\1.o:?' \ |
-e 's?$(ARCH)/?$$(ARCH)/?' >$(DEPEND).tmp |
|
$(MV) $(DEPEND).tmp $(DEPEND) |
$(CHMOD) -f g+w $(DEPEND) |
endif |
|
|
# spell out all the LINK_FILE's, rather than using -lbsp, so |
# that $(LINK_FILES) can be a dependency |
|
# Start file must be one of |
# $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o |
# $(PROJECT_RELEASE)/lib/asmiface$(LIB_VARIANT).o |
# It defaults to start.o, but an app can override it. |
|
# Note: Normally RTEMS provides a start file... |
START_FILE= $(PROJECT_RELEASE)/lib/crt0$(LIB_VARIANT).o $(PROJECT_RELEASE)/lib/register$(LIB_VARIANT).o |
|
LIBC_LOW= $(PROJECT_RELEASE)/lib/libcsupport$(LIBSUFFIX_VA) |
|
LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name $(GCCSED)) |
|
LIBOSBOOT=/home/src/amd29k/sps2000/netrom.o |
|
LINK_FILES= \ |
$(START_FILE) \ |
$(OBJS) \ |
$(MANAGERS_NOT_WANTED:%=$(PROJECT_RELEASE)/lib/no-%$(LIB_VARIANT).rel) \ |
$(PROJECT_RELEASE)/lib/libbsp$(LIBSUFFIX_VA) \ |
$(LD_LIBS) \ |
$(PROJECT_RELEASE)/lib/libtest$(LIBSUFFIX_VA) \ |
$(PROJECT_RELEASE)/lib/librtems$(LIBSUFFIX_VA) \ |
$(LIBC_LOW) \ |
$(PROJECT_RELEASE)/lib/libmisc$(LIBSUFFIX_VA) \ |
$(LIBC_LIBC) \ |
$(LIBC_EXTRALIBS) \ |
$(LIBC_LIBM) |
# /home/craigl/osbdbg.o |
|
# 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 |
|
define make-exe |
if [ $(NO_ROM) ]; then echo "\n\nskipping ROM compile\n"; else \ |
$(CC) -nocrt0 -cmd$(PROJECT_RELEASE)/lib/romlink -u _times -u _gettimeofday \ |
-u _sleep -o $(basename $@).out $(LIBOSBOOT) $(LINK_FILES); \ |
romcoff -r -t -l -b $(basename $@).out raminit.o; \ |
rm $(basename $@).out; \ |
$(CC) -m -u _times -u _gettimeofday -u _sleep -o $(basename $@).romcof $(LIBOSBOOT) \ |
$(LINK_FILES) raminit.o -nocrt0 -cmd$(PROJECT_RELEASE)/lib/romlink > $(basename $@).rommap ; \ |
rm raminit.o ; \ |
$(CHMOD) -f g+w $(basename $@).romcof; \ |
/opt/green/coff2sr -noS5 $(basename $@).romcof -o $(basename $@).srec; \ |
$(CHMOD) -f g+w $(basename $@).srec; \ |
fi |
if [ $(CREATE_MAP) ]; then \ |
$(CC) -m -u _times -u _gettimeofday -u _sleep -o $(basename $@).exe $(LINK_FILES) -nocrt0 -cmd$(PROJECT_RELEASE)/lib/ramlink > $(basename $@).rammap; \ |
else \ |
rm $(basename $@).rommap > /dev/null 2> /dev/null ; \ |
$(CC) -u _times -u _gettimeofday -u _sleep -o $(basename $@).exe $(LINK_FILES) -nocrt0 -cmd$(PROJECT_RELEASE)/lib/ramlink; \ |
fi |
$(CHMOD) -f g+w $(basename $@).exe |
# $(CC) -o $(basename $@).exe $(LINK_FILES) -nocrt0 -cmd/opt/29k/lib/link030.cmd |
$(NM) -g $(basename $@).exe > $(basename $@).num |
$(CHMOD) -f g+w $(basename $@).num |
# $(SIZE) $(basename $@).exe |
endef |
|
define make-rel |
$(LD) $(LDFLAGS_INCOMPLETE) $(XLDFLAGS) -o $@ $(OBJS) |
$(CHMOD) -f g+w $@ |
endef |
/gcc-no_bsp.cfg
0,0 → 1,286
# |
# gcc-no_bsp.cfg,v 1.10 2002/01/06 20:09:42 joel Exp |
# |
# gcc 2.6.x compiler for a "native" nocpu/nobsp system |
# Compiler (and tools) configuration |
# |
|
# Prefix on the installed GNU tools |
# Just use the native tools |
GNU_TOOLS_PREFIX= |
|
# Additional target names (other than debug, profile) |
TARGET_VARIANTS += |
|
# |
# Pre-processor defines using the target options header file. |
# |
# Local tailoring (on the command line) can be done by setting XCFLAGS |
# or XCPPFLAGS -- neither of which are never set in the Makefile's |
# |
|
CPPFLAGS=$(CFLAGS) $(XCPPFLAGS) $(DEFINES) |
|
CPLUS_CPPFLAGS=$(CFLAGS) $(XCPPFLAGS) $(DEFINES) |
|
# 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. |
# |
# RTEMS_DEBUG (RTEMS) |
# If defined, debug checks in RTEMS and support library code are enabled. |
|
define make-target-options |
echo "/* #define NDEBUG 1 */ " >>$@ |
echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@ |
echo "/* #define STACK_CHECKER_ON 1 */" >>$@ |
echo "/* #define RTEMS_DEBUG 1 */" >>$@ |
endef |
|
# |
# Local tailoring (on the command line) can be done by setting XCFLAGS |
# 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 |
|
# |
# This contains the compiler options necessary to select the CPU model |
# and (hopefully) optimize for it. |
# |
CPU_CFLAGS = |
|
CFLAGS_DEFAULT = $(CPU_CFLAGS) -Wall |
|
# optimize flag: typically -0, could use -O4 or -fast |
# -O4 is ok for RTEMS |
CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer |
|
# debug flag; typically -g |
CFLAGS_DEBUG_V=-g -Wno-unused |
|
# profile flag; use gprof(1) |
CFLAGS_PROFILE_V=-pg |
|
# default is to optimize |
CFLAGS_OPTIMIZE=$(CFLAGS_OPTIMIZE_V) |
|
# dynamic libraries |
CFLAGS_DYNAMIC_V=-fpic |
# ASFLAGS_DYNAMIC_V= |
|
CFLAGS=$(CFLAGS_DEFAULT) $(CFLAGS_OPTIMIZE) $(CFLAGS_DEBUG) $(CFLAGS_PROFILE) \ |
-I $(PROJECT_INCLUDE) |
|
# List of library paths without -L |
LD_PATHS= $(PROJECT_RELEASE)/lib |
|
# 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 = |
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=gcc |
CXX=$(CC) |
CCC=$(CXX) |
|
# CPP command to write file to standard output |
CPP=$(CC) -E |
|
AS=as |
ASPP=ERROR_NO_ASPP |
|
ASFLAGS= |
|
|
# NOTE: should never use full path .. but there is no guarantee ld, etc |
# will be in the same directory as gcc.. so hope they are in the path |
# Don't do this on a real target!!! |
LD=ld |
NM=nm |
AR=ar |
# 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 |
|
# NOTE: see comment on ld, nm, ar |
SIZE=size |
|
# |
# Command to convert a normal archive to one searchable by $(LD) |
# Not needed on SVR4 |
# |
|
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 $@ $< |
|
${ARCH}/%.o: %.S |
${COMPILE.c} -DASM -o $@ $< |
|
${ARCH}/%.o: %.s |
$(CPP) $(CPPFLAGS) - <$*.s >$(ARCH)/$*.i |
$(AS) $(ASFLAGS) -o $@ $(ARCH)/$*.i |
# $(RM) $(ARCH)/$*.i |
|
# Specify our own default rule for this to prevent having CFLAGS and |
# CPPFLAGS being passed to linker |
${ARCH}/%: ${ARCH}/%.o |
${CC} ${LDFLAGS} -o $@ $@.o ${LD_LIBS} |
|
# Make foo.rel from foo.o |
${ARCH}/%.rel: ${ARCH}/%.o |
${LD} $(LDFLAGS_INCOMPLETE) -o $@ $^ |
|
# create $(ARCH)/pgm from pgm.sh |
${ARCH}/%: %.sh |
$(RM) $@ |
$(CP) $< $@ |
$(CHMOD) +x $@ |
|
# Dependency files for use by gmake |
# NOTE: we don't put them into $(ARCH) |
# so that 'make clean' doesn't blow it away |
|
DEPEND=Depends-${ARCH} |
|
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 |
|
|
# 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), $(MANAGER_LIST)) |
MANAGERS_NOT_WANTED:=$(filter-out $(MANAGERS_REQUIRED), $(MANAGERS_NOT_WANTED)) |
|
# spell out all the LINK_FILE's, rather than using -lbsp, so |
# that $(LINK_FILES) can be a dependency |
|
# Start file must be one of |
# $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o |
# $(PROJECT_RELEASE)/lib/asmiface$(LIB_VARIANT).o |
# It defaults to start.o, but an app can override it. |
|
# Note: Normally RTEMS provides a start file... |
START_FILE= |
|
CONSTRUCTOR= |
|
LIBGCC = $(shell $(CC) $(CFLAGS) -print-libgcc-file-name $(GCCSED)) |
|
LINK_FILES= $(START_FILE) \ |
$(CONSTRUCTOR) \ |
$(OBJS) \ |
$(MANAGERS_NOT_WANTED:%=$(PROJECT_RELEASE)/lib/no-%$(LIB_VARIANT).rel) \ |
$(LD_LIBS) \ |
$(LIBC_EXTRA_LIBS) \ |
$(PROJECT_RELEASE)/lib/libtest$(LIBSUFFIX_VA) \ |
$(PROJECT_RELEASE)/lib/librtemsbsp$(LIBSUFFIX_VA) \ |
$(PROJECT_RELEASE)/lib/librtemscpu$(LIBSUFFIX_VA) \ |
$(LIBC_LIBM) $(LIBC_LIBC) $(LIBGCC) |
|
# 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 |
|
# On Solaris at least you need to had /usr/ucblib/libucb.a |
|
define make-exe |
$(CC) -o $(basename $@).exe $(LINK_FILES) -lc -lm |
$(NM) -n $(basename $@).exe > $(basename $@).num |
$(SIZE) $(basename $@).exe |
endef |
|
define make-rel |
$(LD) $(LDFLAGS_INCOMPLETE) $(XLDFLAGS) -o $@ $(OBJS) |
endef |
/Makefile.am
0,0 → 1,9
## |
## Makefile.am,v 1.5 2002/03/28 00:54:29 joel Exp |
## |
|
|
EXTRA_DIST = gcc-no_bsp.cfg gcc-portsw.cfg gcc-target-default.cfg |
|
## ------------------------------------------------------- |
include $(top_srcdir)/automake/host.am |
.
Property changes :
Added: svn:ignore
## -0,0 +1,2 ##
+Makefile
+Makefile.in