This set of changes is the build of what was required to convert to

GNU autoconf.  This is the first large step in allowing an RTEMS
user to perform a one-tree build (per crossgcc FAQ) including RTEMS
in the build process.  With this change RTEMS is configured in
built in the same style as the GNU tools, yet retains the basic
structure of its traditional Makefiles (ala Tony Bennett).
Jiri Gaisler (jgais@wd.estec.esa.nl) deserves (and received)
a big thank you for doing this.

There are still issues to be resolved but as of this commit, all target
which can be built on a linux host have been using a modified version
of the source Jiri submitted.  This source was merged and most targets
built in the tree before this commit.

There are some issues which remain to be resolved but they are primarily
related to host OS dependencies, script issues, the use of gawk
for hack_specs, and the dependence on gcc snapshots.  These will
be resolved.
This commit is contained in:
Joel Sherrill
1997-04-01 23:07:52 +00:00
parent 467eae4da5
commit 254b445071
461 changed files with 27179 additions and 239 deletions

13
tools/build/Makefile.in Normal file
View File

@@ -0,0 +1,13 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
include $(RTEMS_CUSTOM)
include $(RTEMS_ROOT)/make/directory.cfg
SUB_DIRS=os scripts src

View File

@@ -0,0 +1,13 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
include $(RTEMS_CUSTOM)
include $(RTEMS_ROOT)/make/directory.cfg
SUB_DIRS=$(wildcard $(RTEMS_HOST))

View File

@@ -0,0 +1,39 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
include $(RTEMS_CUSTOM)
include $(PROJECT_ROOT)/make/leaf.cfg
DESTDIR=$(PROJECT_RELEASE)/build-tools
INSTALLED=$(DESTDIR)/ifc.exe \
$(DESTDIR)/cklength.exe \
$(DESTDIR)/fixtimer.exe
all: $(DESTDIR) $(PGMS) install
echo $(DESTDIR)
$(DESTDIR):
[ -d $@ ] || $(MKDIR) $@
install: $(INSTALLED)
# Install the programs
$(DESTDIR)/ifc.exe: ifc_exe.uue
uudecode <ifc_exe.uue
mv ifc.exe $(DESTDIR)/ifc.exe
$(DESTDIR)/cklength.exe: cklength.uue
uudecode <cklength.uue
mv cklength.exe $(DESTDIR)/cklength.exe
$(DESTDIR)/fixtimer.exe: fixtimer.uue
uudecode <fixtimer.uue
mv fixtimer.exe $(DESTDIR)/fixtimer.exe

View File

@@ -0,0 +1,34 @@
#
# $Id$
#
# RTEMS build tools
# NOTE: of course we can't use any of these tools
# in this Makefile. Most notably: install-if-change
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
include $(RTEMS_CUSTOM)
include $(RTEMS_ROOT)/make/leaf.cfg
DESTDIR=$(PROJECT_RELEASE)/build-tools
PGMS=hackspecs.awk install-if-change rcs-clean \
lock-directory unlock-directory rtems-glom
INSTALLED=$(PGMS:%=$(DESTDIR)/%)
all: $(DESTDIR) $(PGMS) install
echo $(DESTDIR)
$(DESTDIR):
[ -d $@ ] || $(MKDIR) $@
install: $(INSTALLED)
# Install the program
$(DESTDIR)/%: %
$(make-script)

View File

@@ -0,0 +1,61 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
manext = 1
mandir = @mandir@/man$(manext)
VPATH=@srcdir@
# we use host compiler in this directory
USE_HOST_COMPILER=yes
# C source names, if any, go here -- minus the .c
C_PIECES=cklength eolstrip packhex unhex
C_FILES=$(C_PIECES:%=%.c)
C_O_FILES=$(C_PIECES:%=$(ARCH)/%.o)
H_FILES=
SRCS=$(C_FILES) $(CC_FILES) $(H_FILES)
OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
PGMS=$(ARCH)/cklength $(ARCH)/eolstrip $(ARCH)/packhex $(ARCH)/unhex
include $(RTEMS_CUSTOM)
include $(RTEMS_ROOT)/make/leaf.cfg
#
# (OPTIONAL) Add local stuff here using +=
#
DEFINES +=
CPPFLAGS +=
CFLAGS +=
LD_PATHS +=
LD_LIBS +=
LDFLAGS +=
#
# Add your list of files to delete here. The config files
# already know how to delete some stuff, so you may want
# to just run 'make clean' first to see what gets missed.
# 'make clobber' already includes 'make clean'
#
CLEAN_ADDITIONS += $(HOST_ARCH)
CLOBBER_ADDITIONS +=
all: $(ARCH) $(SRCS) $(PGMS)
$(INSTALL_VARIANT) -m 555 $(PGMS) ${PROJECT_RELEASE}/build-tools

View File

@@ -88,10 +88,10 @@ void error(int errn, ...);
#define ERR_ABORT (ERR_ERRNO / 4) /* error is fatal; abort */
#define ERR_MASK (ERR_ERRNO | ERR_FATAL | ERR_ABORT) /* all */
#if (defined(sparc) && (sunos < 500))
#define stol(p) strtol(p, (char **) NULL, 0) /* Sunos */
#ifdef HAVE_STRTOUL
#define stol(p) strtoul(p, (char **) NULL, 0)
#else
#define stol(p) strtoul(p, (char **) NULL, 0) /* Solaris */
#define stol(p) strtol(p, (char **) NULL, 0)
#endif
int unhex(FILE *ifp, char *inm, FILE *ofp, char *onm);

View File

@@ -88,10 +88,10 @@ void error(int errn, ...);
#define ERR_ABORT (ERR_ERRNO / 4) /* error is fatal; abort */
#define ERR_MASK (ERR_ERRNO | ERR_FATAL | ERR_ABORT) /* all */
#if (defined(sparc) && (sunos < 500))
#define stol(p) strtol(p, (char **) NULL, 0) /* Sunos */
#ifdef HAVE_STRTOUL
#define stol(p) strtoul(p, (char **) NULL, 0)
#else
#define stol(p) strtoul(p, (char **) NULL, 0) /* Solaris */
#define stol(p) strtol(p, (char **) NULL, 0)
#endif
int unhex(FILE *ifp, char *inm, FILE *ofp, char *onm);

13
tools/cpu/Makefile.in Normal file
View File

@@ -0,0 +1,13 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
include $(RTEMS_CUSTOM)
include $(PROJECT_ROOT)/make/directory.cfg
SUB_DIRS=generic $(wildcard $(RTEMS_CPU))

View File

@@ -0,0 +1,33 @@
#
# $Id$
#
# RTEMS build tools
# NOTE: of course we can't use any of these tools
# in this Makefile. Most notably: install-if-change
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
include $(RTEMS_CUSTOM)
include $(PROJECT_ROOT)/make/leaf.cfg
DESTDIR=$(PROJECT_RELEASE)/bin
PGMS=size_rtems
INSTALLED=$(PGMS:%=$(DESTDIR)/%)
all: $(DESTDIR) $(PGMS) install
echo $(DESTDIR)
$(DESTDIR):
[ -d $@ ] || $(MKDIR) $@
install: $(INSTALLED)
# Install the program
$(DESTDIR)/%: %
$(make-script)

View File

@@ -0,0 +1,61 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
# we use host compiler here for gensize. Hopefully it has same alignment!!
USE_HOST_COMPILER=yes
# C source names, if any, go here -- minus the .c
C_PIECES=gensize
C_FILES=$(C_PIECES:%=%.c)
C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
H_FILES=
SRCS=$(C_FILES) $(H_FILES)
OBJS=$(C_O_FILES)
PGMS=${ARCH}/gensize
include $(RTEMS_CUSTOM)
include $(PROJECT_ROOT)/make/leaf.cfg
# We use files that have not been installed yet.
CPU_DIR=../../cpu/$(RTEMS_CPU)
#
# (OPTIONAL) Add local stuff here using +=
#
DEFINES +=
CPPFLAGS += -I$(PROJECT_RELEASE)/include \
-I$(CPU_DIR)
CFLAGS +=
LD_PATHS +=
LD_LIBS +=
LDFLAGS +=
#
# Add your list of files to delete here.
#
CLEAN_ADDITIONS +=
CLOBBER_ADDITIONS +=
all: ${ARCH} $(SRCS) $(PGMS)
$(INSTALL) -m 555 ${PGMS} ${PROJECT_RELEASE}/bin
# Hack
# we are #including files that haven't been installed yet.
# Make sure they are available in the src tree (ie: checked
# out from SCCS or RCS)
preinstall:
# Install the program(s), appending _g or _p as appropriate.
# for include files, just use $(INSTALL)

37
tools/update/Makefile.in Normal file
View File

@@ -0,0 +1,37 @@
#
# $Id$
#
# NOTE: of course we can't use any of these tools
# in this Makefile. Most notably: install-if-change
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH=@srcdir@
include $(RTEMS_CUSTOM)
include $(RTEMS_ROOT)/make/leaf.cfg
DESTDIR=$(PROJECT_RELEASE)/update-tools
PGMS=update word-replace
MISC_SUPPORT=310_to_320_list
INSTALL_LIST= $(PGMS) $(MISC_SUPPORT)
INSTALLED=$(INSTALL_LIST:%=$(DESTDIR)/%)
all: $(DESTDIR)
echo $(DESTDIR)
$(DESTDIR):
[ -d $@ ] || $(MKDIR) $@
install: $(INSTALLED)
# Install the program
$(DESTDIR)/%: %
$(make-script)
$(INSTALL) -m 555 $(PERL_PGMS) ${DESTDIR}
$(INSTALL) -m 444 $(srcdir)/$(MISC_SUPPORT) ${DESTDIR}