Changeset 35d7b15 in rtems for c/src/lib/libcpu/mips64orion


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:
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

Location:
c/src/lib/libcpu/mips64orion
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libcpu/mips64orion/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
     15
     16SHELL = @SHELL@
     17
    618srcdir = @srcdir@
    719top_srcdir = @top_srcdir@
    8 top_builddir = ..
    9 subdir = mips64orion
    10 
     20VPATH = @srcdir@
     21prefix = @prefix@
     22exec_prefix = @exec_prefix@
     23
     24bindir = @bindir@
     25sbindir = @sbindir@
     26libexecdir = @libexecdir@
     27datadir = @datadir@
     28sysconfdir = @sysconfdir@
     29sharedstatedir = @sharedstatedir@
     30localstatedir = @localstatedir@
     31libdir = @libdir@
     32infodir = @infodir@
     33mandir = @mandir@
     34includedir = @includedir@
     35oldincludedir = /usr/include
     36
     37DESTDIR =
     38
     39pkgdatadir = $(datadir)/@PACKAGE@
     40pkglibdir = $(libdir)/@PACKAGE@
     41pkgincludedir = $(includedir)/@PACKAGE@
     42
     43top_builddir = .
     44
     45ACLOCAL = @ACLOCAL@
     46AUTOCONF = @AUTOCONF@
     47AUTOMAKE = @AUTOMAKE@
     48AUTOHEADER = @AUTOHEADER@
     49
     50INSTALL = @INSTALL@
     51INSTALL_PROGRAM = @INSTALL_PROGRAM@
     52INSTALL_DATA = @INSTALL_DATA@
     53INSTALL_SCRIPT = @INSTALL_SCRIPT@
     54INSTALL_STRIP_FLAG =
     55transform = @program_transform_name@
     56
     57NORMAL_INSTALL = :
     58PRE_INSTALL = :
     59POST_INSTALL = :
     60NORMAL_UNINSTALL = :
     61PRE_UNINSTALL = :
     62POST_UNINSTALL = :
     63build_alias = @build_alias@
     64build_triplet = @build@
     65host_alias = @host_alias@
     66host_triplet = @host@
     67target_alias = @target_alias@
     68target_triplet = @target@
     69CC = @CC@
     70CC_FOR_TARGET = @CC_FOR_TARGET@
     71CPP = @CPP@
     72GCCSED = @GCCSED@
     73INSTALL_CHANGE = @INSTALL_CHANGE@
     74MAINT = @MAINT@
     75MAKEINFO = @MAKEINFO@
     76PACKAGE = @PACKAGE@
     77PACKHEX = @PACKHEX@
     78PROJECT_INCLUDE = @PROJECT_INCLUDE@
     79PROJECT_RELEASE = @PROJECT_RELEASE@
     80PROJECT_ROOT = @PROJECT_ROOT@
     81RTEMS_BSP = @RTEMS_BSP@
     82RTEMS_BSP_FAMILY = @RTEMS_BSP_FAMILY@
     83RTEMS_CPU = @RTEMS_CPU@
     84RTEMS_CPU_MODEL = @RTEMS_CPU_MODEL@
     85RTEMS_HOST = @RTEMS_HOST@
     86RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
    1187RTEMS_ROOT = @RTEMS_ROOT@
    12 PROJECT_ROOT = @PROJECT_ROOT@
    13 
    14 VPATH = @srcdir@
    15 
    16 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
    17 include $(RTEMS_ROOT)/make/directory.cfg
    18 
    19 INSTALL_CHANGE = @INSTALL_CHANGE@
    20 
    21 SUBDIRS = include clock timer
    22 
    23 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     88RTEMS_TOPdir = @RTEMS_TOPdir@
     89VERSION = @VERSION@
     90
     91AUTOMAKE_OPTIONS = foreign 1.4
     92ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
     93
     94SUBDIRS = clock timer
     95ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
     96mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../../mkinstalldirs
     97CONFIG_CLEAN_FILES =
     98DIST_COMMON =  Makefile.am Makefile.in aclocal.m4 configure configure.in
     99
     100
     101DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
     102
     103TAR = gtar
     104GZIP_ENV = --best
     105all: all-redirect
     106.SUFFIXES:
     107$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(top_srcdir)/../../../../../automake/subdirs.am $(top_srcdir)/../../../../../automake/local.am
     108        cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
     109
     110Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status $(BUILT_SOURCES)
    24111        cd $(top_builddir) \
    25          && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
     112          && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
     113
     114$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in
     115        cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
     116
     117config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
     118        $(SHELL) ./config.status --recheck
     119$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
     120        cd $(srcdir) && $(AUTOCONF)
     121
     122# This directory's subdirectories are mostly independent; you can cd
     123# into them and run `make' without going through this Makefile.
     124# To change the values of `make' variables: instead of editing Makefiles,
     125# (1) if the variable is set in `config.status', edit `config.status'
     126#     (which will cause the Makefiles to be regenerated when you run `make');
     127# (2) otherwise, pass the desired values on the `make' command line.
     128
     129@SET_MAKE@
     130
     131all-recursive install-data-recursive install-exec-recursive \
     132installdirs-recursive install-recursive uninstall-recursive  \
     133check-recursive installcheck-recursive info-recursive dvi-recursive:
     134        @set fnord $(MAKEFLAGS); amf=$$2; \
     135        dot_seen=no; \
     136        target=`echo $@ | sed s/-recursive//`; \
     137        list='$(SUBDIRS)'; for subdir in $$list; do \
     138          echo "Making $$target in $$subdir"; \
     139          if test "$$subdir" = "."; then \
     140            dot_seen=yes; \
     141            local_target="$$target-am"; \
     142          else \
     143            local_target="$$target"; \
     144          fi; \
     145          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
     146           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
     147        done; \
     148        if test "$$dot_seen" = "no"; then \
     149          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
     150        fi; test -z "$$fail"
     151
     152mostlyclean-recursive clean-recursive distclean-recursive \
     153maintainer-clean-recursive:
     154        @set fnord $(MAKEFLAGS); amf=$$2; \
     155        dot_seen=no; \
     156        rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
     157          rev="$$subdir $$rev"; \
     158          test "$$subdir" = "." && dot_seen=yes; \
     159        done; \
     160        test "$$dot_seen" = "no" && rev=". $$rev"; \
     161        target=`echo $@ | sed s/-recursive//`; \
     162        for subdir in $$rev; do \
     163          echo "Making $$target in $$subdir"; \
     164          if test "$$subdir" = "."; then \
     165            local_target="$$target-am"; \
     166          else \
     167            local_target="$$target"; \
     168          fi; \
     169          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
     170           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
     171        done && test -z "$$fail"
     172tags-recursive:
     173        list='$(SUBDIRS)'; for subdir in $$list; do \
     174          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
     175        done
     176
     177tags: TAGS
     178
     179ID: $(HEADERS) $(SOURCES) $(LISP)
     180        list='$(SOURCES) $(HEADERS)'; \
     181        unique=`for i in $$list; do echo $$i; done | \
     182          awk '    { files[$$0] = 1; } \
     183               END { for (i in files) print i; }'`; \
     184        here=`pwd` && cd $(srcdir) \
     185          && mkid -f$$here/ID $$unique $(LISP)
     186
     187TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
     188        tags=; \
     189        here=`pwd`; \
     190        list='$(SUBDIRS)'; for subdir in $$list; do \
     191   if test "$$subdir" = .; then :; else \
     192            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
     193   fi; \
     194        done; \
     195        list='$(SOURCES) $(HEADERS)'; \
     196        unique=`for i in $$list; do echo $$i; done | \
     197          awk '    { files[$$0] = 1; } \
     198               END { for (i in files) print i; }'`; \
     199        test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
     200          || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
     201
     202mostlyclean-tags:
     203
     204clean-tags:
     205
     206distclean-tags:
     207        -rm -f TAGS ID
     208
     209maintainer-clean-tags:
     210
     211distdir = $(PACKAGE)-$(VERSION)
     212top_distdir = $(distdir)
     213
     214# This target untars the dist file and tries a VPATH configuration.  Then
     215# it guarantees that the distribution is self-contained by making another
     216# tarfile.
     217distcheck: dist
     218        -rm -rf $(distdir)
     219        GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
     220        mkdir $(distdir)/=build
     221        mkdir $(distdir)/=inst
     222        dc_install_base=`cd $(distdir)/=inst && pwd`; \
     223        cd $(distdir)/=build \
     224          && ../configure --srcdir=.. --prefix=$$dc_install_base \
     225          && $(MAKE) $(AM_MAKEFLAGS) \
     226          && $(MAKE) $(AM_MAKEFLAGS) dvi \
     227          && $(MAKE) $(AM_MAKEFLAGS) check \
     228          && $(MAKE) $(AM_MAKEFLAGS) install \
     229          && $(MAKE) $(AM_MAKEFLAGS) installcheck \
     230          && $(MAKE) $(AM_MAKEFLAGS) dist
     231        -rm -rf $(distdir)
     232        @banner="$(distdir).tar.gz is ready for distribution"; \
     233        dashes=`echo "$$banner" | sed s/./=/g`; \
     234        echo "$$dashes"; \
     235        echo "$$banner"; \
     236        echo "$$dashes"
     237dist: distdir
     238        -chmod -R a+r $(distdir)
     239        GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
     240        -rm -rf $(distdir)
     241dist-all: distdir
     242        -chmod -R a+r $(distdir)
     243        GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
     244        -rm -rf $(distdir)
     245distdir: $(DISTFILES)
     246        -rm -rf $(distdir)
     247        mkdir $(distdir)
     248        -chmod 777 $(distdir)
     249        here=`cd $(top_builddir) && pwd`; \
     250        top_distdir=`cd $(distdir) && pwd`; \
     251        distdir=`cd $(distdir) && pwd`; \
     252        cd $(top_srcdir) \
     253          && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
     254        @for file in $(DISTFILES); do \
     255          d=$(srcdir); \
     256          if test -d $$d/$$file; then \
     257            cp -pr $$d/$$file $(distdir)/$$file; \
     258          else \
     259            test -f $(distdir)/$$file \
     260            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
     261            || cp -p $$d/$$file $(distdir)/$$file || :; \
     262          fi; \
     263        done
     264        for subdir in $(SUBDIRS); do \
     265          if test "$$subdir" = .; then :; else \
     266            test -d $(distdir)/$$subdir \
     267            || mkdir $(distdir)/$$subdir \
     268            || exit 1; \
     269            chmod 777 $(distdir)/$$subdir; \
     270            (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
     271              || exit 1; \
     272          fi; \
     273        done
     274info-am:
     275info: info-recursive
     276dvi-am:
     277dvi: dvi-recursive
     278check-am: all-am
     279check: check-recursive
     280installcheck-am:
     281installcheck: installcheck-recursive
     282install-exec-am:
     283install-exec: install-exec-recursive
     284
     285install-data-am:
     286install-data: install-data-recursive
     287
     288install-am: all-am
     289        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
     290install: install-recursive
     291uninstall-am:
     292uninstall: uninstall-recursive
     293all-am: Makefile
     294all-redirect: all-recursive
     295install-strip:
     296        $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
     297installdirs: installdirs-recursive
     298installdirs-am:
     299
     300
     301mostlyclean-generic:
     302
     303clean-generic:
     304
     305distclean-generic:
     306        -rm -f Makefile $(CONFIG_CLEAN_FILES)
     307        -rm -f config.cache config.log stamp-h stamp-h[0-9]*
     308
     309maintainer-clean-generic:
     310mostlyclean-am:  mostlyclean-tags mostlyclean-generic
     311
     312mostlyclean: mostlyclean-recursive
     313
     314clean-am:  clean-tags clean-generic mostlyclean-am
     315
     316clean: clean-recursive
     317
     318distclean-am:  distclean-tags distclean-generic clean-am
     319
     320distclean: distclean-recursive
     321        -rm -f config.status
     322
     323maintainer-clean-am:  maintainer-clean-tags maintainer-clean-generic \
     324                distclean-am
     325        @echo "This command is intended for maintainers to use;"
     326        @echo "it deletes files that may require special tools to rebuild."
     327
     328maintainer-clean: maintainer-clean-recursive
     329        -rm -f config.status
     330
     331.PHONY: install-data-recursive uninstall-data-recursive \
     332install-exec-recursive uninstall-exec-recursive installdirs-recursive \
     333uninstalldirs-recursive all-recursive check-recursive \
     334installcheck-recursive info-recursive dvi-recursive \
     335mostlyclean-recursive distclean-recursive clean-recursive \
     336maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
     337distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
     338dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
     339install-exec install-data-am install-data install-am install \
     340uninstall-am uninstall all-redirect all-am all installdirs-am \
     341installdirs mostlyclean-generic distclean-generic clean-generic \
     342maintainer-clean-generic clean mostlyclean distclean maintainer-clean
     343
     344
     345depend-recursive \
     346preinstall-recursive \
     347debug-recursive \
     348profile-recursive:
     349        @set fnord $(MAKEFLAGS); amf=$$2; \
     350        dot_seen=no; \
     351        target=`echo $@ | sed s/-recursive//`; \
     352        list='$(SUBDIRS)'; for subdir in $$list; do \
     353          echo "Making $$target in $$subdir"; \
     354          if test "$$subdir" = "."; then \
     355            dot_seen=yes; \
     356            local_target="$$target-am"; \
     357          else \
     358            local_target="$$target"; \
     359          fi; \
     360          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
     361           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
     362        done; \
     363        if test "$$dot_seen" = "no"; then \
     364          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
     365        fi; test -z "$$fail"
     366
     367debug: debug-recursive
     368.PHONY: debug-recursive
     369
     370profile: profile-recursive
     371.PHONY: profile-recursive
     372
     373preinstall: preinstall-recursive
     374.PHONY: preinstall-recursive
     375
     376depend: depend-recursive
     377.PHONY: depend-recursive
     378
     379debug-am:
     380debug: debug-am
     381.PHONY: debug debug-am
     382
     383profile-am:
     384profile: profile-am
     385.PHONY: profile profile-am
     386
     387preinstall-am: $(PREINSTALL_FILES)
     388preinstall: preinstall-am
     389.PHONY: preinstall preinstall-am
     390
     391depend-am:
     392depend: depend-am
     393.PHONY: depend depend-am
     394
     395# Tell versions [3.59,3.63) of GNU make to not export all variables.
     396# Otherwise a system limit (for SysV at least) may be exceeded.
     397.NOEXPORT:
  • c/src/lib/libcpu/mips64orion/clock/Makefile.in

    r5bce35b r35d7b15  
    66srcdir = @srcdir@
    77top_srcdir = @top_srcdir@
    8 top_builddir = ../..
    9 subdir = mips64orion/clock
     8top_builddir = ..
     9subdir = clock
    1010
    1111RTEMS_ROOT = @RTEMS_ROOT@
  • c/src/lib/libcpu/mips64orion/timer/Makefile.in

    r5bce35b r35d7b15  
    66srcdir = @srcdir@
    77top_srcdir = @top_srcdir@
    8 top_builddir = ../..
    9 subdir = mips64orion/timer
     8top_builddir = ..
     9subdir = timer
    1010
    1111RTEMS_ROOT = @RTEMS_ROOT@
Note: See TracChangeset for help on using the changeset viewer.