summaryrefslogtreecommitdiffstats
path: root/tools/build
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1997-04-01 23:07:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1997-04-01 23:07:52 +0000
commit254b4450718a0873b444d35aeb6d74ba589734ea (patch)
tree0615a270d7b384c7394eb57290f4b6b92ed20706 /tools/build
parent467eae4da5dd6fc172caa70e01b5430befd0bf29 (diff)
downloadrtems-254b4450718a0873b444d35aeb6d74ba589734ea.tar.bz2
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.
Diffstat (limited to 'tools/build')
-rw-r--r--tools/build/Makefile.in13
-rw-r--r--tools/build/os/Makefile.in13
-rw-r--r--tools/build/os/msdos/Makefile.in39
-rw-r--r--tools/build/scripts/Makefile.in34
-rw-r--r--tools/build/src/Makefile.in61
-rw-r--r--tools/build/src/unhex.c6
-rw-r--r--tools/build/unhex.c6
7 files changed, 166 insertions, 6 deletions
diff --git a/tools/build/Makefile.in b/tools/build/Makefile.in
new file mode 100644
index 0000000000..4170426842
--- /dev/null
+++ b/tools/build/Makefile.in
@@ -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
diff --git a/tools/build/os/Makefile.in b/tools/build/os/Makefile.in
new file mode 100644
index 0000000000..26c85624db
--- /dev/null
+++ b/tools/build/os/Makefile.in
@@ -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))
diff --git a/tools/build/os/msdos/Makefile.in b/tools/build/os/msdos/Makefile.in
new file mode 100644
index 0000000000..5cf6608120
--- /dev/null
+++ b/tools/build/os/msdos/Makefile.in
@@ -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
+
diff --git a/tools/build/scripts/Makefile.in b/tools/build/scripts/Makefile.in
new file mode 100644
index 0000000000..7f2db3462c
--- /dev/null
+++ b/tools/build/scripts/Makefile.in
@@ -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)
diff --git a/tools/build/src/Makefile.in b/tools/build/src/Makefile.in
new file mode 100644
index 0000000000..f6c3135d54
--- /dev/null
+++ b/tools/build/src/Makefile.in
@@ -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
diff --git a/tools/build/src/unhex.c b/tools/build/src/unhex.c
index 14e51a885c..a75ba8e665 100644
--- a/tools/build/src/unhex.c
+++ b/tools/build/src/unhex.c
@@ -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);
diff --git a/tools/build/unhex.c b/tools/build/unhex.c
index 14e51a885c..a75ba8e665 100644
--- a/tools/build/unhex.c
+++ b/tools/build/unhex.c
@@ -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);