Mercurial > nand-ecoscentric
changeset 2113:ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
| author | gthomas |
|---|---|
| date | Mon, 12 Dec 2005 21:58:11 +0000 |
| parents | 44d250ab3b3a |
| children | e126375ffab7 |
| files | examples/build_Make.params examples/build_Makefile |
| diffstat | 2 files changed, 32 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/examples/build_Make.params +++ b/examples/build_Make.params @@ -40,5 +40,35 @@ EOF cat ${ECOS_INSTALL_DIR}/include/pkgconf/ecos.mak >>Make.params +# +# Add CFLAGS manipulation - this should match <ecos>/packages/pkgconf/rules.mak +# +cat <<EOF >>Make.params +# +# Modify CFLAGS to match newer compilers +# +ACTUAL_CFLAGS = \$(ECOS_GLOBAL_CFLAGS) +ACTUAL_CXXFLAGS = \$(ECOS_GLOBAL_CFLAGS) +ACTUAL_LDFLAGS = \$(ECOS_GLOBAL_LDFLAGS) + +# GCC since 2.95 does -finit-priority by default so remove it from old HALs +ACTUAL_CFLAGS := \$(subst -finit-priority,,\$(ACTUAL_CFLAGS)) + +# -fvtable-gc is known to be broken in all recent GCC. +ACTUAL_CFLAGS := \$(subst -fvtable-gc,,\$(ACTUAL_CFLAGS)) + +# Expand inline functions +ACTUAL_CFLAGS := -finline-limit=7000 \$(ACTUAL_CFLAGS) + +# Separate C++ flags out from C flags. +ACTUAL_CFLAGS := \$(subst -fno-rtti,,\$(ACTUAL_CFLAGS)) +ACTUAL_CFLAGS := \$(subst -frtti,,\$(ACTUAL_CFLAGS)) +ACTUAL_CFLAGS := \$(subst -Woverloaded-virtual,,\$(ACTUAL_CFLAGS)) +ACTUAL_CFLAGS := \$(subst -fvtable-gc,,\$(ACTUAL_CFLAGS)) + +ACTUAL_CXXFLAGS := \$(subst -Wstrict-prototypes,,\$(ACTUAL_CXXFLAGS)) + +EOF +
--- a/examples/build_Makefile +++ b/examples/build_Makefile @@ -19,10 +19,10 @@ include Make.params # Simple build rules .c.o: - \$(CC) -c \$(ECOS_GLOBAL_CFLAGS) -I\$(PREFIX)/include \$*.c + \$(CC) -c \$(ACTUAL_CFLAGS) -I\$(PREFIX)/include \$*.c .o: - \$(CC) \$(ECOS_GLOBAL_LDFLAGS) -L\$(PREFIX)/lib -Ttarget.ld \$*.o -o \$@ + \$(CC) \$(ACTUAL_LDFLAGS) -L\$(PREFIX)/lib -Ttarget.ld \$*.o -o \$@ SRCS=${SRCS-source_file.c} OBJS=\${SRCS:%.c=%.o}
