source: rtems/make/custom/mvme2307.cfg @ c34eb10

Last change on this file since c34eb10 was c34eb10, checked in by Joel Sherrill <joel.sherrill@…>, on 04/03/00 at 20:01:31

Patch rtems-rc-4.5.0-7-cvs.diff from Ralf Corsepius <corsepiu@…>.
The patch contains:

  • Many small cleanups wrt. make VARIANT=[DEBUG|PROFILE] support
  • several modifications to make/custom/*.cfg
  • Merger with the mvme2307.cfg you had posted two weeks ago (Please check it, I did not check it against to version you posted today).
  • Added a check to the toplevel configure.in to refuse building inside of the source tree.
  • Property mode set to 100644
File size: 4.3 KB
Line 
1#
2#  Config file for the PowerPC 604 based mvme2307
3#
4#  $Id$
5#
6
7include $(RTEMS_ROOT)/make/custom/default.cfg
8
9RTEMS_CPU=powerpc
10RTEMS_CPU_MODEL=mpc604
11RTEMS_PPC_EXCEPTION_PROCESSING_MODEL=new
12
13# This is the actual bsp directory used during the build process.
14RTEMS_BSP_FAMILY=motorola_powerpc
15
16#  This section makes the target dependent options file.
17
18#  NDEBUG (C library)
19#     if defined asserts do not generate code.  This is commonly used
20#     as a command line option.
21#
22#  RTEMS_TEST_NO_PAUSE (RTEMS tests)
23#     do not pause between screens of output in the rtems tests
24#
25#  RTEMS_DEBUG (RTEMS)
26#     If defined, debug checks in RTEMS and support library code are enabled.
27#
28#  CONSOLE_USE_POLLED     (mvme2307_bsp)
29#  CONSOLE_USE_INTERRUPTS (mvme2307_bsp)
30#     The mvme2307 console driver has the structure to operate in either
31#     polled or interrupt mode.  However both modes only trap to the
32#     monitor currently.
33#
34#  PPC_VECTOR_FILE_BASE (PowerPC)
35#     This defines the base address of the exception table.
36#     NOTE: Vectors are actually at 0xFFF00000 but file starts at offset 0x0100
37#
38#  PPC_ABI (PowerPC)
39#     This defines the calling convention (Application Binary Interface)
40#     used in this configuration.  EABI is the only one supported.
41#
42#  PPC_ASM (PowerPC)
43#     This defines the assembly language format used in this configuration.
44#     ELF is the only one supported.
45#
46#  PPC_USE_SPRG (RTEMS PowerPC port)
47#     If defined, then the PowerPC specific code in RTEMS will use some
48#     of the special purpose registers to slightly optimize interrupt
49#     response time.  The use of these registers can conflict with
50#     other tools like debuggers.
51#
52
53define make-target-options
54        @echo "/* #define NDEBUG 1 */ "                        >>$@
55        @echo "#define RTEMS_TEST_NO_PAUSE 1"                  >>$@
56        @echo "/* #define RTEMS_DEBUG  1 */"                   >>$@
57        @echo "#define PPCN_60X_USE_DINK 0"                   >>$@
58        @echo "#define PPCN_60X_USE_NONE 1"                   >>$@
59        @echo "#define PPC_USE_DATA_CACHE 1"                   >>$@
60        @echo "#define PPC_VECTOR_FILE_BASE 0x0100"            >>$@
61        @echo "#define PPC_ABI PPC_ABI_EABI"                   >>$@
62        @echo "#define PPC_ASM PPC_ASM_ELF"                    >>$@
63        @echo "#define PPC_USE_SPRG  1"
64endef
65
66#  This contains the compiler options necessary to select the CPU model
67#  and (hopefully) optimize for it.
68#
69CPU_CFLAGS = -mcpu=604 -mmultiple -mstring -mstrict-align
70
71# optimize flag: typically -0, could use -O4 or -fast
72# -O4 is ok for RTEMS
73# NOTE: some level of -O may be actually required by inline assembler
74#CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
75CFLAGS_OPTIMIZE_V = -O4
76
77# debug flags: typically none, but at least -O1 is required due to this
78# BSP using inlined code
79CFLAGS_DEBUG_V = -O1
80
81# profile flags: typically none, but at least -O1 is required due to this
82# BSP using inlined code
83CFLAGS_PROFILE_V = -O1   
84
85# The following is a linkcmds file which will work without using the
86# -specs system in gcc 2.8.
87#       $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
88#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
89#       $(LD) $(XLDFLAGS) -Ttext 0x20000 \
90#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
91
92#       $(CC) -mmvme -mrtems -nostartfiles -mcpu=603 \
93#           -o $(basename $@).exe -L $(PROJECT_RELEASE)/lib \
94#            $(START_FILE) $(LINK_OBJS) \
95#            $(LD_LIBS) \
96#           -Wl,-\( -Wl,-lc -Wl,-lrtemsall -Wl,-lgcc -Wl,-\)
97define make-exe
98        $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS)
99        $(NM) -g -n $@ > $(basename $@).num
100        $(SIZE) $@
101#    The following commands make a bootable image but will not work outside
102#    the build tree.
103#       test -d ${PROJECT_RELEASE}/bin || mkdir ${PROJECT_RELEASE}/bin
104#       $(CP) $@ $(PROJECT_ROOT)/powerpc-rtems/c/mvme2307/lib/libbsp/powerpc/$(RTEMS_BSP_FAMILY)/bootloader/$(ARCH); \
105#       ( cd $(PROJECT_ROOT)/powerpc-rtems/c/mvme2307/lib/libbsp/powerpc/$(RTEMS_BSP_FAMILY)/bootloader; \
106#       $(MAKE) bootloader BINARY_LOADED=$@; )
107#       f=`basename $@ .exe`; \
108#        cp $(PROJECT_ROOT)/powerpc-rtems/c/mvme2307/lib/libbsp/powerpc/$(RTEMS_BSP_FAMILY)/bootloader/bootloader \
109#           ${PROJECT_RELEASE}/bin/$${f}$(LIB_VARIANT).exe \
110#       && chmod 755 \
111#         ${PROJECT_RELEASE}/bin/$${f}$(LIB_VARIANT).exe
112endef
113
114
115# Miscellaneous additions go here
116
117# No start file
118START_BASE=
Note: See TracBrowser for help on using the repository browser.