summaryrefslogtreecommitdiffstats
path: root/make/custom/erc32nfp.cfg
blob: b6381e40e50e0b9db0b19d3cffc09a410dc04bfa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#
#  Config file for the European Space Agency ERC32
#  a V7 SPARC processor derived from the Cypress 601/602 set.
#
#  $Id$
#

# ERC32 without FPU

RTEMS_CPU_MODEL=erc32nfp

include $(RTEMS_ROOT)/make/custom/default.cfg

# This is the actual bsp directory used during the build process.
RTEMS_BSP_FAMILY=erc32

CPU_CFLAGS = -mcpu=cypress -msoft-float

# optimize flag: typically -0, could use -O4 or -fast
# -O4 is ok for RTEMS
CFLAGS_OPTIMIZE_V=-O4

#  This makes the target dependent options file

#  NO_TABLE_MOVE (SPARC PORT)
#     do not have a second trap table -- use the BSP's
#
#  FPU_REVB (erc32_bsp)
#     If defined, enables work-around for bug 3.14 in FPU rev.B or rev.C
#
#  CPU_U32_FIX (all) libchip/network/sonic.*
#     Needed to align received TCP/IP packets since SPARC does not 
#     support unaligned memory access.
#

define make-target-options
	@echo "#define NO_TABLE_MOVE 1"                            >>$@
	@echo "/* #define FPU_REVB 1 */"                           >>$@
	@echo "#define CPU_U32_FIX 1"                              >>$@
endef

# 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) -o $(basename $@).exe \
	    $(LINK_OBJS) $(LINK_LIBS)
	$(NM) -g -n $(basename $@).exe > $(basename $@).num
	$(SIZE) $(basename $@).exe
endef
# Miscellaneous additions go here