Index: c/src/lib/libbsp/i386/i386ex/ChangeLog
===================================================================
--- c/src/lib/libbsp/i386/i386ex/ChangeLog	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ c/src/lib/libbsp/i386/i386ex/ChangeLog	(revision 5b47c7f3cf929ac0fa10975aad048870cbeb65e5)
@@ -1,2 +1,11 @@
+2004-01-30	Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+	* Makefile.am: Merge-in clock/Makefile.am, console/Makefile.am,
+	network/Makefile.am, startup/Makefile.am, timer/Makefile.am,
+	wrapup/Makefile.am. Use automake compilation rules.
+	* clock/Makefile.am, console/Makefile.am, network/Makefile.am,
+	startup/Makefile.am, timer/Makefile.am, wrapup/Makefile.am: Remove.
+	* configure.ac: Reflect changes above.
+
 2004-01-28	Ralf Corsepius <corsepiu@faw.uni-ulm.de>
 
Index: c/src/lib/libbsp/i386/i386ex/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/i386ex/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ c/src/lib/libbsp/i386/i386ex/Makefile.am	(revision 5b47c7f3cf929ac0fa10975aad048870cbeb65e5)
@@ -8,16 +8,114 @@
 include $(top_srcdir)/../../bsp.am
 
-# wrapup is the one that actually builds and installs the library
-# from the individual .rel files built in other directories
-SUBDIRS = . startup clock console timer network wrapup
+EXTRA_PROGRAMS =
+CLEANFILES =
+noinst_DATA =
 
 include_HEADERS += include/coverhd.h
 
 noinst_HEADERS = start/80386ex.h start/80386ex.inc start/macros.inc
-S_FILES = start/start.S
-$(ARCH)/%$(LIB_VARIANT).$(OBJEXT): start/start.S $(ARCH)/$(dirstamp)
+EXTRA_DIST = start/start.S
+start$(LIB_VARIANT).$(OBJEXT): start/start.S
 	$(CCASCOMPILE) -DASM -o $@ -c $<
 
-project_lib_DATA = $(ARCH)/start$(LIB_VARIANT).$(OBJEXT)
+project_lib_DATA = start$(LIB_VARIANT).$(OBJEXT)
+dist_project_lib_DATA += startup/linkcmds
+
+EXTRA_PROGRAMS += startup.rel
+CLEANFILES += startup.rel
+startup_rel_SOURCES = ../../shared/bspclean.c ../../shared/bsplibc.c \
+    ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
+    ../../shared/main.c ../../shared/sbrk.c ../shared/irq/idt.c \
+    ../shared/irq/irq.c ../shared/irq/irq_init.c ../shared/comm/i386-stub.c \
+    ../shared/comm/i386-stub-glue.c ../shared/comm/uart.c \
+    ../../shared/gnatinstallhandler.c ../shared/comm/gdb_glue.c \
+    ../shared/comm/tty_drv.c ../shared/irq/irq_asm.S
+startup_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += startup_g.rel
+CLEANFILES += startup_g.rel
+startup_g_rel_SOURCES = $(startup_rel_SOURCES)
+startup_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+startup_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += startup$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += clock.rel
+CLEANFILES += clock.rel
+clock_rel_SOURCES = clock/ckinit.c
+clock_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+clock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += clock_g.rel
+CLEANFILES += clock_g.rel
+clock_g_rel_SOURCES = $(clock_rel_SOURCES)
+clock_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+clock_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += clock$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += console.rel
+CLEANFILES += console.rel
+console_rel_SOURCES = console/console.c
+console_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += console_g.rel
+CLEANFILES += console_g.rel
+console_g_rel_SOURCES = $(console_rel_SOURCES)
+console_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+console_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += console$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += timer.rel
+CLEANFILES += timer.rel
+timer_rel_SOURCES = timer/timer.c timer/timerisr.S
+timer_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += timer_g.rel
+CLEANFILES += timer_g.rel
+timer_g_rel_SOURCES = $(timer_rel_SOURCES)
+timer_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+timer_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += timer$(LIB_VARIANT).rel
+
+if HAS_NETWORKING
+EXTRA_PROGRAMS += network.rel
+CLEANFILES += network.rel
+network_rel_SOURCES = network/netexterns.h network/network.c \
+    network/uti596.h
+network_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+network_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += network_g.rel
+CLEANFILES += network_g.rel
+network_g_rel_SOURCES = $(network_rel_SOURCES)
+network_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+network_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += network$(LIB_VARIANT).rel
+endif
+
+EXTRA_LIBRARIES = libbsp.a
+CLEANFILES += libbsp.a
+libbsp_a_SOURCES =
+libbsp_a_LIBADD = startup$(LIB_VARIANT).rel clock$(LIB_VARIANT).rel \
+    console$(LIB_VARIANT).rel timer$(LIB_VARIANT).rel
+if HAS_NETWORKING
+libbsp_a_LIBADD += network$(LIB_VARIANT).rel
+endif
+libbsp_a_LIBADD += ../../../libcpu/i386/cache$(LIB_VARIANT).rel \
+    ../../../libcpu/i386/score$(LIB_VARIANT).rel
+
+EXTRA_LIBRARIES += libbsp_g.a
+CLEANFILES += libbsp_g.a
+libbsp_g_a_SOURCES = $(libbsp_a_SOURCES)
+libbsp_g_a_LIBADD = $(libbsp_a_LIBADD)
+
+noinst_DATA += libbsp$(LIB_VARIANT).a
 
 all-local: $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
@@ -30,12 +128,15 @@
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
 
-$(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT): $(ARCH)/start$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
+$(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT): start$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
 	$(INSTALL_DATA) $< $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT)
 TMPINSTALL_FILES += $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT)
 
-CLEANFILES = $(PREINSTALL_FILES)
+$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds
+
+CLEANFILES += $(PREINSTALL_FILES)
 DISTCLEANFILES = $(PREINSTALL_DIRS)
 CLEANFILES += $(TMPINSTALL_FILES)
 
-include $(top_srcdir)/../../../../automake/subdirs.am
 include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/i386ex/clock/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/i386ex/clock/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/i386ex/clock/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/i386ex/clock/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,29 +1,0 @@
-##
-## $Id$
-##
-
-PGM = $(ARCH)/clock.rel
-
-C_FILES = ckinit.c
-clock_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(clock_rel_OBJECTS)
-	$(make-rel)
-
-# the .rel file built here will be put into libbsp.a by
-# 	../wrapup/Makefile
-
-all-local: $(clock_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = ckinit.c
-
-include $(top_srcdir)/../../../../automake/local.am
Index: c/src/lib/libbsp/i386/i386ex/configure.ac
===================================================================
--- c/src/lib/libbsp/i386/i386ex/configure.ac	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ c/src/lib/libbsp/i386/i386ex/configure.ac	(revision 5b47c7f3cf929ac0fa10975aad048870cbeb65e5)
@@ -12,5 +12,6 @@
 RTEMS_BSP_CONFIGURE
 
-RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
+# RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
+RTEMS_PROG_CC_FOR_TARGET([-fasm])
 RTEMS_CANONICALIZE_TOOLS
 RTEMS_PROG_CCAS
@@ -24,12 +25,5 @@
 AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
 
-
 # Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile
-clock/Makefile
-console/Makefile
-startup/Makefile
-timer/Makefile
-network/Makefile
-wrapup/Makefile])
+AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
Index: src/lib/libbsp/i386/i386ex/console/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/i386ex/console/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/i386ex/console/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/i386ex/console/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,33 +1,0 @@
-##
-## $Id$
-##
-
-VPATH = @srcdir@:@srcdir@/../../shared/io
-
-PGM = $(ARCH)/console.rel
-
-## sources
-C_FILES = console.c
-
-console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(console_rel_OBJECTS)
-	$(make-rel)
-
-# the .rel file built here will be put into libbsp.a by
-# 	../wrapup/Makefile
-
-all-local: $(console_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = console.c
-
-include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/i386ex/network/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/i386ex/network/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/i386ex/network/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/i386ex/network/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,34 +1,0 @@
-##
-## $Id$
-##
-
-PGM = $(ARCH)/network.rel
-
-C_FILES = network.c
-C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-noinst_HEADERS = netexterns.h uti596.h
-
-OBJS = $(C_O_FILES)
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(OBJS)
-	$(make-rel)
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
-
-if HAS_NETWORKING
-all-local: $(OBJS) $(PGM)
-endif
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = netexterns.h network.c uti596.h
-
-include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/i386ex/startup/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/i386ex/startup/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/i386ex/startup/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/i386ex/startup/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,50 +1,0 @@
-##
-## $Id$
-##
-
-VPATH = @srcdir@:@srcdir@/../../../shared:@srcdir@/../../shared/comm:@srcdir@/../../shared/irq:@srcdir@/../../shared/io
-
-PGM = $(ARCH)/startup.rel
-
-C_FILES = bspclean.c bsplibc.c bsppost.c bspstart.c bootcard.c main.c sbrk.c \
-    idt.c irq.c irq_init.c i386-stub.c i386-stub-glue.c uart.c \
-    gnatinstallhandler.c gdb_glue.c tty_drv.c
-C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-S_FILES = irq_asm.S
-S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.$(OBJEXT))
-
-startup_rel_OBJECTS = $(C_O_FILES) $(S_O_FILES)
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(startup_rel_OBJECTS)
-	$(make-rel)
-
-project_lib_DATA = linkcmds
-
-UNUSED_C_FILES = setvec.c
-
-all-local: $(startup_rel_OBJECTS) $(PGM) $(TMPINSTALL_FILES)
-
-EXTRA_DIST = README bspstart.c linkcmds setvec.c
-
-TMPINSTALL_FILES =
-
-$(PROJECT_LIB)/$(dirstamp):
-	@$(mkdir_p) $(PROJECT_LIB)
-	@: > $(PROJECT_LIB)/$(dirstamp)
-TMPINSTALL_FILES += $(PROJECT_LIB)/$(dirstamp)
-
-$(PROJECT_LIB)/linkcmds: linkcmds $(PROJECT_LIB)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
-CLEANFILES = $(TMPINSTALL_FILES)
-
-include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/i386ex/timer/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/i386ex/timer/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/i386ex/timer/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/i386ex/timer/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,31 +1,0 @@
-##
-## $Id$
-##
-
-PGM = $(ARCH)/timer.rel
-
-C_FILES = timer.c
-S_FILES = timerisr.S
-timer_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) \
-    $(S_FILES:%.S=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(timer_rel_OBJECTS)
-	$(make-rel)
-
-# the .rel file built here will be put into libbsp.a by
-# 	../wrapup/Makefile
-
-all-local: $(timer_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = timer.c timerisr.S
-
-include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/i386ex/wrapup/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/i386ex/wrapup/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/i386ex/wrapup/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/i386ex/wrapup/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,26 +1,0 @@
-##
-## $Id$
-##
-
-# We only build the Network library if HAS_NETWORKING was defined
-# dec21140 is supported via libchip
-if HAS_NETWORKING
-NETWORK = network
-endif
-
-BSP_FILES = startup clock console timer $(NETWORK)
-
-# bummer; have to use $foreach since % pattern subst rules only replace 1x
-OBJS = $(foreach piece, $(BSP_FILES), ../$(piece)/$(ARCH)/*.$(OBJEXT)) \
-    ../../../../libcpu/i386/cache$(LIB_VARIANT).rel \
-    ../../../../libcpu/i386/score$(LIB_VARIANT).rel
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-$(ARCH)/libbsp.a: $(OBJS)
-	$(make-library)
-
-noinst_DATA = $(ARCH)/libbsp.a
-
-include $(top_srcdir)/../../../../automake/local.am
Index: c/src/lib/libbsp/i386/ts_386ex/ChangeLog
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/ChangeLog	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ c/src/lib/libbsp/i386/ts_386ex/ChangeLog	(revision 5b47c7f3cf929ac0fa10975aad048870cbeb65e5)
@@ -1,2 +1,11 @@
+2004-01-30	Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+	* Makefile.am: Merge-in clock/Makefile.am, console/Makefile.am,
+	network/Makefile.am, startup/Makefile.am, timer/Makefile.am,
+	wrapup/Makefile.am. Use automake compilation rules.
+	* clock/Makefile.am, console/Makefile.am, network/Makefile.am,
+	startup/Makefile.am, timer/Makefile.am, wrapup/Makefile.am: Remove.
+	* configure.ac: Reflect changes above.
+
 2004-01-28	Ralf Corsepius <corsepiu@faw.uni-ulm.de>
 
Index: c/src/lib/libbsp/i386/ts_386ex/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ c/src/lib/libbsp/i386/ts_386ex/Makefile.am	(revision 5b47c7f3cf929ac0fa10975aad048870cbeb65e5)
@@ -8,11 +8,11 @@
 include $(top_srcdir)/../../bsp.am
 
+EXTRA_PROGRAMS =
+CLEANFILES =
+noinst_DATA =
+
 # wrapup is the one that actually builds and installs the library
 # from the individual .rel files built in other directories
-SUBDIRS = . tools startup clock console timer network wrapup
-
-if HAS_NETWORKING
-include_HEADERS += include/wd80x3.h
-endif
+SUBDIRS = . tools
 
 include_HEADERS += include/coverhd.h
@@ -20,9 +20,115 @@
 noinst_HEADERS = start/80386ex.h start/80386ex.inc start/macros.inc \
     start/ts_1325.inc
-S_FILES = start/start.S
-$(ARCH)/%$(LIB_VARIANT).$(OBJEXT): start/start.S $(ARCH)/$(dirstamp)
+EXTRA_DIST = start/start.S
+start$(LIB_VARIANT).$(OBJEXT): start/start.S
 	$(CCASCOMPILE) -DASM -o $@ -c $<
 
-project_lib_DATA = $(ARCH)/start$(LIB_VARIANT).$(OBJEXT)
+project_lib_DATA = start$(LIB_VARIANT).$(OBJEXT)
+
+dist_project_lib_DATA += startup/linkcmds
+
+EXTRA_PROGRAMS += startup.rel
+CLEANFILES += startup.rel
+startup_rel_SOURCES = ../../shared/bspclean.c ../../shared/bsplibc.c \
+    ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
+    ../../shared/main.c ../../shared/sbrk.c ../shared/irq/idt.c \
+    ../shared/irq/irq.c ../shared/irq/irq_init.c ../shared/comm/i386-stub.c \
+    ../shared/comm/i386-stub-glue.c ../shared/comm/uart.c \
+    ../../shared/gnatinstallhandler.c ../shared/comm/gdb_glue.c \
+    ../shared/comm/tty_drv.c ../shared/irq/irq_asm.S
+startup_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += startup_g.rel
+CLEANFILES += startup_g.rel
+startup_g_rel_SOURCES = $(startup_rel_SOURCES)
+startup_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+startup_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += startup$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += clock.rel
+CLEANFILES += clock.rel
+clock_rel_SOURCES = clock/ckinit.c clock/rtc.c
+clock_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+clock_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += clock_g.rel
+CLEANFILES += clock_g.rel
+clock_g_rel_SOURCES = $(clock_rel_SOURCES)
+clock_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+clock_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += clock$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += console.rel
+CLEANFILES += console.rel
+console_rel_SOURCES = console/console.c
+console_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += console_g.rel
+CLEANFILES += console_g.rel
+console_g_rel_SOURCES = $(console_rel_SOURCES)
+console_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+console_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += console$(LIB_VARIANT).rel
+
+EXTRA_PROGRAMS += timer.rel
+CLEANFILES += timer.rel
+timer_rel_SOURCES = timer/timer.c timer/timerisr.S
+timer_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
+timer_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += timer_g.rel
+CLEANFILES += timer_g.rel
+timer_g_rel_SOURCES = $(timer_rel_SOURCES)
+timer_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
+timer_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += timer$(LIB_VARIANT).rel
+
+if HAS_NETWORKING
+include_HEADERS += include/wd80x3.h
+
+# dec21140 is supported via libchip
+# FIXME: Do we really need these flags?
+network_CPPFLAGS = -D_COMPILING_BSD_KERNEL_ -DKERNEL -DINET -DNFS \
+    -DDIAGNOSTIC -DBOOTP_COMPAT
+EXTRA_PROGRAMS += network.rel
+CLEANFILES += network.rel
+network_rel_SOURCES = network/ne2000.c network/wd80x3.h
+network_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V) \
+    $(network_CPPFLAGS)
+network_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+EXTRA_PROGRAMS += network_g.rel
+CLEANFILES += network_g.rel
+network_g_rel_SOURCES = $(network_rel_SOURCES)
+network_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V) \
+    $(network_CPPFLAGS)
+network_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
+
+noinst_DATA += network$(LIB_VARIANT).rel
+endif
+
+EXTRA_LIBRARIES = libbsp.a
+CLEANFILES += libbsp.a
+libbsp_a_SOURCES =
+libbsp_a_LIBADD = startup$(LIB_VARIANT).rel clock$(LIB_VARIANT).rel \
+    console$(LIB_VARIANT).rel timer$(LIB_VARIANT).rel
+if HAS_NETWORKING
+libbsp_a_LIBADD += network$(LIB_VARIANT).rel
+endif
+libbsp_a_LIBADD += ../../../libcpu/i386/cache$(LIB_VARIANT).rel \
+    ../../../libcpu/i386/score$(LIB_VARIANT).rel
+
+EXTRA_LIBRARIES += libbsp_g.a
+CLEANFILES += libbsp_g.a
+libbsp_g_a_SOURCES = $(libbsp_a_SOURCES)
+libbsp_g_a_LIBADD = $(libbsp_a_LIBADD)
+
+noinst_DATA += libbsp$(LIB_VARIANT).a
 
 all-local: $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
@@ -30,4 +136,16 @@
 PREINSTALL_DIRS =
 TMPINSTALL_FILES =
+
+$(PROJECT_INCLUDE)/coverhd.h: include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
+
+$(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT): start$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT)
+TMPINSTALL_FILES += $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT)
+
+$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds
 
 if HAS_NETWORKING
@@ -37,16 +155,7 @@
 endif
 
-$(PROJECT_INCLUDE)/coverhd.h: include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-
-$(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT): $(ARCH)/start$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT)
-TMPINSTALL_FILES += $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT)
-
-CLEANFILES = $(PREINSTALL_FILES)
+CLEANFILES += $(PREINSTALL_FILES)
 DISTCLEANFILES = $(PREINSTALL_DIRS)
 CLEANFILES += $(TMPINSTALL_FILES)
 
-include $(top_srcdir)/../../../../automake/subdirs.am
 include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/ts_386ex/clock/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/clock/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/ts_386ex/clock/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/clock/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,29 +1,0 @@
-##
-## $Id$
-##
-
-PGM = $(ARCH)/clock.rel
-
-C_FILES = ckinit.c rtc.c
-clock_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(clock_rel_OBJECTS)
-	$(make-rel)
-
-# the .rel file built here will be put into libbsp.a by
-# 	../wrapup/Makefile
-
-all-local: $(clock_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = ckinit.c rtc.c
-
-include $(top_srcdir)/../../../../automake/local.am
Index: c/src/lib/libbsp/i386/ts_386ex/configure.ac
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/configure.ac	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ c/src/lib/libbsp/i386/ts_386ex/configure.ac	(revision 5b47c7f3cf929ac0fa10975aad048870cbeb65e5)
@@ -12,5 +12,6 @@
 RTEMS_BSP_CONFIGURE
 
-RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
+#RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
+RTEMS_PROG_CC_FOR_TARGET([-fasm])
 RTEMS_CANONICALIZE_TOOLS
 RTEMS_PROG_CCAS
@@ -40,12 +41,5 @@
 [Enables some debugging in the BSP's uart.])
 
-
 # Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile
-clock/Makefile
-console/Makefile
-startup/Makefile
-timer/Makefile
-network/Makefile
-wrapup/Makefile])
+AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
Index: src/lib/libbsp/i386/ts_386ex/console/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/console/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/ts_386ex/console/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/console/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,33 +1,0 @@
-##
-## $Id$
-##
-
-VPATH = @srcdir@:@srcdir@/../../shared/io
-
-PGM = $(ARCH)/console.rel
-
-## sources
-C_FILES = console.c
-
-console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(console_rel_OBJECTS)
-	$(make-rel)
-
-# the .rel file built here will be put into libbsp.a by
-# 	../wrapup/Makefile
-
-all-local: $(console_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = console.c
-
-include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/ts_386ex/network/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/network/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/ts_386ex/network/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/network/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,35 +1,0 @@
-##
-## $Id$
-##
-
-PGM = $(ARCH)/network.rel
-
-C_FILES = ne2000.c
-C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-OBJS = $(C_O_FILES)
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-AM_CPPFLAGS += -D_COMPILING_BSD_KERNEL_ -DKERNEL -DINET -DNFS -DDIAGNOSTIC \
-    -DBOOTP_COMPAT
-
-$(PGM): $(OBJS)
-	$(make-rel)
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
-
-if HAS_NETWORKING
-all-local: $(OBJS) $(PGM)
-endif
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = ne2000.c
-
-include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/ts_386ex/startup/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/startup/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/ts_386ex/startup/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/startup/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,50 +1,0 @@
-##
-## $Id$
-##
-
-VPATH = @srcdir@:@srcdir@/../../../shared:@srcdir@/../../shared/comm:@srcdir@/../../shared/irq:@srcdir@/../../shared/io
-
-PGM = $(ARCH)/startup.rel
-
-C_FILES = bspclean.c bsplibc.c bsppost.c bspstart.c bootcard.c main.c sbrk.c \
-    idt.c irq.c irq_init.c i386-stub.c i386-stub-glue.c uart.c \
-    gnatinstallhandler.c gdb_glue.c tty_drv.c
-C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT))
-
-S_FILES = irq_asm.S
-S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.$(OBJEXT))
-
-startup_rel_OBJECTS = $(C_O_FILES) $(S_O_FILES)
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(startup_rel_OBJECTS)
-	$(make-rel)
-
-project_lib_DATA = linkcmds
-
-UNUSED_C_FILES = setvec.c
-
-all-local: $(startup_rel_OBJECTS) $(PGM) $(TMPINSTALL_FILES)
-
-EXTRA_DIST = README bspstart.c linkcmds setvec.c
-
-TMPINSTALL_FILES =
-
-$(PROJECT_LIB)/$(dirstamp):
-	@$(mkdir_p) $(PROJECT_LIB)
-	@: > $(PROJECT_LIB)/$(dirstamp)
-TMPINSTALL_FILES += $(PROJECT_LIB)/$(dirstamp)
-
-$(PROJECT_LIB)/linkcmds: linkcmds $(PROJECT_LIB)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
-CLEANFILES = $(TMPINSTALL_FILES)
-
-include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/ts_386ex/timer/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/timer/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/ts_386ex/timer/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/timer/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,32 +1,0 @@
-##
-## $Id$
-##
-
-PGM = $(ARCH)/timer.rel
-
-## sources
-C_FILES = timer.c
-S_FILES = timerisr.S
-timer_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.$(OBJEXT)) \
-    $(S_FILES:%.S=$(ARCH)/%.$(OBJEXT))
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-$(PGM): $(timer_rel_OBJECTS)
-	$(make-rel)
-
-# the .rel file built here will be put into libbsp.a by
-# 	../wrapup/Makefile
-
-all-local: $(timer_rel_OBJECTS) $(PGM)
-
-.PRECIOUS: $(PGM)
-
-EXTRA_DIST = timer.c timerisr.S
-
-include $(top_srcdir)/../../../../automake/local.am
Index: src/lib/libbsp/i386/ts_386ex/wrapup/.cvsignore
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/wrapup/.cvsignore	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Makefile
-Makefile.in
Index: src/lib/libbsp/i386/ts_386ex/wrapup/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/ts_386ex/wrapup/Makefile.am	(revision 7b3de7e387c40ade7ebe3b63e06e155ff1794ed5)
+++ 	(revision )
@@ -1,26 +1,0 @@
-##
-## $Id$
-##
-
-# We only build the Network library if HAS_NETWORKING was defined
-# dec21140 is supported via libchip
-if HAS_NETWORKING
-NETWORK = network
-endif
-
-BSP_FILES = startup clock console timer $(NETWORK)
-
-# bummer; have to use $foreach since % pattern subst rules only replace 1x
-OBJS = $(foreach piece, $(BSP_FILES), ../$(piece)/$(ARCH)/*.$(OBJEXT)) \
-    ../../../../libcpu/i386/cache$(LIB_VARIANT).rel \
-    ../../../../libcpu/i386/score$(LIB_VARIANT).rel
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../../../automake/lib.am
-
-$(ARCH)/libbsp.a: $(OBJS)
-	$(make-library)
-
-noinst_DATA = $(ARCH)/libbsp.a
-
-include $(top_srcdir)/../../../../automake/local.am
