diff options
author | Ranjith Kumaran <ranjith@cygnus.com> | 2000-03-17 22:48:54 +0000 |
---|---|---|
committer | Ranjith Kumaran <ranjith@cygnus.com> | 2000-03-17 22:48:54 +0000 |
commit | 03261851a10dd2d6900a0a00a7515a0a46fb5d76 (patch) | |
tree | 7c22ac6cbbc99fd5cd1b5426853be8d4fd7bfcf1 /libgloss/config | |
parent | fae4c299f14fc23e2829c8656992eba21f79242a (diff) | |
download | newlib-03261851a10dd2d6900a0a00a7515a0a46fb5d76.zip newlib-03261851a10dd2d6900a0a00a7515a0a46fb5d76.tar.gz newlib-03261851a10dd2d6900a0a00a7515a0a46fb5d76.tar.bz2 |
20000317 sourceware import
Diffstat (limited to 'libgloss/config')
-rw-r--r-- | libgloss/config/default.mh | 31 | ||||
-rw-r--r-- | libgloss/config/default.mt | 33 | ||||
-rw-r--r-- | libgloss/config/dos.mh | 57 | ||||
-rw-r--r-- | libgloss/config/mips.mt | 31 | ||||
-rw-r--r-- | libgloss/config/mn10200.mt | 3 | ||||
-rw-r--r-- | libgloss/config/mn10300.mt | 3 | ||||
-rw-r--r-- | libgloss/config/ppc.mh | 35 |
7 files changed, 193 insertions, 0 deletions
diff --git a/libgloss/config/default.mh b/libgloss/config/default.mh new file mode 100644 index 0000000..915c4f6 --- /dev/null +++ b/libgloss/config/default.mh @@ -0,0 +1,31 @@ +NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` +NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` + +INCLUDES = -I. -I$(srcdir)/.. +# Note that when building the library, ${MULTILIB} is not the way multilib +# options are passed; they're passed in $(CFLAGS). +CFLAGS_FOR_TARGET = -O2 -g ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} +LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} +AR_FLAGS = qc + +.c.o: + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< + +.C.o: + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< +.s.o: + $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< + +# +# GCC knows to run the preprocessor on .S files before it assembles them. +# +.S.o: + $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< + +# +# this is a bogus target that'll produce an assembler from the +# C source with the right compiler options. this is so we can +# track down code generation or debug symbol bugs. +# +.c.s: + $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< diff --git a/libgloss/config/default.mt b/libgloss/config/default.mt new file mode 100644 index 0000000..d587247 --- /dev/null +++ b/libgloss/config/default.mt @@ -0,0 +1,33 @@ +# +# these are the minimum required stubs to support newlib +# +close.o: ${srcdir}/../close.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +fstat.o: ${srcdir}/../fstat.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +getpid.o: ${srcdir}/../getpid.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +isatty.o: ${srcdir}/../isatty.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +kill.o: ${srcdir}/../kill.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +lseek.o: ${srcdir}/../lseek.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +open.o: ${srcdir}/../open.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +print.o: ${srcdir}/../print.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +putnum.o: ${srcdir}/../putnum.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +read.o: ${srcdir}/../read.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +sbrk.o: ${srcdir}/../sbrk.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +stat.o: ${srcdir}/../stat.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +unlink.o: ${srcdir}/../unlink.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +write.o: ${srcdir}/../write.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +debug.o: ${srcdir}/../debug.c ${srcdir}/../debug.h + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) ${srcdir}/../debug.c diff --git a/libgloss/config/dos.mh b/libgloss/config/dos.mh new file mode 100644 index 0000000..c5874cb --- /dev/null +++ b/libgloss/config/dos.mh @@ -0,0 +1,57 @@ +NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` +NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/; fi` + +INCLUDES = -I. +# Note that when building the library, ${MULTILIB} is not the way multilib +# options are passed; they're passed in $(CFLAGS). +CFLAGS_FOR_TARGET = -O2 -g ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} +LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} +ARFLAGS_FOR_TARGET = qc + +# find the tools used to build libgloss. As this is a DOS build in a +# 3way cross, we have to specify the name as it lives prebuilt in Unix +# land. The freshly built tools are for the wrong architecture. +CC_FOR_TARGET = `t='$(program_transform_name)'; echo gcc | sed -e $$t` + +AS_FOR_TARGET = `t='$(program_transform_name)'; echo as | sed -e $$t` + +AR_FOR_TARGET = `t='$(program_transform_name)'; echo ar | sed -e $$t` + +LD_FOR_TARGET = `t='$(program_transform_name)'; echo ld | sed -e $$t` + +RANLIB_FOR_TARGET = `t='$(program_transform_name)'; echo ranlib | sed -e $$t` + +OBJDUMP_FOR_TARGET = `t='$(program_transform_name)'; echo objdump | sed -e $$t` + +OBJCOPY_FOR_TARGET = `t='$(program_transform_name)'; echo objcopy | sed -e $$t` + + +# Using CFLAGS here may be confusing if the user has given a special +# CFLAGS intended for use on the host, since we are passing it to the +# cross-compiler; I'm not sure what to do about this. INCLUDES is +# from the top level Makefile. +# FIXME: But isn't CFLAGS what is used to pass multilib options when +# building the library? + +.c.o: + rootme=`pwd` ; \ + echo CC_FOR_TARGET is ${CC_FOR_TARGET} ; \ + $(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(INCLUDES) -c $< + +.c.s: + rootme=`pwd` ; \ + echo CC_FOR_TARGET is ${CC_FOR_TARGET} ; \ + $(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $< + +.S.o: + rootme=`pwd` ; \ + echo CC_FOR_TARGET is ${CC_FOR_TARGET} ; \ + $(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(INCLUDES) -c $< + +.s.o: + rootme=`pwd` ; \ + echo AS_FOR_TARGET is ${AS_FOR_TARGET} ; \ + $(AS_FOR_TARGET) $(ASFLAGS_FOR_TARGET) $(INCLUDES) -o $*.o $< + + + diff --git a/libgloss/config/mips.mt b/libgloss/config/mips.mt new file mode 100644 index 0000000..6ae84b4 --- /dev/null +++ b/libgloss/config/mips.mt @@ -0,0 +1,31 @@ +# +# These are the minimum required stubs to support newlib +# for embedded MIPS targets. Note that although read.o and write.o +# are mentioned here, they are not used for all targets. +# +close.o: ${srcdir}/../close.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +fstat.o: ${srcdir}/../fstat.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +getpid.o: ${srcdir}/../getpid.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +isatty.o: ${srcdir}/../isatty.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +kill.o: ${srcdir}/../kill.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +lseek.o: ${srcdir}/../lseek.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +open.o: ${srcdir}/../open.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +print.o: ${srcdir}/../print.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +putnum.o: ${srcdir}/../putnum.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +read.o: ${srcdir}/../read.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +stat.o: ${srcdir}/../stat.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +unlink.o: ${srcdir}/../unlink.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? +write.o: ${srcdir}/../write.c + $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $? diff --git a/libgloss/config/mn10200.mt b/libgloss/config/mn10200.mt new file mode 100644 index 0000000..cf565c1 --- /dev/null +++ b/libgloss/config/mn10200.mt @@ -0,0 +1,3 @@ +# Dummy target-specific Makefile fragment for MN10200. We can't +# use default.mt because it refers to generic source files whose +# names conflict with the MN10200-specific sources. diff --git a/libgloss/config/mn10300.mt b/libgloss/config/mn10300.mt new file mode 100644 index 0000000..6b4c522 --- /dev/null +++ b/libgloss/config/mn10300.mt @@ -0,0 +1,3 @@ +# Dummy target-specific Makefile fragment for MN10300. We can't +# use default.mt because it refers to generic source files whose +# names conflict with the MN10300-specific sources. diff --git a/libgloss/config/ppc.mh b/libgloss/config/ppc.mh new file mode 100644 index 0000000..b5b8c30 --- /dev/null +++ b/libgloss/config/ppc.mh @@ -0,0 +1,35 @@ +NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` +NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` + +# For the PowerPC, always add -mrelocatable-lib -mno-eabi. These are set for the +# multilibs, but are ignored when building the toplevel directory. +CFLAGS_MRELOCATABLE = -mrelocatable-lib -mno-eabi + +INCLUDES = -I. -I$(srcdir)/.. +# Note that when building the library, ${MULTILIB} is not the way multilib +# options are passed; they're passed in $(CFLAGS). +CFLAGS_FOR_TARGET = -O2 -g ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} +LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} +AR_FLAGS = qc + +.c.o: + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS_MRELOCATABLE) -O2 $(INCLUDES) -c $(CFLAGS) $< + +.C.o: + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS_MRELOCATABLE) -O2 $(INCLUDES) -c $(CFLAGS) $< +.s.o: + $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< + +# +# GCC knows to run the preprocessor on .S files before it assembles them. +# +.S.o: + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS_MRELOCATABLE) $(INCLUDES) $(CFLAGS) -c $< + +# +# this is a bogus target that'll produce an assembler from the +# C source with the right compiler options. this is so we can +# track down code generation or debug symbol bugs. +# +.c.s: + $(CC) $(CFLAGS_FOR_TARGET) $(CFLAGS_MRELOCATABLE) -S $(INCLUDES) $(CFLAGS) $< |