Index: c/src/lib/libbsp/i386/pc386/3c509/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/3c509/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/3c509/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -5,12 +5,10 @@
 AUTOMAKE_OPTIONS = foreign 1.4
 
-PGM = ${ARCH}/3c509.rel
+PGM = $(ARCH)/3c509.rel
 
-## C source names
 C_FILES = 3c509.c elink.c
-X3c509_rel_OBJECTS = $(C_FILES:%.c=${ARCH}/%.o)
+X3c509_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o)
 
 H_FILES = 3c509.h elink.h
-noinst_HEADERS = $(H_FILES)
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
@@ -26,12 +24,15 @@
 	$(make-rel)
 
-if HAS_NETWORKING
-all-local: ${ARCH} $(PGM)
-endif
 
 # the .rel file built here will be put into libbsp.a by 
 # 	../wrapup/Makefile
 
-EXTRA_DIST = 3c509.c elink.c
+if HAS_NETWORKING
+all-local: $(ARCH) $(X3c509_rel_OBJECTS) $(PGM)
+endif
+
+.PRECIOUS: $(PGM)
+
+EXTRA_DIST = 3c509.c 3c509.h elink.c elink.h
 
 include $(top_srcdir)/../../../../../../automake/local.am
Index: c/src/lib/libbsp/i386/pc386/clock/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/clock/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/clock/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -5,9 +5,8 @@
 AUTOMAKE_OPTIONS = foreign 1.4
 
-PGM = ${ARCH}/clock.rel
+PGM = $(ARCH)/clock.rel
 
-## C source names
 C_FILES = ckinit.c rtc.c
-clock_rel_OBJECTS = $(C_FILES:%.c=${ARCH}/%.o)
+clock_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o)
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
@@ -21,8 +20,10 @@
 	$(make-rel)
 
-all-local: ${ARCH} $(PGM)
-
 # the .rel file built here will be put into libbsp.a by 
 # 	../wrapup/Makefile
+
+all-local: $(ARCH) $(clock_rel_OBJECTS) $(PGM)
+
+.PRECIOUS: $(PGM)
 
 EXTRA_DIST = ckinit.c rtc.c
Index: c/src/lib/libbsp/i386/pc386/console/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/console/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/console/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -7,11 +7,10 @@
 VPATH = @srcdir@:@srcdir@/../../shared/io
 
-PGM = ${ARCH}/console.rel
+PGM = $(ARCH)/console.rel
 
-## sources
 C_FILES = console.c inch.c outch.c printk.c
 S_FILES = videoAsm.S
 
-console_rel_OBJECTS = $(C_FILES:%.c=${ARCH}/%.o) $(S_FILES:%.S=${ARCH}/%.o)
+console_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o) $(S_FILES:%.S=$(ARCH)/%.o)
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
@@ -25,8 +24,10 @@
 	$(make-rel)
 
-all-local: ${ARCH} $(PGM)
-
 # the .rel file built here will be put into libbsp.a by 
 # 	../wrapup/Makefile
+
+all-local: $(ARCH) $(console_rel_OBJECTS) $(PGM)
+
+.PRECIOUS: $(PGM)
 
 EXTRA_DIST = console.c inch.c outch.c videoAsm.S
Index: c/src/lib/libbsp/i386/pc386/include/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/include/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/include/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -12,5 +12,4 @@
 
 H_FILES = bsp.h crt.h $(WD80X3)
-noinst_HEADERS = $(H_FILES)
 
 $(PROJECT_INCLUDE):
@@ -23,9 +22,10 @@
 	$(INSTALL_DATA) $< $@
 
-PREINSTALL_FILES += $(PROJECT_INCLUDE) \
-$(H_FILES:%.h=$(PROJECT_INCLUDE)/%.h) \
-$(PROJECT_INCLUDE)/coverhd.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE) $(H_FILES:%.h=$(PROJECT_INCLUDE)/%.h) \
+    $(PROJECT_INCLUDE)/coverhd.h
 
 all-local: $(PREINSTALL_FILES)
 
+EXTRA_DIST = bsp.h crt.h wd80x3.h
+
 include $(top_srcdir)/../../../../../../automake/local.am
Index: c/src/lib/libbsp/i386/pc386/ne2000/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/ne2000/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/ne2000/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -5,9 +5,8 @@
 AUTOMAKE_OPTIONS = foreign 1.4
 
-PGM = ${ARCH}/ne2000.rel
+PGM = $(ARCH)/ne2000.rel
 
-## C source names
 C_FILES = ne2000.c
-ne2000_rel_OBJECTS = $(C_FILES:%.c=${ARCH}/%.o)
+ne2000_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o)
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
@@ -23,10 +22,12 @@
 	$(make-rel)
 
+# the .rel file built here will be put into libbsp.a by 
+# 	../wrapup/Makefile
+
 if HAS_NETWORKING
-all-local: ${ARCH} $(PGM)
+all-local: $(ARCH) $(ne2000_rel_OBJECTS) $(PGM)
 endif
 
-# the .rel file built here will be put into libbsp.a by 
-# 	../wrapup/Makefile
+.PRECIOUS: $(PGM)
 
 EXTRA_DIST = ne2000.c
Index: c/src/lib/libbsp/i386/pc386/start/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/start/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/start/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -1,13 +1,14 @@
-#
-#  $Id$
-#
+## 
+## $Id$
+## 
 
 AUTOMAKE_OPTIONS = foreign 1.4
 
-PGMS = ${ARCH}/start.o ${ARCH}/start16.bin
+PGMS = $(ARCH)/start.o $(ARCH)/start16.bin
 
-# Assembly source names, if any, go here -- minus the .S
 S_FILES = start16.S start.S
-S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)
+S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.o)
+
+OBJS = $(S_O_FILES)
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
@@ -24,13 +25,12 @@
 LINKCMDS = $(top_srcdir)/startup/linkcmds
 
-${ARCH}/start16.o: start16.S
-	${COMPILE.S} $(AM_CPPFLAGS) -DHEADERADDR=$(HEADERADDR) -o $@ $<
+$(ARCH)/start16.o: start16.S
+	$(COMPILE.S) $(AM_CPPFLAGS) -DHEADERADDR=$(HEADERADDR) -o $@ $<
 
-${ARCH}/start16.bin: ${ARCH}/start16.o
-	$(LD) -N -T $(LINKCMDS) -Ttext $(START16ADDR) -e start16 -nostdlib \
-	  --oformat=elf32-i386 -o $(basename $@).obj $(basename $@).o
+$(ARCH)/start16.bin: $(ARCH)/start16.o
+	$(LD) -N -T $(LINKCMDS) -Ttext $(START16ADDR) -e start16 -nostdlib 	  --oformat=elf32-i386 -o $(basename $@).obj $(basename $@).o
 	$(OBJCOPY) -O binary $(basename $@).obj $@
 
-$(PROJECT_RELEASE)/lib/start16$(LIB_VARIANT).bin: ${ARCH}/start16.bin
+$(PROJECT_RELEASE)/lib/start16$(LIB_VARIANT).bin: $(ARCH)/start16.bin
 	$(INSTALL_DATA) $< $@
 
@@ -38,9 +38,8 @@
 	$(INSTALL_DATA) $< $@
 
-TMPINSTALL_FILES += \
-$(PROJECT_RELEASE)/lib/start16$(LIB_VARIANT).bin \
-$(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o
+TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/start16$(LIB_VARIANT).bin \
+    $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o
 
-all-local: $(ARCH) $(TMPINSTALL_FILES)
+all-local: $(ARCH) $(OBJS) $(TMPINSTALL_FILES)
 
 EXTRA_DIST = start.S start16.S
Index: c/src/lib/libbsp/i386/pc386/startup/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/startup/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/startup/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -5,23 +5,20 @@
 AUTOMAKE_OPTIONS = foreign 1.4
 
-VPATH = \
-    @srcdir@:@srcdir@/../../../shared:@srcdir@/../../shared/irq:@srcdir@/../../shared/comm:@srcdir@/../../shared/pci
+VPATH = @srcdir@:@srcdir@/../../../shared:@srcdir@/../../shared/irq:@srcdir@/../../shared/comm:@srcdir@/../../shared/pci
 
-PGM = ${ARCH}/startup.rel
+PGM = $(ARCH)/startup.rel
 
-## C source names
 C_FILES = bsplibc.c bsppost.c bspstart.c exit.c irq.c irq_init.c bootcard.c \
     main.c sbrk.c i386-stub.c i386-stub-glue.c uart.c pcibios.c \
     gnatinstallhandler.c
-C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
+C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)
 
-## Assembly source names
 S_FILES = ldsegs.S irq_asm.S
-S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)
+S_O_FILES = $(S_FILES:%.S=$(ARCH)/%.o)
 
 startup_rel_OBJECTS = $(C_O_FILES) $(S_O_FILES)
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
+include $(top_srcdir)/../../../../../../automake/lib.am
 
 #
@@ -33,5 +30,5 @@
 AM_CPPFLAGS += -DUSE_INIT_FINI
 
-$(PGM): ${startup_rel_OBJECTS}
+$(PGM): $(startup_rel_OBJECTS)
 	$(make-rel)
 
@@ -41,7 +38,9 @@
 TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/linkcmds
 
-all-local: ${ARCH} $(PREINSTALL_FILES) $(PGM) $(TMPINSTALL_FILES)
+all-local: $(ARCH) $(startup_rel_OBJECTS) $(PGM) $(TMPINSTALL_FILES)
 
-EXTRA_DIST = bspstart.c exit.c sbrk.c ldsegs.S linkcmds
+.PRECIOUS: $(PGM)
+
+EXTRA_DIST = bspstart.c exit.c ldsegs.S linkcmds sbrk.c
 
 include $(top_srcdir)/../../../../../../automake/local.am
Index: c/src/lib/libbsp/i386/pc386/timer/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/timer/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/timer/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -5,10 +5,9 @@
 AUTOMAKE_OPTIONS = foreign 1.4
 
-PGM = ${ARCH}/timer.rel
+PGM = $(ARCH)/timer.rel
 
-## sources
 C_FILES = timer.c
 S_FILES = timerisr.S
-timer_rel_OBJECTS = $(C_FILES:%.c=${ARCH}/%.o) $(S_FILES:%.S=${ARCH}/%.o)
+timer_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o) $(S_FILES:%.S=$(ARCH)/%.o)
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
@@ -22,8 +21,10 @@
 	$(make-rel)
 
-all-local: ${ARCH} $(PGM)
-
 # the .rel file built here will be put into libbsp.a by 
 # 	../wrapup/Makefile
+
+all-local: $(ARCH) $(timer_rel_OBJECTS) $(PGM)
+
+.PRECIOUS: $(PGM)
 
 EXTRA_DIST = timer.c timerisr.S
Index: c/src/lib/libbsp/i386/pc386/wd8003/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/wd8003/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/wd8003/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -5,9 +5,8 @@
 AUTOMAKE_OPTIONS = foreign 1.4
 
-PGM = ${ARCH}/wd8003.rel
+PGM = $(ARCH)/wd8003.rel
 
-## C source names
 C_FILES = wd8003.c
-wd8003_rel_OBJECTS = $(C_FILES:%.c=${ARCH}/%.o)
+wd8003_rel_OBJECTS = $(C_FILES:%.c=$(ARCH)/%.o)
 
 include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
@@ -23,10 +22,11 @@
 	$(make-rel)
 
+# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
+
 if HAS_NETWORKING
-all-local: ${ARCH} $(PGM)
+all-local: $(ARCH) $(wd8003_rel_OBJECTS) $(PGM)
 endif
 
-# the .rel file built here will be put into libbsp.a by 
-# 	../wrapup/Makefile
+.PRECIOUS: $(PGM)
 
 EXTRA_DIST = wd8003.c
Index: c/src/lib/libbsp/i386/pc386/wrapup/Makefile.am
===================================================================
--- c/src/lib/libbsp/i386/pc386/wrapup/Makefile.am	(revision 4c46630639ab25de2a90507694d369116a26059b)
+++ c/src/lib/libbsp/i386/pc386/wrapup/Makefile.am	(revision 4e36a2f133c68aaf637e166385eff1a05b59f38e)
@@ -12,10 +12,7 @@
 
 BSP_FILES = startup clock console timer $(NETWORK)
-GENERIC_FILES =
 
 # bummer; have to use $foreach since % pattern subst rules only replace 1x
-OBJS = $(foreach piece, $(BSP_FILES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \
-    $(foreach piece, $(GENERIC_FILES), \
-    ../../../$(piece)/$(ARCH)/$(piece).rel)
+OBJS = $(foreach piece, $(BSP_FILES), $(wildcard ../$(piece)/$(ARCH)/*.o))
 LIB = $(ARCH)/libbsp.a
 
@@ -27,5 +24,5 @@
 #
 
-$(LIB): ${OBJS}
+$(LIB): $(OBJS)
 	$(make-library)
 
@@ -35,5 +32,7 @@
 TMPINSTALL_FILES += $(PROJECT_RELEASE)/lib/libbsp$(LIB_VARIANT).a
 
-all-local: ${ARCH} $(PREINSTALL_FILES) $(LIB) $(TMPINSTALL_FILES)
+all-local: $(ARCH) $(OBJS) $(LIB) $(TMPINSTALL_FILES)
+
+.PRECIOUS: $(LIB)
 
 include $(top_srcdir)/../../../../../../automake/local.am
