forked from Imagelibrary/rtems
103 lines
2.9 KiB
INI
103 lines
2.9 KiB
INI
#
|
|
# Config file for the 7100 pa-risc simulator
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
include $(RTEMS_ROOT)/make/custom/default.cfg
|
|
|
|
RTEMS_CPU=hppa1.1
|
|
RTEMS_CPU_MODEL=hppa7200
|
|
|
|
# This is the actual bsp directory used during the build process.
|
|
RTEMS_BSP_FAMILY=simhppa
|
|
|
|
# This contains the compiler options necessary to select the CPU model
|
|
# and (hopefully) optimize for it.
|
|
#
|
|
# Possibles:
|
|
# -mpa-risc-1-1 -- HPPA 1.1 instead of 1.0
|
|
# -mportable-runtime
|
|
#
|
|
CPU_CFLAGS = -mpa-risc-1-1 -mportable-runtime
|
|
|
|
# Possibles:
|
|
# -Wall -- lots of warnings
|
|
# -pipe -- compiler uses pipes to talk to phases (usually faster)
|
|
# -mgas -- we are using gas as assembler
|
|
# -fno-keep-inline-functions -- do not emit any inlines as static
|
|
CFLAGS_DEFAULT = $(CPU_CFLAGS) -Wall -mgas
|
|
|
|
# optimize flag: typically -0, could use -O4 or -fast
|
|
# -O4 is ok for RTEMS
|
|
# NOTE: some level of -O may be actually required by inline assembler
|
|
CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
|
|
|
|
# GNU ld options
|
|
# `-Tbss ORG'
|
|
# `-Tdata ORG'
|
|
# `-Ttext ORG'
|
|
# Use ORG as the starting address for--respectively--the `bss',
|
|
# `data', or the `text' segment of the output file. ORG must be a
|
|
# single hexadecimal integer; for compatibility with other linkers,
|
|
# you may omit the leading `0x' usually associated with hexadecimal
|
|
# values.
|
|
|
|
# 'NODE' is set to 1 or 2 for multi cpu tests (ref: mptests/mp01/node1/Makefile)
|
|
# If NODE is set as an environment variable, don't trust it, zero it out.
|
|
# (NODE turns out to be a very common environment variable)
|
|
ifeq (,$(NODE))
|
|
NODE=0
|
|
else
|
|
ifeq "$(origin NODE)" "environment"
|
|
NODE=0
|
|
endif
|
|
endif
|
|
|
|
# XXX some/all of this should move into 'linkcmds'
|
|
# single processor
|
|
DATA_0_BASE=0x40001000
|
|
TEXT_0_BASE=0x00001000
|
|
|
|
# first node (mptests number them from 1)
|
|
DATA_1_BASE=$(DATA_0_BASE)
|
|
TEXT_1_BASE=$(TEXT_0_BASE)
|
|
|
|
# second node (mptests number them from 1)
|
|
DATA_2_BASE=0x48001000
|
|
TEXT_2_BASE=0x08001000
|
|
|
|
# for hpux ld
|
|
#LD_LOC_OPTIONS=-D $(DATA_$(NODE)_BASE) -R $(TEXT_$(NODE)_BASE)
|
|
# for gnu ld
|
|
LD_LOC_OPTIONS=-Tdata $(DATA_$(NODE)_BASE) -Ttext $(TEXT_$(NODE)_BASE)
|
|
GCC_LD_LOC_OPTIONS=-W,l-T -W,ldata -W,l$(DATA_$(NODE)_BASE) \
|
|
-W,l-T -W,ltext -W,l$(TEXT_$(NODE)_BASE)
|
|
|
|
# The following are definitions of make-exe which will work using ld as
|
|
# is currently required. It is expected that as of gcc 2.8, the end user
|
|
# will be able to override parts of the compilers specs and link using gcc.
|
|
|
|
ifeq ($(RTEMS_USE_GCC272),yes)
|
|
define make-exe
|
|
$(LDARGS) $(LD) $(LD_LOC_OPTIONS) $(XLDFLAGS) -a archive \
|
|
-o $@ -u atexit \
|
|
$(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
|
|
$(NM) -g -n $@ > $(basename $@).num
|
|
$(SIZE) $@
|
|
endef
|
|
else
|
|
define make-exe
|
|
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) $(GCC_LD_LOC_OPTIONS) \
|
|
-o $@ \
|
|
$(LINK_OBJS) $(LINK_LIBS)
|
|
$(NM) -g -n $@ > $(basename $@).num
|
|
$(SIZE) $@
|
|
endef
|
|
endif
|
|
|
|
# Miscellaneous additions go here
|
|
|
|
# BSP-specific tools
|
|
PRINTDUMP=$(PROJECT_TOOLS)/print_dump
|