source: rtems/make/custom/dmv177.cfg @ 0d744ab

Last change on this file since 0d744ab was 67077a1, checked in by Joel Sherrill <joel.sherrill@…>, on 03/21/00 at 17:11:40

Patches rtems-rc-4.5.0-1.diff from Ralf Corsepius <corsepiu@…>
that addresses the following:

  • Duplicate variables in Makefiles (many Makefile.ams below c/src/test are affected systematically)
  • Erroniously using local.am instead of host.am in host-Makefile.am (Only host Makefile.ams should be affected; Erroniously using local.am in host-Makefiles doesn't desturb much)
  • use '.' instead of '$pwd' in ./bootstrap (using $pwd does not work if $pwd is a symlink on linux).
  • Broken CVS Ids somewhere
  • Removing redundant/obsolete make variables from *.cfg files.

Except of the last item from the list above, most parts of this patch
are fairly harmless, sometimes even cosmetical.

As mentioned before, this patch also contains a new ampolish script.

This script features:

  • Pretty printing of Makefile.ams (eg. removal of trailing spaces, removal of duplicate empty lines, pretty printing make variables, etc.).
  • Some syntactical checks on the contents of Makefiles.am
  • Proper handling of Automake conditionals

FYI:

  • Applying tools/update/rtems-polish.sh -am completely reformats all Makefile.am resulting into a very large (~500k) diff.
  • Applying tools/update/rtems-polish.sh -am twice, finally does not reformat the Makefile.ams anymore.
  • Many parts of the patch above result from merging back issues which have shown when applying this new ampolish (i.e. partially result from extracting the essentials of reformating being proposed by applying it on Makefile.ams).

Though this ampolish is a very nice tool, IMHO, I am hestitant if you
should apply (i.e. run tools/update/rtems-polish.sh -am) it to the
sources before the release, because

  • the resulting diff is fairly large
  • I am not 100% sure it doesn't break anything.

However, applying it after the release would result into compatibility
problems in applying patches ;)

I would suggest that you might consider trying it locally, then to
examine the diff and then to decide whether to apply it in general or
not.

Joel's Comments:

As Ralf points out, this patch is problematic in that applying it before
a release could break things but applying it afterwards will result in
patches being unusable for Makefiles. My inclination is to forge ahead
and apply it.

  • Property mode set to 100644
File size: 4.6 KB
Line 
1#
2#  Config file for a PowerPC 603e based DY-4 VMEbus Single Board Computer.
3#  This BSP should work with the following models:
4#
5#     + SVME-171/DMV-171
6#     + SVME-176/DMV-176
7#
8#  $Id$
9#
10
11include $(RTEMS_ROOT)/make/custom/default.cfg
12
13RTEMS_CPU=powerpc
14RTEMS_CPU_MODEL=ppc603e
15
16# This is the actual bsp directory used during the build process.
17RTEMS_BSP_FAMILY=dmv177
18
19#  This section makes the target dependent options file.
20
21#  NDEBUG (C library)
22#     if defined asserts do not generate code.  This is commonly used
23#     as a command line option.
24#
25#  RTEMS_TEST_NO_PAUSE (RTEMS tests)
26#     do not pause between screens of output in the rtems tests
27#
28#  RTEMS_DEBUG (RTEMS)
29#     If defined, debug checks in RTEMS and support library code are enabled.
30#
31#  CONSOLE_USE_POLLED     (psim_bsp)
32#  CONSOLE_USE_INTERRUPTS (psim_bsp)
33#     The psim console driver has the structure to operate in either
34#     polled or interrupt mode.  However both modes only trap to the
35#     monitor currently.
36#
37#  PPC_VECTOR_FILE_BASE (ppc)
38#     This defines the base address of the exception table.
39#     NOTE: Vectors are actually at 0xFFF00000 but file starts at offset 0x0100
40#
41#  PPC_ABI (ppc)
42#     This defines the calling convention (Application Binary Interface)
43#     used in this configuration.  EABI is the only one supported.
44#
45#  PPC_ASM (ppc)
46#     This defines the assembly language format used in this configuration.
47#     ELF is the only one supported.
48#
49#  PPC_USE_SPRG (RTEMS PowerPC port)
50#     If defined, then the PowerPC specific code in RTEMS will use some
51#     of the special purpose registers to slightly optimize interrupt
52#     response time.  The use of these registers can conflict with
53#     other tools like debuggers.
54#
55#  PPC_USE_DATA_CACHE (RTEMS PowerPC port/BSP)
56#     If defined, then the PowerPC specific code in RTEMS will use
57#     data cache instructions to optimize the context switch code.
58#     This code can conflict with debuggers or emulators.  It is known
59#     to break the Corelis PowerPC emulator with at least some combinations
60#     of PowerPC 603e revisions and emulator versions.
61#     The BSP actually contains the call that enables this.
62#
63#  PPC_USE_INSTRUCTION_CACHE (RTEMS PowerPC port/BSP)
64#     If defined, then the PowerPC specific code in RTEMS will use
65#     data cache instructions to optimize the context switch code.
66#     This code can conflict with debuggers or emulators.
67#     The BSP actually contains the call that enables this.
68
69define make-target-options
70        @echo "/* #define NDEBUG 1 */ "                            >>$@
71        @echo "#define RTEMS_TEST_NO_PAUSE 1"                      >>$@
72        @echo "/* #define RTEMS_DEBUG  1 */"                       >>$@
73        @echo "#define CONSOLE_USE_INTERRUPTS 0"                   >>$@
74        @echo "#define CONSOLE_USE_POLLED !CONSOLE_USE_INTERRUPTS" >>$@
75        @echo "#define PPC_VECTOR_FILE_BASE 0x0100"                >>$@
76        @echo "#define PPC_ABI PPC_ABI_EABI"                       >>$@
77        @echo "#define PPC_ASM PPC_ASM_ELF"                        >>$@
78        @echo "#define PPC_USE_SPRG 0"                             >>$@
79        @echo "#define PPC_USE_DATA_CACHE 0"                       >>$@
80        @echo "#define PPC_USE_INSTRUCTION_CACHE 1"                >>$@
81endef
82
83#  This contains the compiler options necessary to select the CPU model
84#  and (hopefully) optimize for it.
85#
86CPU_CFLAGS = -mcpu=603
87
88# optimize flag: typically -0, could use -O4 or -fast
89# -O4 is ok for RTEMS
90# NOTE: some level of -O may be actually required by inline assembler
91CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
92
93# Define this to yes if this target supports a real-time clock.
94HAS_RTC=yes
95
96# The following is a ld command file which works without using the
97# -specs system in gcc 2.8.  IT HAS NEVER BEEN TESTED WITH THIS BSP!!!
98#       $(LD) $(XLDFLAGS) -T $(LINKCMDS) \
99#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
100#       $(LD) $(XLDFLAGS) -Ttext 0x20000 \
101#         -o $@ -u atexit -u __vectors -u download_entry $(LINK_FILES)
102
103#       $(CC) -mmvme -mrtems -nostartfiles -mcpu=603 \
104#           -o $(basename $@).exe -L $(PROJECT_RELEASE)/lib \
105#            $(START_FILE) $(LINK_OBJS) \
106#            $(LD_LIBS) \
107#           -Wl,-\( -Wl,-lc -Wl,-lrtemsall -Wl,-lgcc -Wl,-\)
108define make-exe
109        $(CC) $(CPPFLAGS) $(CFLAGS) \
110            -o $(basename $@).nxe $(LINK_OBJS) $(LINK_LIBS)
111        $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i
112        $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \
113            $(PACKHEX) > $(basename $@).exe
114        $(NM) -g -n $(basename $@).nxe > $(basename $@).num
115        $(SIZE) $(basename $@).nxe
116        $(STRIP) $(basename $@).nxe
117endef
118
119# Miscellaneous additions go here
120
121# Let the HWAPI know which set of drivers to build
122DRIVER_ARCHITECTURE=vmebus
Note: See TracBrowser for help on using the repository browser.