source: rtems/c/src/lib/libcpu/sparc/syscall/Makefile.in @ 35d7b15

4.104.114.84.95
Last change on this file since 35d7b15 was 35d7b15, checked in by Joel Sherrill <joel.sherrill@…>, on 12/21/99 at 14:41:43

Patch rtems-rc-19991203-7.diff from Ralf Corsepius <corsepiu@…>
which adds partial automake support to libcpu/<cpu>/*.

Until now I have only implemented full automake support for the sh (my
demonstration example :) and the i386 (inevitiable for structural
reasons of this subdirectory). For all other cpus only their toplevel
directories (exception: powerpc), include subdirectories and a few
selected subdirectories have been converted to automake.
I did this on purpose, because add automake support to each subdirectory
requires individual adaptations which to be tested individually.

Additionally the weirdnesses of the powerpc subdirectories hit again,
esp. some powerpc cpu-models

  • install files to $(PROJECT_INCLUDE)/<cpu-model>/ while others install them to $(PROJECT_INCLUDE)/
  • the scheme used to configure libcpu/powerpc/ is difficult to implement using automake, therefore this subdirectory still is configured by autoconf (The one out of an unlimited set selection scheme hits again :), though powerpc/*/* subdirectories already apply automake.

The patch also reveils structural weaknesses in RTEMS:

E.g. There seem to exist at least 5 different general schemes:

  • Not using libcpu at all (eg. i960)
  • Strictly tree-style a libcpu/<cpu-variant>/* (eg. m68k, sh)
  • Flat libcpu directory layout with cpu-variants merged into sources or not destinguishing cpu-variants (i386)
  • Not supporting variants with deep source tree (sparc, hppa, mips64orion)
  • Woven directory structure with shared directories (powerpc)

I regret having to say this, but from my POV this means, that there
doesn't exist a general implementation scheme for libcpu at all.

To apply:

rm -rf ./c/src/lib/libcpu/i386/wrapup
rm -rf ./c/src/lib/libcpu/mips64orion/include
rm -rf ./c/src/lib/libcpu/powerpc/ppc403/include
patch -p1 < rtems-rc-19991203-7.diff
./bootstrap

  • Property mode set to 100644
File size: 1.4 KB
Line 
1#
2#  $Id$
3#
4
5@SET_MAKE@
6srcdir = @srcdir@
7top_srcdir = @top_srcdir@
8top_builddir = ..
9subdir = syscall
10
11RTEMS_ROOT = @RTEMS_ROOT@
12PROJECT_ROOT = @PROJECT_ROOT@
13
14VPATH = @srcdir@
15
16PGM = ${ARCH}/syscall.rel
17
18# C source names, if any, go here -- minus the .c
19C_PIECES =
20C_FILES = $(C_PIECES:%=%.c)
21C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
22
23H_FILES =
24
25# Assembly source names, if any, go here -- minus the .S
26S_PIECES = syscall
27S_FILES = $(S_PIECES:%=%.S)
28S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)
29
30SRCS = $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
31OBJS = $(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
32
33include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
34include $(RTEMS_ROOT)/make/leaf.cfg
35
36INSTALL_CHANGE = @INSTALL_CHANGE@
37
38#
39# (OPTIONAL) Add local stuff here using +=
40#
41
42DEFINES +=
43CPPFLAGS +=
44CFLAGS += $(CFLAGS_OS_V)
45
46LD_PATHS +=
47LD_LIBS +=
48LDFLAGS +=
49
50#
51# Add your list of files to delete here.  The config files
52#  already know how to delete some stuff, so you may want
53#  to just run 'make clean' first to see what gets missed.
54#  'make clobber' already includes 'make clean'
55#
56
57CLEAN_ADDITIONS +=
58CLOBBER_ADDITIONS +=
59
60$(PGM): ${OBJS}
61        $(make-rel)
62
63all: ${ARCH} $(SRCS) $(PGM)
64
65# the .rel file built here will be put into libbsp.a by
66#    libbsp/sparc/BSP/wrapup/Makefile
67install: all
68
69Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
70        cd $(top_builddir) \
71         && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
Note: See TracBrowser for help on using the repository browser.