source: rtems/c/src/lib/libbsp/m68k/mvme167/wrapup/Makefile.in @ 4e4e691

4.104.114.84.95
Last change on this file since 4e4e691 was 4e4e691, checked in by Joel Sherrill <joel.sherrill@…>, on 02/24/99 at 15:37:49

Patch from Charles Gauthier <Charles.Gauthier@…> to address
FP issues on this target:

The default variants of libc, libm and libgcc assume that a 68881
coprocessor is present. Without the FPSP, any floating point operation,
including printf() with a "%f" format specifier, is likely to cause an
unimplemented instruction exception.

The FPSP works with the default variants of libc, libm and libgcc. It does not
work in conjunction with the msoft-float variants. The paranoia test goes into
an infinite loop at milestone 40. I am guessing that floor() is returning an
incorrect value.

The msoft-float variants of libc, libm and libgcc appear to do floating point
I/O properly. They only failed in paranoia. Offhand, I can't think of why they
would conflict with the FPSP, so I think that there is something wrong with the
msoft-float code. It might be my installation.

Given my experiences, I decided to install the FPSP in bsp_start(), and to link
against the default variants of libc, libm and libgcc. This causes the
executables to increase in size by about 60 KB. The README file and the
mvme167.cfg specify how to remove the FPSP, and how to link against the
msoft-float variants of the libraries. This is not what Eric Norum had done: on
my host, his gen68360_040 port links RTEMS code with the msoft-float variants
of libc and libm, and the default variant of libgcc. In this configuration, the
output of printf() with "%f" is garbage on my target.

  • Property mode set to 100644
File size: 1.5 KB
Line 
1#
2#  $Id$
3#
4
5@SET_MAKE@
6srcdir = @srcdir@
7VPATH = @srcdir@
8RTEMS_ROOT = @top_srcdir@
9PROJECT_ROOT = @PROJECT_ROOT@
10
11INSTALL = @INSTALL@
12
13# We only build the networking device driver if HAS_NETWORKING was defined
14NETWORKING_DRIVER_yes_V = network
15NETWORKING_DRIVER = $(NETWORKING_DRIVER_$(HAS_NETWORKING)_V)
16
17BSP_PIECES=clock console fatal startup timer $(NETWORKING_DRIVER)
18CPU_PIECES=
19GENERIC_PIECES=
20
21# bummer; have to use $foreach since % pattern subst rules only replace 1x
22OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
23     $(foreach piece, $(CPU_PIECES), \
24         ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
25     $(wildcard \
26     ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/fpsp/$(ARCH)/fpsp.rel) \
27     $(wildcard \
28    ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/fpsp/$(ARCH)/fpsp.rel) \
29     $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
30LIB=$(ARCH)/libbsp.a
31
32include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
33include $(RTEMS_ROOT)/make/lib.cfg
34
35#
36# (OPTIONAL) Add local stuff here using +=
37#
38
39DEFINES  +=
40CPPFLAGS +=
41CFLAGS   +=
42
43LD_PATHS  +=
44LD_LIBS   +=
45LDFLAGS   +=
46
47#
48# Add your list of files to delete here.  The config files
49#  already know how to delete some stuff, so you may want
50#  to just run 'make clean' first to see what gets missed.
51#  'make clobber' already includes 'make clean'
52#
53
54CLEAN_ADDITIONS +=
55CLOBBER_ADDITIONS +=
56
57$(LIB): ${OBJS}
58        $(make-library)
59
60all:    ${ARCH} $(SRCS) $(LIB)
61        $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
62
Note: See TracBrowser for help on using the repository browser.