source: rtems/make/custom/mvme167.cfg @ effc2c4

Last change on this file since effc2c4 was effc2c4, checked in by Joel Sherrill <joel.sherrill@…>, on 04/03/00 at 14:44:39

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

  • build variants support
  • Reworked make-exe custom/*.cfg for all targets (Should be self-explanatory, may still be incomplete)
  • Several fixes to custom/*.cfgs related to setting debug flags
  • Fixes to some bsp_specs for BSPs which apparently have never been build with debugging before ;)
  • pc386.cfg fix attempts (cf. my mail from earlier today)
  • Updated ampolish (No need to run it, the patch contains the result from having applied it)

Known bugs/deficiencies related to this work:

  • "make [clean|distclean]" support is still incomplete (e.g. "make clean" does not delete all Depends-o-*)
  • Completely untested for linux/posix and hppa.
  • Build failures of i960 BSPs (make VARIANT=DEBUG) - I guess, they are not related to this patch.
  • Successfully tested for all sh, sparc, i386, ppc, m68k BSPs (make VARIANT=DEBUG)
  • make VARIANT=PROFILE not supported by all BSPs (I don't care :)
  • make VARIANT=DEBUG failures below tests/ for some BSPs (e.g. gensh1), because of the tests's binaries being too large to fit into the target memory layout.
  • Property mode set to 100644
File size: 2.7 KB
Line 
1#
2#  Config file for the mvme167 BSP
3#
4#  $Id$
5#
6
7RTEMS_CPU=m68k
8RTEMS_CPU_MODEL=m68040
9
10include $(RTEMS_ROOT)/make/custom/default.cfg
11
12# This is the actual bsp directory used during the build process.
13RTEMS_BSP_FAMILY=mvme167
14
15#
16#  This contains the compiler options necessary to select the CPU model
17#  and (hopefully) optimize for it.
18#
19
20CPU_CFLAGS = -m68040
21
22# optimize flag: typically -O, could use -O4 or -fast
23# -O4 is ok for RTEMS
24CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
25
26#  This section makes the target dependent options file.
27#  NDEBUG (C library)
28#     if defined asserts do not generate code.  This is commonly used
29#     as a command line option.
30#
31#  RTEMS_TEST_NO_PAUSE (RTEMS tests)
32#     do not pause between screens of output in the rtems tests
33#
34#  RTEMS_DEBUG (RTEMS)
35#     If defined, debug checks in RTEMS and support library code are enabled.
36
37define make-target-options
38        @echo "/* #define NDEBUG 1 */ "                     >>$@
39        @echo "#define RTEMS_TEST_NO_PAUSE 1"               >>$@
40        @echo "/* #define RTEMS_DEBUG  1 */"                >>$@
41endef
42
43# Here is the rule to actually build a $(ARCH)/foo.exe
44# It also builds $(ARCH)/foo.nm
45# Usage ref: src/tests/sptest/sp1/Makefile
46#
47# We use TFTP to transfer files to the MVME167. We generate binary files
48# rather than S-records. We skip the header during downloads.
49
50# The following are definitions of make-exe which will work using ld as
51# is currently required.  It is expected that as of gcc 2.8, the end user
52# will be able to override parts of the compilers specs and link using gcc.
53
54ifeq ($(RTEMS_USE_GCC272),yes)
55
56# The MC68040 does not implement all MC68881/MC68882 instructions, so use
57# either the gcc floating-point software support (msoft-float libraries), or
58# use the Motorola FPSP floating-point emulator in
59#   rtems/c/src/lib/libcpu/m68k/m68040/fpsp
60# The default is to use the FPSP.
61# To use the msoft-float libraries, uncomment the three lines below.
62# You then should comment the M68KFPSPInstallExceptionHandlers() statement
63# in rtems/c/src/lib/libbsp/m68k/mvme167/startup/bststart.c in bsp_start().
64# Floating-point support will then be limited. See the mvme167 README file
65# for more details.
66
67# LIBC_LIBC = $(RTEMS_LIBC_DIR)/lib/msoft-float/libc.a
68# LIBC_LIBM = $(RTEMS_LIBC_DIR)/lib/msoft-float/libm.a
69# LIBGCC = $(shell $(CC) -msoft-float -print-libgcc-file-name)
70
71define make-exe
72        $(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).exe \
73            $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
74        $(NM) -g -n $(basename $@).exe > $(basename $@).num
75        $(SIZE) $(basename $@).exe
76endef
77else
78define make-exe
79        $(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) -o $@ \
80            $(LINK_OBJS) $(LINK_LIBS)
81        $(NM) -g -n $@ > $(basename $@).nm
82        $(SIZE) $@
83endef
84endif
85
86# Miscellaneous additions go here
Note: See TracBrowser for help on using the repository browser.