From 35d7b15cb091b4062568978037853285ebb503b3 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 21 Dec 1999 14:41:43 +0000 Subject: Patch rtems-rc-19991203-7.diff from Ralf Corsepius which adds partial automake support to libcpu//*. 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)// 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//* (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 --- c/src/lib/libcpu/powerpc/mpc6xx/clock/Makefile.in | 10 ++++++++-- c/src/lib/libcpu/powerpc/mpc6xx/exceptions/Makefile.in | 4 ++-- c/src/lib/libcpu/powerpc/mpc6xx/mmu/Makefile.in | 4 ++-- c/src/lib/libcpu/powerpc/mpc6xx/wrapup/Makefile.in | 10 +++++----- 4 files changed, 17 insertions(+), 11 deletions(-) (limited to 'c/src/lib/libcpu/powerpc/mpc6xx') diff --git a/c/src/lib/libcpu/powerpc/mpc6xx/clock/Makefile.in b/c/src/lib/libcpu/powerpc/mpc6xx/clock/Makefile.in index fc945cd304..03f3d88a99 100644 --- a/c/src/lib/libcpu/powerpc/mpc6xx/clock/Makefile.in +++ b/c/src/lib/libcpu/powerpc/mpc6xx/clock/Makefile.in @@ -5,8 +5,8 @@ @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ -top_builddir = ../../.. -subdir = powerpc/mpc6xx/clock +top_builddir = ../.. +subdir = mpc6xx/clock RTEMS_ROOT = @RTEMS_ROOT@ PROJECT_ROOT = @PROJECT_ROOT@ @@ -32,6 +32,12 @@ include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg include $(RTEMS_ROOT)/make/leaf.cfg INSTALL_CHANGE = @INSTALL_CHANGE@ +mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs + +INSTALLDIRS = $(PROJECT_INCLUDE)/libcpu + +$(INSTALLDIRS): + @$(mkinstalldirs) $(INSTALLDIRS) # # (OPTIONAL) Add local stuff here using += diff --git a/c/src/lib/libcpu/powerpc/mpc6xx/exceptions/Makefile.in b/c/src/lib/libcpu/powerpc/mpc6xx/exceptions/Makefile.in index 866432d3e9..9a1ec6af6a 100644 --- a/c/src/lib/libcpu/powerpc/mpc6xx/exceptions/Makefile.in +++ b/c/src/lib/libcpu/powerpc/mpc6xx/exceptions/Makefile.in @@ -5,8 +5,8 @@ @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ -top_builddir = ../../.. -subdir = powerpc/mpc6xx/exceptions +top_builddir = ../.. +subdir = mpc6xx/exceptions RTEMS_ROOT = @RTEMS_ROOT@ PROJECT_ROOT = @PROJECT_ROOT@ diff --git a/c/src/lib/libcpu/powerpc/mpc6xx/mmu/Makefile.in b/c/src/lib/libcpu/powerpc/mpc6xx/mmu/Makefile.in index 44278afbbc..577519027a 100644 --- a/c/src/lib/libcpu/powerpc/mpc6xx/mmu/Makefile.in +++ b/c/src/lib/libcpu/powerpc/mpc6xx/mmu/Makefile.in @@ -5,8 +5,8 @@ @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ -top_builddir = ../../.. -subdir = powerpc/mpc6xx/mmu +top_builddir = ../.. +subdir = mpc6xx/mmu RTEMS_ROOT = @RTEMS_ROOT@ PROJECT_ROOT = @PROJECT_ROOT@ diff --git a/c/src/lib/libcpu/powerpc/mpc6xx/wrapup/Makefile.in b/c/src/lib/libcpu/powerpc/mpc6xx/wrapup/Makefile.in index 577d6b09a6..47617d6230 100644 --- a/c/src/lib/libcpu/powerpc/mpc6xx/wrapup/Makefile.in +++ b/c/src/lib/libcpu/powerpc/mpc6xx/wrapup/Makefile.in @@ -5,8 +5,8 @@ @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ -top_builddir = ../../.. -subdir = powerpc/mpc6xx/wrapup +top_builddir = ../.. +subdir = mpc6xx/wrapup RTEMS_ROOT = @RTEMS_ROOT@ PROJECT_ROOT = @PROJECT_ROOT@ @@ -14,13 +14,13 @@ PROJECT_ROOT = @PROJECT_ROOT@ VPATH = @srcdir@ # PROC_SPECIFIC_O_PIECES = exceptions mmu clock -PROC_SPECIFIC_O_PIECES = exceptions mmu +PROC_SPECIFIC_O_PIECES = exceptions mmu GENERIC_PIECES = # bummer; have to use $foreach since % pattern subst rules only replace 1x OBJS = $(foreach piece, $(PROC_SPECIFIC_O_PIECES), \ - ../../mpc6xx/$(piece)/$(ARCH)/*.o) $(foreach piece, \ - $(GENERIC_PIECES), ../../mpc6xx/$(piece)/$(ARCH)/*.o) + ../../mpc6xx/$(piece)/$(ARCH)/*.o) $(foreach piece, $(GENERIC_PIECES), \ + ../../mpc6xx/$(piece)/$(ARCH)/*.o) LIB = $(ARCH)/libcpuspec.a include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg -- cgit v1.2.3