Mercurial > ecos
annotate examples/build_Make.params @ 3173:afb59e9b7339
* cdl/hal_arm.cdl: Add CDL to control whether both IRQs and FIQs
are disabled in critical sections, or only IRQs. The default is to
disable both and translate any FIQs into IRQs for delivery. The
alternative is for FIQs to essentially exist outside eCos.
* include/hal_arch.h (CPSR_THREAD_INITIAL):
* include/hal_intr.h (CPSR_INTR_MASK, HAL_*_INTERRUPTS)
(HAL_*_FIQ): Add definitions for separating FIQ from IRQ.
* src/hal_mk_defs.c (main):
* src/vectors.S (start, FIQ, IRQ, spurious_IRQ):
(hal_*_interrupts, hal_*_FIQ, __fiq_stack_base): Add support for
separating FIQ from IRQ in critical section processing.
| author | nickg |
|---|---|
| date | Fri, 11 May 2012 10:24:33 +0000 |
| parents | ba637aa555ec |
| children |
| rev | line source |
|---|---|
| 436 | 1 #! /bin/sh |
| 2 | |
| 3 # This script will set up a Makefile fragment with | |
| 4 # platform specifics. This fragement can be used by | |
| 5 # the automatically generated Makefile (via the script | |
| 6 # 'build_Makefile') | |
| 7 | |
|
1197
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
8 # Copied from 'makefile' in the "install" tree |
| 436 | 9 |
|
1197
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
10 ECOS_BUILD_DIR=${1-`pwd`} |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
11 ECOS_INSTALL_DIR=`echo ${ECOS_BUILD_DIR}/install` |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
12 if [ ! -d ${ECOS_BUILD_DIR}/install ]; then |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
13 if [ ! -d ${ECOS_BUILD_DIR}/*_build ]; then |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
14 echo "Not an eCos install tree" |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
15 echo "usage: <eCos_repository>/build_Make.params [<eCos_install_dir>]" |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
16 echo "... where <eCos_install_dir> is the directory which contains" |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
17 echo " the *.ecc configuration file used to build the kernel" |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
18 exit |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
19 else |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
20 ECOS_INSTALL_DIR=`echo ${ECOS_BUILD_DIR}/*_install` |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
21 ECOS_BUILD_DIR=`echo ${ECOS_BUILD_DIR}/*_build` |
|
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
22 fi |
| 436 | 23 fi |
| 24 | |
| 25 cat <<EOF >Make.params | |
| 26 | |
| 27 # Copied from 'makefile' in the "install" tree | |
| 28 | |
| 29 EOF | |
| 30 | |
|
1197
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
31 grep export ${ECOS_BUILD_DIR}/makefile >>Make.params |
| 436 | 32 |
| 33 cat <<EOF >>Make.params | |
| 34 | |
| 35 # | |
| 36 # Target specific flags, etc. | |
| 37 # | |
| 38 | |
| 39 EOF | |
| 40 | |
|
1197
e68cf4daeda4
Update build_Make* to handle ConfigTool generated trees
gthomas
parents:
436
diff
changeset
|
41 cat ${ECOS_INSTALL_DIR}/include/pkgconf/ecos.mak >>Make.params |
| 436 | 42 |
|
2113
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
43 # |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
44 # Add CFLAGS manipulation - this should match <ecos>/packages/pkgconf/rules.mak |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
45 # |
| 436 | 46 |
|
2113
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
47 cat <<EOF >>Make.params |
| 436 | 48 |
|
2113
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
49 # |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
50 # Modify CFLAGS to match newer compilers |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
51 # |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
52 ACTUAL_CFLAGS = \$(ECOS_GLOBAL_CFLAGS) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
53 ACTUAL_CXXFLAGS = \$(ECOS_GLOBAL_CFLAGS) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
54 ACTUAL_LDFLAGS = \$(ECOS_GLOBAL_LDFLAGS) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
55 |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
56 # GCC since 2.95 does -finit-priority by default so remove it from old HALs |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
57 ACTUAL_CFLAGS := \$(subst -finit-priority,,\$(ACTUAL_CFLAGS)) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
58 |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
59 # -fvtable-gc is known to be broken in all recent GCC. |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
60 ACTUAL_CFLAGS := \$(subst -fvtable-gc,,\$(ACTUAL_CFLAGS)) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
61 |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
62 # Expand inline functions |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
63 ACTUAL_CFLAGS := -finline-limit=7000 \$(ACTUAL_CFLAGS) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
64 |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
65 # Separate C++ flags out from C flags. |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
66 ACTUAL_CFLAGS := \$(subst -fno-rtti,,\$(ACTUAL_CFLAGS)) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
67 ACTUAL_CFLAGS := \$(subst -frtti,,\$(ACTUAL_CFLAGS)) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
68 ACTUAL_CFLAGS := \$(subst -Woverloaded-virtual,,\$(ACTUAL_CFLAGS)) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
69 ACTUAL_CFLAGS := \$(subst -fvtable-gc,,\$(ACTUAL_CFLAGS)) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
70 |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
71 ACTUAL_CXXFLAGS := \$(subst -Wstrict-prototypes,,\$(ACTUAL_CXXFLAGS)) |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
72 |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
73 EOF |
|
ba637aa555ec
Improved setup for newer compilers (which have problems with some options)
gthomas
parents:
1197
diff
changeset
|
74 |
