Ignore:
Timestamp:
Dec 21, 1999, 2:41:43 PM (21 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
369ef18
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/sh7045/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/sh7045/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)/io_types.h $(srcdir)/null.h $(srcdir)/sci.h \
    17     $(srcdir)/sh7_pfc.h $(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 = io_types.h null.h sci.h sh7_pfc.h sh7_sci.h
    3693
    3794# NOTE: Unlike other CPUS, we install into a subdirectory to avoid
    3895#       file name conflicts
    3996
    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
     97TMPINSTALL_FILES =  $(PROJECT_INCLUDE)/sh $(H_FILES:%=$(PROJECT_INCLUDE)/sh/%)
     98
     99mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../../mkinstalldirs
     100CONFIG_CLEAN_FILES =
     101DIST_COMMON =  Makefile.am Makefile.in
     102
     103
     104DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
     105
     106TAR = gtar
     107GZIP_ENV = --best
     108all: all-redirect
     109.SUFFIXES:
     110$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/../../../../../automake/local.am
     111        cd $(top_srcdir) && $(AUTOMAKE) --foreign sh7045/include/Makefile
     112
     113Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
    45114        cd $(top_builddir) \
    46          && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
     115          && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
     116
     117tags: TAGS
     118TAGS:
     119
     120
     121distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
     122
     123subdir = sh7045/include
     124
     125distdir: $(DISTFILES)
     126        here=`cd $(top_builddir) && pwd`; \
     127        top_distdir=`cd $(top_distdir) && pwd`; \
     128        distdir=`cd $(distdir) && pwd`; \
     129        cd $(top_srcdir) \
     130          && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign sh7045/include/Makefile
     131        @for file in $(DISTFILES); do \
     132          d=$(srcdir); \
     133          if test -d $$d/$$file; then \
     134            cp -pr $$d/$$file $(distdir)/$$file; \
     135          else \
     136            test -f $(distdir)/$$file \
     137            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
     138            || cp -p $$d/$$file $(distdir)/$$file || :; \
     139          fi; \
     140        done
     141info-am:
     142info: info-am
     143dvi-am:
     144dvi: dvi-am
     145check-am: all-am
     146check: check-am
     147installcheck-am:
     148installcheck: installcheck-am
     149install-exec-am:
     150install-exec: install-exec-am
     151
     152install-data-am:
     153install-data: install-data-am
     154
     155install-am: all-am
     156        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
     157install: install-am
     158uninstall-am:
     159uninstall: uninstall-am
     160all-am: Makefile all-local
     161all-redirect: all-am
     162install-strip:
     163        $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
     164installdirs:
     165
     166
     167mostlyclean-generic:
     168
     169clean-generic:
     170
     171distclean-generic:
     172        -rm -f Makefile $(CONFIG_CLEAN_FILES)
     173        -rm -f config.cache config.log stamp-h stamp-h[0-9]*
     174
     175maintainer-clean-generic:
     176mostlyclean-am:  mostlyclean-generic
     177
     178mostlyclean: mostlyclean-am
     179
     180clean-am:  clean-generic mostlyclean-am
     181
     182clean: clean-am
     183
     184distclean-am:  distclean-generic clean-am
     185
     186distclean: distclean-am
     187
     188maintainer-clean-am:  maintainer-clean-generic distclean-am
     189        @echo "This command is intended for maintainers to use;"
     190        @echo "it deletes files that may require special tools to rebuild."
     191
     192maintainer-clean: maintainer-clean-am
     193
     194.PHONY: tags distdir info-am info dvi-am dvi check check-am \
     195installcheck-am installcheck install-exec-am install-exec \
     196install-data-am install-data install-am install uninstall-am uninstall \
     197all-local all-redirect all-am all installdirs mostlyclean-generic \
     198distclean-generic clean-generic maintainer-clean-generic clean \
     199mostlyclean distclean maintainer-clean
     200
     201
     202$(PROJECT_INCLUDE)/sh:
     203        $(mkinstalldirs) $@
     204
     205$(PROJECT_INCLUDE)/sh/%.h: %.h
     206        $(INSTALL_DATA) $< $@
     207
     208all-local: $(TMPINSTALL_FILES)
     209
     210debug-am:
     211debug: debug-am
     212.PHONY: debug debug-am
     213
     214profile-am:
     215profile: profile-am
     216.PHONY: profile profile-am
     217
     218preinstall-am: $(PREINSTALL_FILES)
     219preinstall: preinstall-am
     220.PHONY: preinstall preinstall-am
     221
     222depend-am:
     223depend: depend-am
     224.PHONY: depend depend-am
     225
     226# Tell versions [3.59,3.63) of GNU make to not export all variables.
     227# Otherwise a system limit (for SysV at least) may be exceeded.
     228.NOEXPORT:
Note: See TracChangeset for help on using the changeset viewer.