diff options
author | Michael Gielda <mgielda@antmicro.com> | 2014-04-03 14:53:04 +0200 |
---|---|---|
committer | Michael Gielda <mgielda@antmicro.com> | 2014-04-03 14:53:04 +0200 |
commit | ae1e4e08a1005a0c487f03ba189d7536e7fdcba6 (patch) | |
tree | f1c296f8a966a9a39876b0e98e16d9c5da1776dd /ecos/examples/build_Make.params | |
parent | f157da5337118d3c5cd464266796de4262ac9dbd (diff) |
Added the OS files
Diffstat (limited to 'ecos/examples/build_Make.params')
-rwxr-xr-x | ecos/examples/build_Make.params | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/ecos/examples/build_Make.params b/ecos/examples/build_Make.params new file mode 100755 index 0000000..7e868b7 --- /dev/null +++ b/ecos/examples/build_Make.params @@ -0,0 +1,74 @@ +#! /bin/sh + +# This script will set up a Makefile fragment with +# platform specifics. This fragement can be used by +# the automatically generated Makefile (via the script +# 'build_Makefile') + +# Copied from 'makefile' in the "install" tree + +ECOS_BUILD_DIR=${1-`pwd`} +ECOS_INSTALL_DIR=`echo ${ECOS_BUILD_DIR}/install` +if [ ! -d ${ECOS_BUILD_DIR}/install ]; then + if [ ! -d ${ECOS_BUILD_DIR}/*_build ]; then + echo "Not an eCos install tree" + echo "usage: <eCos_repository>/build_Make.params [<eCos_install_dir>]" + echo "... where <eCos_install_dir> is the directory which contains" + echo " the *.ecc configuration file used to build the kernel" + exit + else + ECOS_INSTALL_DIR=`echo ${ECOS_BUILD_DIR}/*_install` + ECOS_BUILD_DIR=`echo ${ECOS_BUILD_DIR}/*_build` + fi +fi + +cat <<EOF >Make.params + +# Copied from 'makefile' in the "install" tree + +EOF + +grep export ${ECOS_BUILD_DIR}/makefile >>Make.params + +cat <<EOF >>Make.params + +# +# Target specific flags, etc. +# + +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 + |