source: rtems/make/custom/eth_comm.cfg @ bb47a3b

4.104.114.84.95
Last change on this file since bb47a3b was b31839e7, checked in by Joel Sherrill <joel.sherrill@…>, on 06/14/00 at 15:45:57

Moved PPC_VECTOR_FILE_BASE to targopts.h

  • Property mode set to 100644
File size: 3.3 KB
Line 
1#
2#  Config file for MPC860 based Ethernet Comm Board
3#
4#  $Id$
5#
6
7include $(RTEMS_ROOT)/make/custom/default.cfg
8
9RTEMS_CPU=powerpc
10RTEMS_CPU_MODEL=mpc8xx
11CPU_TYPE=860
12
13# This is the actual bsp directory used during the build process.
14RTEMS_BSP_FAMILY=eth_comm
15
16CPU_DEFINES=
17
18#  This section makes the target dependent options file.
19
20#  NDEBUG (C library)
21#     if defined asserts do not generate code.  This is commonly used
22#     as a command line option.
23#
24#  RTEMS_TEST_NO_PAUSE (RTEMS tests)
25#     do not pause between screens of output in the rtems tests
26#
27#  RTEMS_DEBUG (RTEMS)
28#     If defined, debug checks in RTEMS and support library code are enabled.
29#       
30#  PPC_VECTOR_FILE_BASE (PowerPC)
31#     This defines the base address of the exception table.
32#     NOTE: Vectors are actually at 0xFFF00000 but file starts at offset 0x0100
33#       
34#  PPC_ABI (PowerPC)
35#     This defines the calling convention (Application Binary Interface)
36#     used in this configuration.  EABI is the only one supported.
37#     This BSP was initially developed using the PowerOpen ABI.
38#
39#  PPC_ASM (PowerPC)
40#     This defines the assembly language format used in this configuration.
41#     ELF is the only one supported.
42#
43#  PPC_USE_SPRG (RTEMS PowerPC port)
44#     If defined (=1), then the PowerPC specific code in RTEMS will use some
45#     of the special purpose registers to slightly optimize interrupt
46#     response time.  The use of these registers can conflict with
47#     other tools like debuggers.
48
49define make-target-options
50        @echo "#ifdef mpc$(CPU_TYPE)"                       >>$@
51        @echo "#undef mpc$(CPU_TYPE)"                       >>$@
52        @echo "#endif"                                      >>$@
53        @echo "#define mpc$(CPU_TYPE) 1"                    >>$@
54        @echo                                               >>$@
55        @echo "/* #define NDEBUG 1 */ "                     >>$@
56        @echo "#define RTEMS_TEST_NO_PAUSE 1"               >>$@
57        @echo "/* #define RTEMS_DEBUG  1 */"                >>$@
58        @echo "#define PPC_VECTOR_FILE_BASE 0x0000"         >>$@
59        @echo "#define PPC_ABI PPC_ABI_EABI"                >>$@
60        @echo "#define PPC_ASM PPC_ASM_ELF"                 >>$@
61        @echo "#define PPC_USE_SPRG 1"                      >>$@
62endef
63
64#  This contains the compiler options necessary to select the CPU model
65#  and (hopefully) optimize for it.
66#
67CPU_CFLAGS = -mcpu=$(CPU_TYPE)
68
69# optimize flag: typically -0, could use -O4 or -fast
70# -O4 is ok for RTEMS
71# NOTE: some level of -O may be actually required by inline assembler
72CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
73
74# The following are definitions of make-exe which will work using ld as
75# is currently required.  It is expected that as of gcc 2.8, the end user
76# will be able to override parts of the compilers specs and link using gcc.
77
78ifeq ($(RTEMS_USE_GCC272),yes)
79# The --defsym arguments define arguments which are required by the linkcmds
80# file which is designed for gcc 2.8
81define make-exe
82        $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
83            --defsym __fini=0 --defsym __init=0 \
84            -o $@ -u atexit -u __vectors -u download_entry \
85            $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
86        $(NM) -g -n $@ > $(basename $@).num
87        $(SIZE) $@
88endef
89else
90define make-exe
91        $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $(basename $@).exe \
92            $(LINK_OBJS) $(LINK_LIBS)
93        $(NM) -g -n $@ > $(basename $@).num
94        $(SIZE) $@
95endef
96endif
97
98# Miscellaneous additions go here
99
100
Note: See TracBrowser for help on using the repository browser.