1 | # |
---|
2 | # Config file for the 7100 pa-risc simulator |
---|
3 | # |
---|
4 | # $Id$ |
---|
5 | # |
---|
6 | |
---|
7 | include $(RTEMS_ROOT)/make/custom/default.cfg |
---|
8 | |
---|
9 | RTEMS_CPU=hppa1.1 |
---|
10 | RTEMS_CPU_MODEL=hppa7200 |
---|
11 | |
---|
12 | # This is the actual bsp directory used during the build process. |
---|
13 | RTEMS_BSP_FAMILY=simhppa |
---|
14 | |
---|
15 | # This contains the compiler options necessary to select the CPU model |
---|
16 | # and (hopefully) optimize for it. |
---|
17 | # |
---|
18 | # Possibles: |
---|
19 | # -mpa-risc-1-1 -- HPPA 1.1 instead of 1.0 |
---|
20 | # -mportable-runtime |
---|
21 | # |
---|
22 | CPU_CFLAGS = -mpa-risc-1-1 -mportable-runtime |
---|
23 | |
---|
24 | # Possibles: |
---|
25 | # -Wall -- lots of warnings |
---|
26 | # -pipe -- compiler uses pipes to talk to phases (usually faster) |
---|
27 | # -mgas -- we are using gas as assembler |
---|
28 | # -fno-keep-inline-functions -- do not emit any inlines as static |
---|
29 | CFLAGS_DEFAULT = $(CPU_CFLAGS) -Wall -mgas |
---|
30 | |
---|
31 | # optimize flag: typically -0, could use -O4 or -fast |
---|
32 | # -O4 is ok for RTEMS |
---|
33 | # NOTE: some level of -O may be actually required by inline assembler |
---|
34 | CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions |
---|
35 | |
---|
36 | # GNU ld options |
---|
37 | # `-Tbss ORG' |
---|
38 | # `-Tdata ORG' |
---|
39 | # `-Ttext ORG' |
---|
40 | # Use ORG as the starting address for--respectively--the `bss', |
---|
41 | # `data', or the `text' segment of the output file. ORG must be a |
---|
42 | # single hexadecimal integer; for compatibility with other linkers, |
---|
43 | # you may omit the leading `0x' usually associated with hexadecimal |
---|
44 | # values. |
---|
45 | |
---|
46 | # 'NODE' is set to 1 or 2 for multi cpu tests (ref: mptests/mp01/node1/Makefile) |
---|
47 | # If NODE is set as an environment variable, don't trust it, zero it out. |
---|
48 | # (NODE turns out to be a very common environment variable) |
---|
49 | ifeq (,$(NODE)) |
---|
50 | NODE=0 |
---|
51 | else |
---|
52 | ifeq "$(origin NODE)" "environment" |
---|
53 | NODE=0 |
---|
54 | endif |
---|
55 | endif |
---|
56 | |
---|
57 | # XXX some/all of this should move into 'linkcmds' |
---|
58 | # single processor |
---|
59 | DATA_0_BASE=0x40001000 |
---|
60 | TEXT_0_BASE=0x00001000 |
---|
61 | |
---|
62 | # first node (mptests number them from 1) |
---|
63 | DATA_1_BASE=$(DATA_0_BASE) |
---|
64 | TEXT_1_BASE=$(TEXT_0_BASE) |
---|
65 | |
---|
66 | # second node (mptests number them from 1) |
---|
67 | DATA_2_BASE=0x48001000 |
---|
68 | TEXT_2_BASE=0x08001000 |
---|
69 | |
---|
70 | # for hpux ld |
---|
71 | #LD_LOC_OPTIONS=-D $(DATA_$(NODE)_BASE) -R $(TEXT_$(NODE)_BASE) |
---|
72 | # for gnu ld |
---|
73 | LD_LOC_OPTIONS=-Tdata $(DATA_$(NODE)_BASE) -Ttext $(TEXT_$(NODE)_BASE) |
---|
74 | GCC_LD_LOC_OPTIONS=-W,l-T -W,ldata -W,l$(DATA_$(NODE)_BASE) \ |
---|
75 | -W,l-T -W,ltext -W,l$(TEXT_$(NODE)_BASE) |
---|
76 | |
---|
77 | # The following are definitions of make-exe which will work using ld as |
---|
78 | # is currently required. It is expected that as of gcc 2.8, the end user |
---|
79 | # will be able to override parts of the compilers specs and link using gcc. |
---|
80 | |
---|
81 | define make-exe |
---|
82 | $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) $(GCC_LD_LOC_OPTIONS) \ |
---|
83 | -o $@ \ |
---|
84 | $(LINK_OBJS) $(LINK_LIBS) |
---|
85 | $(NM) -g -n $@ > $(basename $@).num |
---|
86 | $(SIZE) $@ |
---|
87 | endef |
---|
88 | |
---|
89 | # Miscellaneous additions go here |
---|
90 | |
---|
91 | # BSP-specific tools |
---|
92 | PRINTDUMP=$(PROJECT_TOOLS)/print_dump |
---|