Ignore:
Timestamp:
12/21/99 14:41:43 (24 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
369ef189
Parents:
5bce35b
Message:

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libcpu/sh/sh7032/include/Makefile.in

    r5bce35b r35d7b15  
    1 #
    2 # $Id$
    3 #
    4 
    5 @SET_MAKE@
     1# Makefile.in generated automatically by automake 1.4a from Makefile.am
     2
     3# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
     4# This Makefile.in is free software; the Free Software Foundation
     5# gives unlimited permission to copy and/or distribute it,
     6# with or without modifications, as long as this notice is preserved.
     7
     8# This program is distributed in the hope that it will be useful,
     9# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
     10# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
     11# PARTICULAR PURPOSE.
     12
     13
     14
     15SHELL = @SHELL@
     16
    617srcdir = @srcdir@
    718top_srcdir = @top_srcdir@
    8 top_builddir = ../../..
    9 subdir = sh/sh7032/include
    10 
     19VPATH = @srcdir@
     20prefix = @prefix@
     21exec_prefix = @exec_prefix@
     22
     23bindir = @bindir@
     24sbindir = @sbindir@
     25libexecdir = @libexecdir@
     26datadir = @datadir@
     27sysconfdir = @sysconfdir@
     28sharedstatedir = @sharedstatedir@
     29localstatedir = @localstatedir@
     30libdir = @libdir@
     31infodir = @infodir@
     32mandir = @mandir@
     33includedir = @includedir@
     34oldincludedir = /usr/include
     35
     36DESTDIR =
     37
     38pkgdatadir = $(datadir)/@PACKAGE@
     39pkglibdir = $(libdir)/@PACKAGE@
     40pkgincludedir = $(includedir)/@PACKAGE@
     41
     42top_builddir = ../..
     43
     44ACLOCAL = @ACLOCAL@
     45AUTOCONF = @AUTOCONF@
     46AUTOMAKE = @AUTOMAKE@
     47AUTOHEADER = @AUTOHEADER@
     48
     49INSTALL = @INSTALL@
     50INSTALL_PROGRAM = @INSTALL_PROGRAM@
     51INSTALL_DATA = @INSTALL_DATA@
     52INSTALL_SCRIPT = @INSTALL_SCRIPT@
     53INSTALL_STRIP_FLAG =
     54transform = @program_transform_name@
     55
     56NORMAL_INSTALL = :
     57PRE_INSTALL = :
     58POST_INSTALL = :
     59NORMAL_UNINSTALL = :
     60PRE_UNINSTALL = :
     61POST_UNINSTALL = :
     62build_alias = @build_alias@
     63build_triplet = @build@
     64host_alias = @host_alias@
     65host_triplet = @host@
     66target_alias = @target_alias@
     67target_triplet = @target@
     68CC = @CC@
     69CC_FOR_TARGET = @CC_FOR_TARGET@
     70CPP = @CPP@
     71GCCSED = @GCCSED@
     72INSTALL_CHANGE = @INSTALL_CHANGE@
     73MAINT = @MAINT@
     74MAKEINFO = @MAKEINFO@
     75PACKAGE = @PACKAGE@
     76PACKHEX = @PACKHEX@
     77PROJECT_INCLUDE = @PROJECT_INCLUDE@
     78PROJECT_RELEASE = @PROJECT_RELEASE@
     79PROJECT_ROOT = @PROJECT_ROOT@
     80RTEMS_BSP = @RTEMS_BSP@
     81RTEMS_BSP_FAMILY = @RTEMS_BSP_FAMILY@
     82RTEMS_CPU = @RTEMS_CPU@
     83RTEMS_CPU_MODEL = @RTEMS_CPU_MODEL@
     84RTEMS_HOST = @RTEMS_HOST@
     85RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
    1186RTEMS_ROOT = @RTEMS_ROOT@
    12 PROJECT_ROOT = @PROJECT_ROOT@
    13 
    14 VPATH = @srcdir@
    15 
    16 H_FILES = $(srcdir)/null.h $(srcdir)/sci.h $(srcdir)/sh7_pfc.h \
    17     $(srcdir)/sh7_sci.h
    18 
    19 SRCS = $(H_FILES)
    20 
    21 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
    22 include $(RTEMS_ROOT)/make/leaf.cfg
    23 
    24 INSTALL_CHANGE = @INSTALL_CHANGE@
    25 mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs
    26 
    27 INSTALLDIRS = $(PROJECT_INCLUDE)/sh
    28 
    29 $(INSTALLDIRS):
    30         @$(mkinstalldirs) $(INSTALLDIRS)
    31 
    32 CLEAN_ADDITIONS +=
    33 CLOBBER_ADDITIONS +=
    34 
    35 all: install
     87RTEMS_TOPdir = @RTEMS_TOPdir@
     88VERSION = @VERSION@
     89
     90AUTOMAKE_OPTIONS = foreign 1.4
     91
     92H_FILES = null.h sci.h sh7_pfc.h sh7_sci.h
     93noinst_HEADERS = $(H_FILES)
    3694
    3795# NOTE: Unlike other CPUS, we install into a subdirectory to avoid
    3896#       file name conflicts
    3997
    40 install:
    41         $(mkinstalldirs) $(PROJECT_INCLUDE)/sh
    42         @$(INSTALL_CHANGE) -m 644 $(H_FILES) $(PROJECT_INCLUDE)/sh
    43 
    44 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     98TMPINSTALL_FILES = $(PROJECT_INCLUDE)/sh     $(H_FILES:%=$(PROJECT_INCLUDE)/sh/%)
     99
     100mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../../mkinstalldirs
     101CONFIG_CLEAN_FILES =
     102HEADERS =  $(noinst_HEADERS)
     103
     104DIST_COMMON =  Makefile.am Makefile.in
     105
     106
     107DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
     108
     109TAR = gtar
     110GZIP_ENV = --best
     111all: all-redirect
     112.SUFFIXES:
     113$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/../../../../../automake/local.am
     114        cd $(top_srcdir) && $(AUTOMAKE) --foreign sh7032/include/Makefile
     115
     116Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
    45117        cd $(top_builddir) \
    46          && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
     118          && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
     119
     120
     121tags: TAGS
     122
     123ID: $(HEADERS) $(SOURCES) $(LISP)
     124        list='$(SOURCES) $(HEADERS)'; \
     125        unique=`for i in $$list; do echo $$i; done | \
     126          awk '    { files[$$0] = 1; } \
     127               END { for (i in files) print i; }'`; \
     128        here=`pwd` && cd $(srcdir) \
     129          && mkid -f$$here/ID $$unique $(LISP)
     130
     131TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
     132        tags=; \
     133        here=`pwd`; \
     134        list='$(SOURCES) $(HEADERS)'; \
     135        unique=`for i in $$list; do echo $$i; done | \
     136          awk '    { files[$$0] = 1; } \
     137               END { for (i in files) print i; }'`; \
     138        test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
     139          || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
     140
     141mostlyclean-tags:
     142
     143clean-tags:
     144
     145distclean-tags:
     146        -rm -f TAGS ID
     147
     148maintainer-clean-tags:
     149
     150distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
     151
     152subdir = sh7032/include
     153
     154distdir: $(DISTFILES)
     155        here=`cd $(top_builddir) && pwd`; \
     156        top_distdir=`cd $(top_distdir) && pwd`; \
     157        distdir=`cd $(distdir) && pwd`; \
     158        cd $(top_srcdir) \
     159          && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign sh7032/include/Makefile
     160        @for file in $(DISTFILES); do \
     161          d=$(srcdir); \
     162          if test -d $$d/$$file; then \
     163            cp -pr $$d/$$file $(distdir)/$$file; \
     164          else \
     165            test -f $(distdir)/$$file \
     166            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
     167            || cp -p $$d/$$file $(distdir)/$$file || :; \
     168          fi; \
     169        done
     170info-am:
     171info: info-am
     172dvi-am:
     173dvi: dvi-am
     174check-am: all-am
     175check: check-am
     176installcheck-am:
     177installcheck: installcheck-am
     178install-exec-am:
     179install-exec: install-exec-am
     180
     181install-data-am:
     182install-data: install-data-am
     183
     184install-am: all-am
     185        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
     186install: install-am
     187uninstall-am:
     188uninstall: uninstall-am
     189all-am: Makefile $(HEADERS) all-local
     190all-redirect: all-am
     191install-strip:
     192        $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
     193installdirs:
     194
     195
     196mostlyclean-generic:
     197
     198clean-generic:
     199
     200distclean-generic:
     201        -rm -f Makefile $(CONFIG_CLEAN_FILES)
     202        -rm -f config.cache config.log stamp-h stamp-h[0-9]*
     203
     204maintainer-clean-generic:
     205mostlyclean-am:  mostlyclean-tags mostlyclean-generic
     206
     207mostlyclean: mostlyclean-am
     208
     209clean-am:  clean-tags clean-generic mostlyclean-am
     210
     211clean: clean-am
     212
     213distclean-am:  distclean-tags distclean-generic clean-am
     214
     215distclean: distclean-am
     216
     217maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
     218                distclean-am
     219        @echo "This command is intended for maintainers to use;"
     220        @echo "it deletes files that may require special tools to rebuild."
     221
     222maintainer-clean: maintainer-clean-am
     223
     224.PHONY: tags mostlyclean-tags distclean-tags clean-tags \
     225maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
     226installcheck-am installcheck install-exec-am install-exec \
     227install-data-am install-data install-am install uninstall-am uninstall \
     228all-local all-redirect all-am all installdirs mostlyclean-generic \
     229distclean-generic clean-generic maintainer-clean-generic clean \
     230mostlyclean distclean maintainer-clean
     231
     232
     233$(PROJECT_INCLUDE)/sh:
     234        $(mkinstalldirs) $@
     235
     236$(PROJECT_INCLUDE)/sh/%.h: %.h
     237        $(INSTALL_DATA) $< $@
     238
     239all-local: $(TMPINSTALL_FILES)
     240
     241debug-am:
     242debug: debug-am
     243.PHONY: debug debug-am
     244
     245profile-am:
     246profile: profile-am
     247.PHONY: profile profile-am
     248
     249preinstall-am: $(PREINSTALL_FILES)
     250preinstall: preinstall-am
     251.PHONY: preinstall preinstall-am
     252
     253depend-am:
     254depend: depend-am
     255.PHONY: depend depend-am
     256
     257# Tell versions [3.59,3.63) of GNU make to not export all variables.
     258# Otherwise a system limit (for SysV at least) may be exceeded.
     259.NOEXPORT:
Note: See TracChangeset for help on using the changeset viewer.