# # 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. 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 # Miscellaneous additions go here # BSP-specific tools PRINTDUMP=$(PROJECT_TOOLS)/print_dump