[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[MiNT] [PATCH] Make multi target CPU builds for various modules



Please commit this patch.
Thanks!

Commit message:

Make multi target CPU builds for the following modules:
inet4.xdd, lp.xdd, xcount2.xdd, minix.xfs, nfs.xfs, moose.adi
Contributed by David Galvez
Index: sys/sockets/.cvsignore
===================================================================
RCS file: /mint/freemint/sys/sockets/.cvsignore,v
retrieving revision 1.1
diff -u -8 -r1.1 .cvsignore
--- sys/sockets/.cvsignore	29 Jun 2000 21:07:09 -0000	1.1
+++ sys/sockets/.cvsignore	24 Dec 2015 12:17:30 -0000
@@ -6,8 +6,9 @@
 *~
 lib*.a
 *.xdd
 *.xfs
 *.xif
 *.app
 *.prg
 __target.*
+.compile_*
Index: sys/sockets/BINFILES
===================================================================
RCS file: /mint/freemint/sys/sockets/BINFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 BINFILES
--- sys/sockets/BINFILES	29 Jun 2000 21:07:09 -0000	1.1
+++ sys/sockets/BINFILES	24 Dec 2015 12:17:30 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into binary distributions.
 
-BINFILES = 
+BINFILES = ./compile_*/inet4.xdd
Index: sys/sockets/EXTRAFILES
===================================================================
RCS file: /mint/freemint/sys/sockets/EXTRAFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 EXTRAFILES
--- sys/sockets/EXTRAFILES	29 Jun 2000 21:07:09 -0000	1.1
+++ sys/sockets/EXTRAFILES	24 Dec 2015 12:17:30 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into source distributions.
 
-SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile SRCFILES
+SRCFILES += BINFILES Changelog.old EXTRAFILES INET4DEFS MISCFILES Makefile Makefile.objs SRCFILES
Index: sys/sockets/INET4DEFS
===================================================================
RCS file: sys/sockets/INET4DEFS
diff -N sys/sockets/INET4DEFS
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/sockets/INET4DEFS	24 Dec 2015 12:17:30 -0000
@@ -0,0 +1,52 @@
+#
+# debug flags
+#
+# -DDEV_DEBUG		include debugging information
+
+
+ifeq ($(inet4),deb)
+TARGET = inet4.xdd
+CPU = 020-60
+INET4DEFS += -DDEV_DEBUG
+endif
+
+ifeq ($(inet4),000)
+TARGET = inet4.xdd
+CPU = 000
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),02060)
+TARGET = inet4.xdd
+CPU = 020-60
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),030)
+TARGET = inet4.xdd
+CPU = 030
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),040)
+TARGET = inet4.xdd
+CPU = 040
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),060)
+TARGET = inet4.xdd
+CPU = 060
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),col)
+TARGET = inet4.xdd
+CPU  = v4e
+INET4DEFS += 
+endif
+
+#
+# all default targets
+#
+inet4targets = 02060 030 040 060 deb 000 col
Index: sys/sockets/MISCFILES
===================================================================
RCS file: /mint/freemint/sys/sockets/MISCFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 MISCFILES
--- sys/sockets/MISCFILES	29 Jun 2000 21:07:09 -0000	1.1
+++ sys/sockets/MISCFILES	24 Dec 2015 12:17:30 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go both into source and binary distributions.
 
-MISCFILES = 
+MISCFILES = ChangeLog.old COPYING README README.1ST README.masquerade README.masquerade.TL
Index: sys/sockets/Makefile
===================================================================
RCS file: /mint/freemint/sys/sockets/Makefile,v
retrieving revision 1.8
diff -u -8 -r1.8 Makefile
--- sys/sockets/Makefile	11 Feb 2014 22:19:36 -0000	1.8
+++ sys/sockets/Makefile	24 Dec 2015 12:17:30 -0000
@@ -1,39 +1,74 @@
 #
-# Makefile for 
+# Makefile for inet4
 #
-TARGET = inet4.xdd
 
 SHELL = /bin/sh
 SUBDIRS = inet4 xif
 
 srcdir = .
 top_srcdir = ..
 subdir = sockets
 
-default: all
+default: help
+
+include ./INET4DEFS
 
 include $(top_srcdir)/CONFIGVARS
 include $(top_srcdir)/RULES
 include $(top_srcdir)/PHONY
 
-all-here: $(TARGET)
+all-here: all-targets
 
 # default overwrites
-INCLUDES = -I. -I$(top_srcdir)
-DEFINITIONS = -D__KERNEL_XDD__
-
-LD = $(CC) -mshort -nostdlib -Wl,--entry -Wl,_init
-LIBS = -Linet4 -linet4 $(LIBKERN) -lgcc
-ifndef CPU
-CPU = 000
-endif
 
 # default definitions
-SGENFILES = $(TARGET)
-OBJS = $(COBJS:.c=.o)
+compile_all_dirs = .compile_*
+GENFILES = $(compile_all_dirs) *.xdd
+
+help:
+	@echo '#'
+	@echo '# targets:'
+	@echo '# --------'
+	@echo '# - all'
+	@echo '# - $(inet4targets)'
+	@echo '#'
+	@echo '# - clean'
+	@echo '# - distclean'
+	@echo '# - help'
+	@echo '#'
+
+all-targets:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	for i in $(inet4targets); do \
+		echo "Making $$i"; \
+		($(MAKE) $$i) \
+		|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+
+$(inet4targets): 
+	$(MAKE) buildinet4 inet4=$@
+
+#
+# multi target stuff
+#
+
+ifneq ($(inet4),)
+
+compile_dir = .compile_$(inet4)
+inet4target = _stmp_$(inet4)
+realtarget = $(inet4target)
+
+$(inet4target): $(compile_dir)
+	cd $(compile_dir); $(MAKE) all
 
-$(TARGET): $(OBJS) $(LIBKERNTARGET)
-	$(LD) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
+$(compile_dir): Makefile.objs
+	$(MKDIR) -p $@
+	$(CP) $< $@/Makefile
 
+else
+
+realtarget =
+
+endif
 
-include $(top_srcdir)/DEPENDENCIES
+buildinet4: $(realtarget)
Index: sys/sockets/Makefile.objs
===================================================================
RCS file: sys/sockets/Makefile.objs
diff -N sys/sockets/Makefile.objs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/sockets/Makefile.objs	24 Dec 2015 12:17:30 -0000
@@ -0,0 +1,52 @@
+#
+# Makefile for inet4
+#
+
+SHELL = /bin/sh
+SUBDIRS = 
+
+srcdir = ..
+top_srcdir = ../..
+subdir = $(compile_dir)
+
+default: all
+
+include ../INET4DEFS
+
+include $(top_srcdir)/CONFIGVARS
+include $(top_srcdir)/RULES
+include $(top_srcdir)/PHONY
+
+
+all-here: build
+
+# default overwrites
+DEFINITIONS = -D__KERNEL_XDD__ $(INET4DEFS)
+
+INCLUDES += -I$(top_srcdir)/../../sys
+CFLAGS +=
+WARN += 
+
+# default definitions
+LIBS = -L../inet4/.compile_$(inet4) -Linet4 -linet4 $(LIBKERN) -lgcc
+LD = -nostdlib -Wl,--entry -Wl,_init
+STRIPFLAGS =
+GENFILES = $(TARGET)
+OBJS = $(COBJS:.c=.o) $(SOBJS:.s=.o) $(SSOBJS:.S=.o)
+
+VPATH = ..
+
+#
+# main target
+#
+build: $(TARGET)
+
+$(TARGET): $(OBJS) $(LIBKERNTARGET)
+	$(CC) $(LD) -o $@ $(CFLAGS) $(OBJS) $(LIBS)
+
+$(OBJS): ../INET4DEFS
+
+
+# default dependencies
+# must be included last
+include $(top_srcdir)/DEPENDENCIES
Index: sys/sockets/inet4/.cvsignore
===================================================================
RCS file: /mint/freemint/sys/sockets/inet4/.cvsignore,v
retrieving revision 1.1
diff -u -8 -r1.1 .cvsignore
--- sys/sockets/inet4/.cvsignore	29 Jun 2000 21:07:11 -0000	1.1
+++ sys/sockets/inet4/.cvsignore	24 Dec 2015 12:17:30 -0000
@@ -6,8 +6,9 @@
 *~
 lib*.a
 *.xdd
 *.xfs
 *.xif
 *.app
 *.prg
 __target.*
+.compile_*
Index: sys/sockets/inet4/BINFILES
===================================================================
RCS file: /mint/freemint/sys/sockets/inet4/BINFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 BINFILES
--- sys/sockets/inet4/BINFILES	29 Jun 2000 21:07:11 -0000	1.1
+++ sys/sockets/inet4/BINFILES	24 Dec 2015 12:17:30 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into binary distributions.
 
-BINFILES = 
+BINFILES = ./compile_*/libinet4.a
Index: sys/sockets/inet4/EXTRAFILES
===================================================================
RCS file: /mint/freemint/sys/sockets/inet4/EXTRAFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 EXTRAFILES
--- sys/sockets/inet4/EXTRAFILES	29 Jun 2000 21:07:12 -0000	1.1
+++ sys/sockets/inet4/EXTRAFILES	24 Dec 2015 12:17:30 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into source distributions.
 
-SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile SRCFILES
+SRCFILES += BINFILES EXTRAFILES INET4DEFS MISCFILES Makefile Makefile.objs SRCFILES
Index: sys/sockets/inet4/INET4DEFS
===================================================================
RCS file: sys/sockets/inet4/INET4DEFS
diff -N sys/sockets/inet4/INET4DEFS
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/sockets/inet4/INET4DEFS	24 Dec 2015 12:17:30 -0000
@@ -0,0 +1,52 @@
+#
+# debug flags
+#
+# -DDEV_DEBUG		include debugging information
+
+
+ifeq ($(inet4),deb)
+TARGET = libinet4.a
+CPU = 020-60
+INET4DEFS += -DDEV_DEBUG
+endif
+
+ifeq ($(inet4),000)
+TARGET = libinet4.a
+CPU = 000
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),02060)
+TARGET = libinet4.a
+CPU = 020-60
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),030)
+TARGET = libinet4.a
+CPU = 030
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),040)
+TARGET = libinet4.a
+CPU = 040
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),060)
+TARGET = libinet4.a
+CPU = 060
+INET4DEFS +=
+endif
+
+ifeq ($(inet4),col)
+TARGET = libinet4.a
+CPU  = v4e
+INET4DEFS += 
+endif
+
+#
+# all default targets
+#
+inet4targets = 02060 030 040 060 deb 000 col
Index: sys/sockets/inet4/MISCFILES
===================================================================
RCS file: /mint/freemint/sys/sockets/inet4/MISCFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 MISCFILES
--- sys/sockets/inet4/MISCFILES	29 Jun 2000 21:07:12 -0000	1.1
+++ sys/sockets/inet4/MISCFILES	24 Dec 2015 12:17:30 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go both into source and binary distributions.
 
-MISCFILES = 
+MISCFILES = BUGS
Index: sys/sockets/inet4/Makefile
===================================================================
RCS file: /mint/freemint/sys/sockets/inet4/Makefile,v
retrieving revision 1.5
diff -u -8 -r1.5 Makefile
--- sys/sockets/inet4/Makefile	11 Feb 2014 22:18:59 -0000	1.5
+++ sys/sockets/inet4/Makefile	24 Dec 2015 12:17:30 -0000
@@ -1,36 +1,74 @@
 #
-# Makefile for 
+# Makefile for libint4
 #
-TARGET = libinet4.a
 
 SHELL = /bin/sh
 SUBDIRS = 
 
 srcdir = .
 top_srcdir = ../..
 subdir = 
 
-default: all
+default: help
+
+include ./INET4DEFS
 
 include $(top_srcdir)/CONFIGVARS
 include $(top_srcdir)/RULES
 include $(top_srcdir)/PHONY
 
-all-here: $(TARGET)
+all-here: all-targets
 
 # default overwrites
-INCLUDES = -I.. -I$(top_srcdir)
-DEFINITIONS = -D__KERNEL_XDD__
-ifndef CPU
-CPU = 000
-endif
 
 # default definitions
-OBJS = $(COBJS:.c=.o)
+compile_all_dirs = .compile_*
+GENFILES = $(compile_all_dirs) *.a
+
+help:
+	@echo '#'
+	@echo '# targets:'
+	@echo '# --------'
+	@echo '# - all'
+	@echo '# - $(inet4targets)'
+	@echo '#'
+	@echo '# - clean'
+	@echo '# - distclean'
+	@echo '# - help'
+	@echo '#'
+
+all-targets:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	for i in $(inet4targets); do \
+		echo "Making $$i"; \
+		($(MAKE) $$i) \
+		|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+
+$(inet4targets): 
+	$(MAKE) buildinet4 inet4=$@
+
+#
+# multi target stuff
+#
 
-$(TARGET): $(OBJS)
-	$(AR) cr $@ $(OBJS)
-	$(RANLIB) $@
+ifneq ($(inet4),)
 
+compile_dir = .compile_$(inet4)
+inet4target = _stmp_$(inet4)
+realtarget = $(inet4target)
+
+$(inet4target): $(compile_dir)
+	cd $(compile_dir); $(MAKE) all
+
+$(compile_dir): Makefile.objs
+	$(MKDIR) -p $@
+	$(CP) $< $@/Makefile
+
+else
+
+realtarget =
+
+endif
 
-include $(top_srcdir)/DEPENDENCIES
+buildinet4: $(realtarget)
Index: sys/sockets/inet4/Makefile.objs
===================================================================
RCS file: sys/sockets/inet4/Makefile.objs
diff -N sys/sockets/inet4/Makefile.objs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/sockets/inet4/Makefile.objs	24 Dec 2015 12:17:30 -0000
@@ -0,0 +1,51 @@
+#
+# Makefile for inet4
+#
+
+SHELL = /bin/sh
+SUBDIRS = 
+
+srcdir = ..
+top_srcdir = ../../..
+subdir = $(compile_dir)
+
+default: all
+
+include ../INET4DEFS
+
+include $(top_srcdir)/CONFIGVARS
+include $(top_srcdir)/RULES
+include $(top_srcdir)/PHONY
+
+
+all-here: build
+
+# default overwrites
+DEFINITIONS = -D__KERNEL_XDD__ $(INET4DEFS)
+INCLUDES = -I../.. -I$(top_srcdir)
+
+CFLAGS +=
+WARN += 
+
+# default definitions
+STRIPFLAGS =
+GENFILES = $(TARGET)
+OBJS = $(COBJS:.c=.o) $(SOBJS:.s=.o) $(SSOBJS:.S=.o)
+
+VPATH = ..
+
+#
+# main target
+#
+build: $(TARGET)
+
+$(TARGET): $(OBJS)
+	$(AR) cr $@ $(OBJS)
+	$(RANLIB) $@
+
+$(OBJS): ../INET4DEFS
+
+
+# default dependencies
+# must be included last
+include $(top_srcdir)/DEPENDENCIES
Index: sys/xdd/lp/.cvsignore
===================================================================
RCS file: /mint/freemint/sys/xdd/lp/.cvsignore,v
retrieving revision 1.2
diff -u -8 -r1.2 .cvsignore
--- sys/xdd/lp/.cvsignore	4 Apr 2011 09:36:44 -0000	1.2
+++ sys/xdd/lp/.cvsignore	24 Dec 2015 12:17:31 -0000
@@ -1,3 +1,4 @@
 .deps
 lp.xdd
 *.o
+.compile_*
Index: sys/xdd/lp/BINFILES
===================================================================
RCS file: /mint/freemint/sys/xdd/lp/BINFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 BINFILES
--- sys/xdd/lp/BINFILES	17 Jun 2003 21:25:49 -0000	1.1
+++ sys/xdd/lp/BINFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into binary distributions.
 
-BINFILES = xconout2.xdd
+BINFILES = ./compile_*/lp.xdd
Index: sys/xdd/lp/EXTRAFILES
===================================================================
RCS file: /mint/freemint/sys/xdd/lp/EXTRAFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 EXTRAFILES
--- sys/xdd/lp/EXTRAFILES	17 Jun 2003 21:25:49 -0000	1.1
+++ sys/xdd/lp/EXTRAFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into source distributions.
 
-SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile SRCFILES
+SRCFILES += BINFILES EXTRAFILES LPDEFS Makefile Makefile.objs MISCFILES SRCFILES
Index: sys/xdd/lp/LPDEFS
===================================================================
RCS file: sys/xdd/lp/LPDEFS
diff -N sys/xdd/lp/LPDEFS
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/xdd/lp/LPDEFS	24 Dec 2015 12:17:31 -0000
@@ -0,0 +1,52 @@
+#
+# debug flags
+#
+# -DDEV_DEBUG		include debugging information
+
+
+ifeq ($(lp),deb)
+TARGET = lp.xdd
+CPU = 020-60
+LPDEFS += -DDEV_DEBUG
+endif
+
+ifeq ($(lp),000)
+TARGET = lp.xdd
+CPU = 000
+LPDEFS +=
+endif
+
+ifeq ($(lp),02060)
+TARGET = lp.xdd
+CPU = 020-60
+LPDEFS +=
+endif
+
+ifeq ($(lp),030)
+TARGET = lp.xdd
+CPU = 030
+LPDEFS +=
+endif
+
+ifeq ($(lp),040)
+TARGET = lp.xdd
+CPU = 040
+LPDEFS +=
+endif
+
+ifeq ($(lp),060)
+TARGET = lp.xdd
+CPU = 060
+LPDEFS +=
+endif
+
+ifeq ($(lp),col)
+TARGET = lp.xdd
+CPU  = v4e
+LPDEFS += 
+endif
+
+#
+# all default targets
+#
+lptargets = 02060 030 040 060 deb 000 col
Index: sys/xdd/lp/MISCFILES
===================================================================
RCS file: /mint/freemint/sys/xdd/lp/MISCFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 MISCFILES
--- sys/xdd/lp/MISCFILES	17 Jun 2003 21:25:49 -0000	1.1
+++ sys/xdd/lp/MISCFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go both into source and binary distributions.
 
-MISCFILES = README
+MISCFILES = COPYING
Index: sys/xdd/lp/Makefile
===================================================================
RCS file: /mint/freemint/sys/xdd/lp/Makefile,v
retrieving revision 1.4
diff -u -8 -r1.4 Makefile
--- sys/xdd/lp/Makefile	1 Aug 2011 15:27:02 -0000	1.4
+++ sys/xdd/lp/Makefile	24 Dec 2015 12:17:31 -0000
@@ -1,37 +1,74 @@
 #
-# Makefile for 
+# Makefile for lp
 #
-TARGET = lp.xdd
 
 SHELL = /bin/sh
 SUBDIRS = 
 
 srcdir = .
 top_srcdir = ../..
 subdir = lp
 
-default: all
+default: help
+
+include ./LPDEFS
 
 include $(top_srcdir)/CONFIGVARS
 include $(top_srcdir)/RULES
 include $(top_srcdir)/PHONY
 
-all-here: $(TARGET)
+all-here: all-targets
 
 # default overwrites
-INCLUDES = -I$(top_srcdir)
-DEFINITIONS = -D__KERNEL_XDD__
-
-LD = $(CC) -nostdlib -Wl,--entry -Wl,_init
-LIBS = $(LIBKERN) -lgcc
-CPU = 000
 
 # default definitions
-GENFILES = $(TARGET)
-OBJS = $(COBJS:.c=.o) $(SOBJS:.S=.o)
+compile_all_dirs = .compile_*
+GENFILES = $(compile_all_dirs) *.xdd
+
+help:
+	@echo '#'
+	@echo '# targets:'
+	@echo '# --------'
+	@echo '# - all'
+	@echo '# - $(lptargets)'
+	@echo '#'
+	@echo '# - clean'
+	@echo '# - distclean'
+	@echo '# - help'
+	@echo '#'
+
+all-targets:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	for i in $(lptargets); do \
+		echo "Making $$i"; \
+		($(MAKE) $$i) \
+		|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+
+$(lptargets): 
+	$(MAKE) buildlp lp=$@
+
+#
+# multi target stuff
+#
+
+ifneq ($(lp),)
+
+compile_dir = .compile_$(lp)
+lptarget = _stmp_$(lp)
+realtarget = $(lptarget)
+
+$(lptarget): $(compile_dir)
+	cd $(compile_dir); $(MAKE) all
+
+$(compile_dir): Makefile.objs
+	$(MKDIR) -p $@
+	$(CP) $< $@/Makefile
+
+else
 
-$(TARGET): $(OBJS) $(LIBKERNTARGET)
-	$(LD) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
+realtarget =
 
+endif
 
-include $(top_srcdir)/DEPENDENCIES
+buildlp: $(realtarget)
Index: sys/xdd/lp/Makefile.objs
===================================================================
RCS file: sys/xdd/lp/Makefile.objs
diff -N sys/xdd/lp/Makefile.objs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/xdd/lp/Makefile.objs	24 Dec 2015 12:17:31 -0000
@@ -0,0 +1,52 @@
+#
+# Makefile for lp
+#
+
+SHELL = /bin/sh
+SUBDIRS =
+
+srcdir = ..
+top_srcdir = ../../..
+subdir = $(compile_dir)
+
+default: all
+
+include ../LPDEFS
+
+include $(top_srcdir)/CONFIGVARS
+include $(top_srcdir)/RULES
+include $(top_srcdir)/PHONY
+
+
+all-here: build
+
+# default overwrites
+DEFINITIONS = -D__KERNEL_XDD__ $(LPDEFS)
+
+INCLUDES += -I$(top_srcdir)/../../sys
+CFLAGS +=
+WARN += 
+
+# default definitions
+LIBS = $(LIBKERN) -lgcc
+LDFLAGS = -nostdlib -Wl,--entry -Wl,_init
+STRIPFLAGS =
+GENFILES = $(TARGET)
+OBJS = $(COBJS:.c=.o) $(SOBJS:.s=.o) $(SSOBJS:.S=.o)
+
+VPATH = ..
+
+#
+# main target
+#
+build: $(TARGET)
+
+$(TARGET): $(OBJS) $(LIBKERNTARGET)
+	$(CC) $(LDFLAGS) -o $@ $(CFLAGS) $(OBJS) $(LIBS)
+
+$(OBJS): ../LPDEFS
+
+
+# default dependencies
+# must be included last
+include $(top_srcdir)/DEPENDENCIES
Index: sys/xdd/lp/SRCFILES
===================================================================
RCS file: /mint/freemint/sys/xdd/lp/SRCFILES,v
retrieving revision 1.2
diff -u -8 -r1.2 SRCFILES
--- sys/xdd/lp/SRCFILES	25 May 2011 08:54:28 -0000	1.2
+++ sys/xdd/lp/SRCFILES	24 Dec 2015 12:17:31 -0000
@@ -1,8 +1,8 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into source distributions.
 
 HEADER = lp.h
 COBJS = lp.c
-SOBJS = centr.S
+SSOBJS = centr.S
 
-SRCFILES = $(HEADER) $(COBJS) $(SOBJS)
+SRCFILES = $(HEADER) $(COBJS) $(SSOBJS)
Index: sys/xdd/xconout2/.cvsignore
===================================================================
RCS file: /mint/freemint/sys/xdd/xconout2/.cvsignore,v
retrieving revision 1.1
diff -u -8 -r1.1 .cvsignore
--- sys/xdd/xconout2/.cvsignore	27 Jun 2000 18:15:43 -0000	1.1
+++ sys/xdd/xconout2/.cvsignore	24 Dec 2015 12:17:31 -0000
@@ -6,8 +6,9 @@
 *~
 lib*.a
 *.xdd
 *.xfs
 *.xif
 *.app
 *.prg
 __target.*
+.compile_*
Index: sys/xdd/xconout2/BINFILES
===================================================================
RCS file: /mint/freemint/sys/xdd/xconout2/BINFILES,v
retrieving revision 1.1.1.1
diff -u -8 -r1.1.1.1 BINFILES
--- sys/xdd/xconout2/BINFILES	31 May 2000 11:50:38 -0000	1.1.1.1
+++ sys/xdd/xconout2/BINFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into binary distributions.
 
-BINFILES = xconout2.xdd
+BINFILES = .compile_*/xconout2.xdd
Index: sys/xdd/xconout2/EXTRAFILES
===================================================================
RCS file: /mint/freemint/sys/xdd/xconout2/EXTRAFILES,v
retrieving revision 1.1.1.1
diff -u -8 -r1.1.1.1 EXTRAFILES
--- sys/xdd/xconout2/EXTRAFILES	31 May 2000 11:50:38 -0000	1.1.1.1
+++ sys/xdd/xconout2/EXTRAFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into source distributions.
 
-SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile SRCFILES
+SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile Makefile.objs SRCFILES XCONOUT2DEFS
Index: sys/xdd/xconout2/MISCFILES
===================================================================
RCS file: /mint/freemint/sys/xdd/xconout2/MISCFILES,v
retrieving revision 1.1.1.1
diff -u -8 -r1.1.1.1 MISCFILES
--- sys/xdd/xconout2/MISCFILES	31 May 2000 11:50:38 -0000	1.1.1.1
+++ sys/xdd/xconout2/MISCFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go both into source and binary distributions.
 
-MISCFILES = README
+MISCFILES = COPYING README
Index: sys/xdd/xconout2/Makefile
===================================================================
RCS file: /mint/freemint/sys/xdd/xconout2/Makefile,v
retrieving revision 1.5
diff -u -8 -r1.5 Makefile
--- sys/xdd/xconout2/Makefile	19 Nov 2014 19:30:41 -0000	1.5
+++ sys/xdd/xconout2/Makefile	24 Dec 2015 12:17:31 -0000
@@ -1,37 +1,74 @@
 #
-# Makefile for 
+# Makefile for xconout2
 #
-TARGET = xconout2.xdd
 
 SHELL = /bin/sh
 SUBDIRS = 
 
 srcdir = .
 top_srcdir = ../..
 subdir = xconout2
 
-default: all
+default: help
+
+include ./XCONOUT2DEFS
 
 include $(top_srcdir)/CONFIGVARS
 include $(top_srcdir)/RULES
 include $(top_srcdir)/PHONY
 
-all-here: $(TARGET)
+all-here: all-targets
 
 # default overwrites
-INCLUDES = -I$(top_srcdir)
-DEFINITIONS = -D__KERNEL_XDD__
-
-LD = $(CC) -nostdlib -Wl,--entry -Wl,_init
-LIBS = $(LIBKERN) -lgcc
-CPU = 000
 
 # default definitions
-GENFILES = $(TARGET)
-OBJS = $(COBJS:.c=.o)
+compile_all_dirs = .compile_*
+GENFILES = $(compile_all_dirs) *.xdd
+
+help:
+	@echo '#'
+	@echo '# targets:'
+	@echo '# --------'
+	@echo '# - all'
+	@echo '# - $(xconout2targets)'
+	@echo '#'
+	@echo '# - clean'
+	@echo '# - distclean'
+	@echo '# - help'
+	@echo '#'
+
+all-targets:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	for i in $(xconout2targets); do \
+		echo "Making $$i"; \
+		($(MAKE) $$i) \
+		|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+
+$(xconout2targets): 
+	$(MAKE) buildxconout2 xconout2=$@
+
+#
+# multi target stuff
+#
+
+ifneq ($(xconout2),)
+
+compile_dir = .compile_$(xconout2)
+xconout2target = _stmp_$(xconout2)
+realtarget = $(xconout2target)
+
+$(xconout2target): $(compile_dir)
+	cd $(compile_dir); $(MAKE) all
+
+$(compile_dir): Makefile.objs
+	$(MKDIR) -p $@
+	$(CP) $< $@/Makefile
+
+else
 
-$(TARGET): $(OBJS) $(LIBKERNTARGET)
-	$(LD) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
+realtarget =
 
+endif
 
-include $(top_srcdir)/DEPENDENCIES
+buildxconout2: $(realtarget)
Index: sys/xdd/xconout2/Makefile.objs
===================================================================
RCS file: sys/xdd/xconout2/Makefile.objs
diff -N sys/xdd/xconout2/Makefile.objs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/xdd/xconout2/Makefile.objs	24 Dec 2015 12:17:31 -0000
@@ -0,0 +1,52 @@
+#
+# Makefile for xconout2
+#
+
+SHELL = /bin/sh
+SUBDIRS =
+
+srcdir = ..
+top_srcdir = ../../..
+subdir = $(compile_dir)
+
+default: all
+
+include ../XCONOUT2DEFS
+
+include $(top_srcdir)/CONFIGVARS
+include $(top_srcdir)/RULES
+include $(top_srcdir)/PHONY
+
+
+all-here: build
+
+# default overwrites
+DEFINITIONS = -D__KERNEL_XDD__ $(XCONOUT2DEFS)
+INCLUDES = -I$(top_srcdir)
+
+CFLAGS +=
+WARN += 
+
+# default definitions
+LIBS = $(LIBKERN) -lgcc
+LDFLAGS = -nostdlib -Wl,--entry -Wl,_init
+STRIPFLAGS =
+GENFILES = $(TARGET)
+OBJS = $(COBJS:.c=.o) $(SOBJS:.s=.o) $(SSOBJS:.S=.o)
+
+VPATH = ..
+
+#
+# main target
+#
+build: $(TARGET)
+
+$(TARGET): $(OBJS) $(LIBKERNTARGET)
+	$(CC) $(LDFLAGS) -o $@ $(CFLAGS) $(OBJS) $(LIBS)
+
+$(OBJS): ../XCONOUT2DEFS
+
+
+# default dependencies
+# must be included last
+include $(top_srcdir)/DEPENDENCIES
Index: sys/xdd/xconout2/XCONOUT2DEFS
===================================================================
RCS file: sys/xdd/xconout2/XCONOUT2DEFS
diff -N sys/xdd/xconout2/XCONOUT2DEFS
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/xdd/xconout2/XCONOUT2DEFS	24 Dec 2015 12:17:31 -0000
@@ -0,0 +1,52 @@
+#
+# debug flags
+#
+# -DDEV_DEBUG		include debugging information
+
+
+ifeq ($(xconout2),deb)
+TARGET = xconout2.xdd
+CPU = 020-60
+XCONOUT2DEFS += -DDEV_DEBUG
+endif
+
+ifeq ($(xconout2),000)
+TARGET = xconout2.xdd
+CPU = 000
+XCONOUT2DEFS +=
+endif
+
+ifeq ($(xconout2),02060)
+TARGET = xconout2.xdd
+CPU = 020-60
+XCONOUT2DEFS +=
+endif
+
+ifeq ($(xconout2),030)
+TARGET = xconout2.xdd
+CPU = 030
+XCONOUT2DEFS +=
+endif
+
+ifeq ($(xconout2),040)
+TARGET = xconout2.xdd
+CPU = 040
+XCONOUT2DEFS +=
+endif
+
+ifeq ($(xconout2),060)
+TARGET = xconout2.xdd
+CPU = 060
+XCONOUT2DEFS +=
+endif
+
+ifeq ($(xconout2),col)
+TARGET = xconout2.xdd
+CPU  = v4e
+XCONOUT2DEFS += 
+endif
+
+#
+# all default targets
+#
+xconout2targets = 02060 030 040 060 deb 000 col
Index: sys/xfs/minixfs/.cvsignore
===================================================================
RCS file: /mint/freemint/sys/xfs/minixfs/.cvsignore,v
retrieving revision 1.1
diff -u -8 -r1.1 .cvsignore
--- sys/xfs/minixfs/.cvsignore	27 Jun 2000 18:15:43 -0000	1.1
+++ sys/xfs/minixfs/.cvsignore	24 Dec 2015 12:17:31 -0000
@@ -6,8 +6,9 @@
 *~
 lib*.a
 *.xdd
 *.xfs
 *.xif
 *.app
 *.prg
 __target.*
+.compile_*
Index: sys/xfs/minixfs/BINFILES
===================================================================
RCS file: /mint/freemint/sys/xfs/minixfs/BINFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 BINFILES
--- sys/xfs/minixfs/BINFILES	4 Sep 2000 00:26:24 -0000	1.1
+++ sys/xfs/minixfs/BINFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into binary distributions.
 
-BINFILES = minix.xfs
+BINFILES = .compile_*/minix.xfs
Index: sys/xfs/minixfs/MINIXDEFS
===================================================================
RCS file: sys/xfs/minixfs/MINIXDEFS
diff -N sys/xfs/minixfs/MINIXDEFS
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/xfs/minixfs/MINIXDEFS	24 Dec 2015 12:17:31 -0000
@@ -0,0 +1,52 @@
+#
+# debug flags
+#
+# -DDEV_DEBUG		include debugging information
+
+
+ifeq ($(minix),deb)
+TARGET = minix.xfs
+CPU = 020-60
+MINIXDEFS += -DDEV_DEBUG
+endif
+
+ifeq ($(minix),000)
+TARGET = minix.xfs
+CPU = 000
+MINIXDEFS +=
+endif
+
+ifeq ($(minix),02060)
+TARGET = minix.xfs
+CPU = 020-60
+MINIXDEFS +=
+endif
+
+ifeq ($(minix),030)
+TARGET = minix.xfs
+CPU = 030
+MINIXDEFS +=
+endif
+
+ifeq ($(minix),040)
+TARGET = minix.xfs
+CPU = 040
+MINIXDEFS +=
+endif
+
+ifeq ($(minix),060)
+TARGET = minix.xfs
+CPU = 060
+MINIXDEFS +=
+endif
+
+ifeq ($(minix),col)
+TARGET = minix.xfs
+CPU  = v4e
+MINIXDEFS += 
+endif
+
+#
+# all default targets
+#
+minixtargets = 02060 030 040 060 deb 000 col
Index: sys/xfs/minixfs/MISCFILES
===================================================================
RCS file: /mint/freemint/sys/xfs/minixfs/MISCFILES,v
retrieving revision 1.2
diff -u -8 -r1.2 MISCFILES
--- sys/xfs/minixfs/MISCFILES	27 Sep 2000 11:43:12 -0000	1.2
+++ sys/xfs/minixfs/MISCFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go both into source and binary distributions.
 
-MISCFILES = ChangeLog.old README copying
+MISCFILES = ChangeLog.old COPYING README
Index: sys/xfs/minixfs/Makefile
===================================================================
RCS file: /mint/freemint/sys/xfs/minixfs/Makefile,v
retrieving revision 1.6
diff -u -8 -r1.6 Makefile
--- sys/xfs/minixfs/Makefile	19 Nov 2014 19:30:41 -0000	1.6
+++ sys/xfs/minixfs/Makefile	24 Dec 2015 12:17:31 -0000
@@ -1,38 +1,74 @@
 #
-# Makefile for 
+# Makefile for minixfs
 #
-TARGET = minix.xfs
 
 SHELL = /bin/sh
 SUBDIRS = 
 
 srcdir = .
 top_srcdir = ../..
 subdir = minixfs
 
-default: all
+default: help
+
+include ./MINIXDEFS
 
 include $(top_srcdir)/CONFIGVARS
 include $(top_srcdir)/RULES
 include $(top_srcdir)/PHONY
 
-all-here: $(TARGET)
+all-here: all-targets
 
 # default overwrites
-INCLUDES = -I$(top_srcdir)
-DEFINITIONS = -D__KERNEL_XFS__
-
-LD = $(CC) -nostdlib -Wl,--entry -Wl,_init
-LIBS = $(LIBKERN) -lgcc
-CPU = 000
-STRIPFLAGS = $(shell for i in `cat syms.mfs` ; do echo -n "-K $$i " ; done)
 
 # default definitions
-GENFILES = $(TARGET)
-OBJS = $(COBJS:.c=.o)
+compile_all_dirs = .compile_*
+GENFILES = $(compile_all_dirs) *.xfs
+
+help:
+	@echo '#'
+	@echo '# targets:'
+	@echo '# --------'
+	@echo '# - all'
+	@echo '# - $(minixtargets)'
+	@echo '#'
+	@echo '# - clean'
+	@echo '# - distclean'
+	@echo '# - help'
+	@echo '#'
+
+all-targets:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	for i in $(minixtargets); do \
+		echo "Making $$i"; \
+		($(MAKE) $$i) \
+		|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+
+$(minixtargets):
+	$(MAKE) buildminix minix=$@
+
+#
+# multi target stuff
+#
+
+ifneq ($(minix),)
+
+compile_dir = .compile_$(minix)
+minixtarget = _stmp_$(minix)
+realtarget = $(minixtarget)
+
+$(minixtarget): $(compile_dir)
+	cd $(compile_dir); $(MAKE) all
+
+$(compile_dir): Makefile.objs
+	$(MKDIR) -p $@
+	$(CP) $< $@/Makefile
+
+else
 
-$(TARGET): $(OBJS) $(LIBKERNTARGET)
-	$(LD) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
+realtarget =
 
+endif
 
-include $(top_srcdir)/DEPENDENCIES
+buildminix: $(realtarget)
Index: sys/xfs/minixfs/Makefile.objs
===================================================================
RCS file: sys/xfs/minixfs/Makefile.objs
diff -N sys/xfs/minixfs/Makefile.objs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/xfs/minixfs/Makefile.objs	24 Dec 2015 12:17:31 -0000
@@ -0,0 +1,52 @@
+#
+# Makefile for minixfs
+#
+
+SHELL = /bin/sh
+SUBDIRS =
+
+srcdir = ..
+top_srcdir = ../../..
+subdir = $(compile_dir)
+
+default: all
+
+include ../MINIXDEFS
+
+include $(top_srcdir)/CONFIGVARS
+include $(top_srcdir)/RULES
+include $(top_srcdir)/PHONY
+
+
+all-here: build
+
+# default overwrites
+DEFINITIONS = -D__KERNEL_XFS__ $(MINIXDEFS)
+
+INCLUDES += -I$(top_srcdir)/../../sys
+CFLAGS +=
+WARN +=
+
+# default definitions
+LIBS = $(LIBKERN) -lgcc
+LDFLAGS = -nostdlib -Wl,--entry -Wl,_init
+STRIPFLAGS = $(shell for i in `cat syms.mfs` ; do echo -n "-K $$i " ; done)
+GENFILES = $(TARGET)
+OBJS = $(COBJS:.c=.o) $(SOBJS:.s=.o) $(SSOBJS:.S=.o)
+
+VPATH = ..
+
+#
+# main target
+#
+build: $(TARGET)
+
+$(TARGET): $(OBJS) $(LIBKERNTARGET)
+	$(CC) $(LDFLAGS) -o $@ $(CFLAGS) $(OBJS) $(LIBS)
+
+$(OBJS): ../MINIXDEFS
+
+
+# default dependencies
+# must be included last
+include $(top_srcdir)/DEPENDENCIES
Index: sys/xfs/nfs/.cvsignore
===================================================================
RCS file: /mint/freemint/sys/xfs/nfs/.cvsignore,v
retrieving revision 1.1
diff -u -8 -r1.1 .cvsignore
--- sys/xfs/nfs/.cvsignore	27 Jun 2000 18:15:43 -0000	1.1
+++ sys/xfs/nfs/.cvsignore	24 Dec 2015 12:17:31 -0000
@@ -6,8 +6,9 @@
 *~
 lib*.a
 *.xdd
 *.xfs
 *.xif
 *.app
 *.prg
 __target.*
+.compile_*
Index: sys/xfs/nfs/BINFILES
===================================================================
RCS file: /mint/freemint/sys/xfs/nfs/BINFILES,v
retrieving revision 1.2
diff -u -8 -r1.2 BINFILES
--- sys/xfs/nfs/BINFILES	27 Sep 2000 11:43:12 -0000	1.2
+++ sys/xfs/nfs/BINFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into binary distributions.
 
-BINFILES = nfs.xfs
+BINFILES = ./compile_*/nfs.xfs
Index: sys/xfs/nfs/EXTRAFILES
===================================================================
RCS file: /mint/freemint/sys/xfs/nfs/EXTRAFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 EXTRAFILES
--- sys/xfs/nfs/EXTRAFILES	4 Sep 2000 01:04:24 -0000	1.1
+++ sys/xfs/nfs/EXTRAFILES	24 Dec 2015 12:17:31 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into source distributions.
 
-SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile SRCFILES
+SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile Makefile.objs NFSDEFS SRCFILES
Index: sys/xfs/nfs/Makefile
===================================================================
RCS file: /mint/freemint/sys/xfs/nfs/Makefile,v
retrieving revision 1.7
diff -u -8 -r1.7 Makefile
--- sys/xfs/nfs/Makefile	19 Nov 2014 19:30:41 -0000	1.7
+++ sys/xfs/nfs/Makefile	24 Dec 2015 12:17:31 -0000
@@ -1,37 +1,74 @@
 #
-# Makefile for 
+# Makefile for nfs
 #
-TARGET = nfs.xfs
 
 SHELL = /bin/sh
 SUBDIRS = 
 
 srcdir = .
 top_srcdir = ../..
 subdir = nfs
 
-default: all
+default: help
+
+include ./NFSDEFS
 
 include $(top_srcdir)/CONFIGVARS
 include $(top_srcdir)/RULES
 include $(top_srcdir)/PHONY
 
-all-here: $(TARGET)
+all-here: all-targets
 
 # default overwrites
-INCLUDES = -I$(top_srcdir)
-DEFINITIONS = -D__KERNEL_XFS__
-
-LD = $(CC) -nostdlib -Wl,--entry -Wl,_init
-LIBS = $(LIBKERN) -lgcc
-CPU = 000
 
 # default definitions
-GENFILES = $(TARGET)
-OBJS = $(COBJS:.c=.o)
+compile_all_dirs = .compile_*
+GENFILES = $(compile_all_dirs) *.xfs
+
+help:
+	@echo '#'
+	@echo '# targets:'
+	@echo '# --------'
+	@echo '# - all'
+	@echo '# - $(nfstargets)'
+	@echo '#'
+	@echo '# - clean'
+	@echo '# - distclean'
+	@echo '# - help'
+	@echo '#'
+
+all-targets:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	for i in $(nfstargets); do \
+		echo "Making $$i"; \
+		($(MAKE) $$i) \
+		|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+
+$(nfstargets):
+	$(MAKE) buildnfs nfs=$@
+
+#
+# multi target stuff
+#
+
+ifneq ($(nfs),)
+
+compile_dir = .compile_$(nfs)
+nfstarget = _stmp_$(nfs)
+realtarget = $(nfstarget)
+
+$(nfstarget): $(compile_dir)
+	cd $(compile_dir); $(MAKE) all
+
+$(compile_dir): Makefile.objs
+	$(MKDIR) -p $@
+	$(CP) $< $@/Makefile
+
+else
 
-$(TARGET): $(OBJS) $(LIBKERNTARGET)
-	$(LD) $(CFLAGS) -o $@ $(OBJS) $(LIBS)
+realtarget =
 
+endif
 
-include $(top_srcdir)/DEPENDENCIES
+buildnfs: $(realtarget)
Index: sys/xfs/nfs/Makefile.objs
===================================================================
RCS file: sys/xfs/nfs/Makefile.objs
diff -N sys/xfs/nfs/Makefile.objs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/xfs/nfs/Makefile.objs	24 Dec 2015 12:17:31 -0000
@@ -0,0 +1,52 @@
+#
+# Makefile for minixfs
+#
+
+SHELL = /bin/sh
+SUBDIRS =
+
+srcdir = ..
+top_srcdir = ../../..
+subdir = $(compile_dir)
+
+default: all
+
+include ../NFSDEFS
+
+include $(top_srcdir)/CONFIGVARS
+include $(top_srcdir)/RULES
+include $(top_srcdir)/PHONY
+
+
+all-here: build
+
+# default overwrites
+DEFINITIONS = -D__KERNEL_XFS__ $(NFSDEFS)
+INCLUDES = -I$(top_srcdir)
+
+CFLAGS +=
+WARN +=
+
+# default definitions
+LIBS = $(LIBKERN) -lgcc
+LDFLAGS = -nostdlib -Wl,--entry -Wl,_init
+STRIPFLAGS =
+GENFILES = $(TARGET)
+OBJS = $(COBJS:.c=.o) $(SOBJS:.s=.o) $(SSOBJS:.S=.o)
+
+VPATH = ..
+
+#
+# main target
+#
+build: $(TARGET)
+
+$(TARGET): $(OBJS) $(LIBKERNTARGET)
+	$(CC) $(LDFLAGS) -o $@ $(CFLAGS) $(OBJS) $(LIBS)
+
+$(OBJS): ../NFSDEFS
+
+
+# default dependencies
+# must be included last
+include $(top_srcdir)/DEPENDENCIES
Index: sys/xfs/nfs/NFSDEFS
===================================================================
RCS file: sys/xfs/nfs/NFSDEFS
diff -N sys/xfs/nfs/NFSDEFS
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ sys/xfs/nfs/NFSDEFS	24 Dec 2015 12:17:31 -0000
@@ -0,0 +1,52 @@
+#
+# debug flags
+#
+# -DDEV_DEBUG		include debugging information
+
+
+ifeq ($(nfs),deb)
+TARGET = nfs.xfs
+CPU = 020-60
+NFSDEFS += -DDEV_DEBUG
+endif
+
+ifeq ($(nfs),000)
+TARGET = nfs.xfs
+CPU = 000
+NFSDEFS +=
+endif
+
+ifeq ($(nfs),02060)
+TARGET = nfs.xfs
+CPU = 020-60
+NFSDEFS +=
+endif
+
+ifeq ($(nfs),030)
+TARGET = nfs.xfs
+CPU = 030
+NFSDEFS +=
+endif
+
+ifeq ($(nfs),040)
+TARGET = nfs.xfs
+CPU = 040
+NFSDEFS +=
+endif
+
+ifeq ($(nfs),060)
+TARGET = nfs.xfs
+CPU = 060
+NFSDEFS +=
+endif
+
+ifeq ($(nfs),col)
+TARGET = nfs.xfs
+CPU  = v4e
+NFSDEFS += 
+endif
+
+#
+# all default targets
+#
+nfstargets = 02060 030 040 060 deb 000 col
Index: xaaes/src.km/adi/whlmoose/.cvsignore
===================================================================
RCS file: /mint/freemint/xaaes/src.km/adi/whlmoose/.cvsignore,v
retrieving revision 1.3
diff -u -8 -r1.3 .cvsignore
--- xaaes/src.km/adi/whlmoose/.cvsignore	4 Apr 2011 09:36:46 -0000	1.3
+++ xaaes/src.km/adi/whlmoose/.cvsignore	24 Dec 2015 12:17:32 -0000
@@ -1,4 +1,5 @@
 .deps
 moose*.adi
 *.o
 whlmoose_w.c
+.compile_*
Index: xaaes/src.km/adi/whlmoose/BINFILES
===================================================================
RCS file: /mint/freemint/xaaes/src.km/adi/whlmoose/BINFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 BINFILES
--- xaaes/src.km/adi/whlmoose/BINFILES	20 Jul 2004 18:36:33 -0000	1.1
+++ xaaes/src.km/adi/whlmoose/BINFILES	24 Dec 2015 12:17:32 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into binary distributions.
 
-BINFILES = moose.xdd
+BINFILES = compile_*/moose.adi compile_*/moose_w.adi
Index: xaaes/src.km/adi/whlmoose/EXTRAFILES
===================================================================
RCS file: /mint/freemint/xaaes/src.km/adi/whlmoose/EXTRAFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 EXTRAFILES
--- xaaes/src.km/adi/whlmoose/EXTRAFILES	20 Jul 2004 18:36:33 -0000	1.1
+++ xaaes/src.km/adi/whlmoose/EXTRAFILES	24 Dec 2015 12:17:32 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go only into source distributions.
 
-SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile SRCFILES
+SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile Makefile.objs MOOSEDEFS SRCFILES
Index: xaaes/src.km/adi/whlmoose/MISCFILES
===================================================================
RCS file: /mint/freemint/xaaes/src.km/adi/whlmoose/MISCFILES,v
retrieving revision 1.1
diff -u -8 -r1.1 MISCFILES
--- xaaes/src.km/adi/whlmoose/MISCFILES	20 Jul 2004 18:36:33 -0000	1.1
+++ xaaes/src.km/adi/whlmoose/MISCFILES	24 Dec 2015 12:17:32 -0000
@@ -1,4 +1,4 @@
 # This file gets included by the Makefile in this directory to determine
 # the files that should go both into source and binary distributions.
 
-MISCFILES = README
+MISCFILES = COPYING README
Index: xaaes/src.km/adi/whlmoose/MOOSEDEFS
===================================================================
RCS file: xaaes/src.km/adi/whlmoose/MOOSEDEFS
diff -N xaaes/src.km/adi/whlmoose/MOOSEDEFS
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ xaaes/src.km/adi/whlmoose/MOOSEDEFS	24 Dec 2015 12:17:32 -0000
@@ -0,0 +1,52 @@
+#
+# debug flags
+#
+# -DDEV_DEBUG		include debugging information
+
+
+ifeq ($(moose),deb)
+TARGET = moose.adi
+CPU = 020-60
+MOOSEDEFS += -DDEV_DEBUG
+endif
+
+ifeq ($(moose),000)
+TARGET = moose.adi
+CPU = 000
+MOOSEDEFS +=
+endif
+
+ifeq ($(moose),02060)
+TARGET = moose.adi
+CPU = 020-60
+MOOSEDEFS +=
+endif
+
+ifeq ($(moose),030)
+TARGET = moose.adi
+CPU = 030
+MOOSEDEFS +=
+endif
+
+ifeq ($(moose),040)
+TARGET = moose.adi
+CPU = 040
+MOOSEDEFS +=
+endif
+
+ifeq ($(moose),060)
+TARGET = moose.adi
+CPU = 060
+MOOSEDEFS +=
+endif
+
+ifeq ($(moose),col)
+TARGET = moose.adi
+CPU  = v4e
+MOOSEDEFS += 
+endif
+
+#
+# all default targets
+#
+moosetargets = 02060 030 040 060 deb 000 col
Index: xaaes/src.km/adi/whlmoose/Makefile
===================================================================
RCS file: /mint/freemint/xaaes/src.km/adi/whlmoose/Makefile,v
retrieving revision 1.8
diff -u -8 -r1.8 Makefile
--- xaaes/src.km/adi/whlmoose/Makefile	1 Aug 2011 15:27:00 -0000	1.8
+++ xaaes/src.km/adi/whlmoose/Makefile	24 Dec 2015 12:17:32 -0000
@@ -4,46 +4,72 @@
 
 SHELL = /bin/sh
 SUBDIRS = 
 
 srcdir = .
 top_srcdir = ../..
 subdir = whlmoose
 
-default: all
+default: help
+
+include ./MOOSEDEFS
 
 include $(top_srcdir)/CONFIGVARS
 include $(top_srcdir)/RULES
 include $(top_srcdir)/PHONY
 
-all-here: entry
+all-here: all-targets
 
 # default overwrites
-INCLUDES = -I$(top_srcdir)/../../sys
-DEFINITIONS = -D__KERNEL_MODULE__ -DMODULE_NAME=whlmoose $(XDD_DEFINITIONS)
-XDD_DEFINITIONS = 
-
-LD = $(CC) -nostdlib -Wl,--entry -Wl,_init
-LIBS = $(LIBKERN) -lgcc
-CPU = 000
 
 # default definitions
-GENFILES = moose.adi moose_w.adi
+compile_all_dirs = .compile_*
+GENFILES = $(compile_all_dirs) moose.adi moose_w.adi
 SGENFILES = whlmoose_w.c
-OBJS = $(SOBJS:.S=.o)
-
 
-entry:
-	$(MAKE) XDD_DEFINITIONS="" moose.adi
-	$(MAKE) XDD_DEFINITIONS="-DHAVE_WHEEL=1" moose_w.adi
-	
-moose.adi: whlmoose.o $(OBJS) $(LIBKERNTARGET)
-	$(LD) $(CFLAGS) -o $@ $< $(OBJS) $(LIBS)
+help:
+	@echo '#'
+	@echo '# targets:'
+	@echo '# --------'
+	@echo '# - all'
+	@echo '# - $(moosetargets)'
+	@echo '#'
+	@echo '# - clean'
+	@echo '# - distclean'
+	@echo '# - help'
+	@echo '#'
+
+all-targets:
+	@set fnord $(MAKEFLAGS); amf=$$2; \
+	for i in $(moosetargets); do \
+		echo "Making $$i"; \
+		($(MAKE) $$i) \
+		|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+	done && test -z "$$fail"
+
+$(moosetargets): 
+	$(MAKE) buildmoose moose=$@
+
+#
+# multi target stuff
+#
+
+ifneq ($(moose),)
+
+compile_dir = .compile_$(moose)
+moosetarget = _stmp_$(moose)
+realtarget = $(moosetarget)
+
+$(moosetarget): $(compile_dir)
+	cd $(compile_dir); $(MAKE) all
+
+$(compile_dir): Makefile.objs
+	$(MKDIR) -p $@
+	$(CP) $< $@/Makefile
 
-moose_w.adi: whlmoose_w.o $(OBJS) $(LIBKERNTARGET)
-	$(LD) $(CFLAGS) -o $@ $< $(OBJS) $(LIBS)
+else
 
-whlmoose_w.c: whlmoose.c
-	ln -s $< $@
+realtarget =
 
+endif
 
-include $(top_srcdir)/DEPENDENCIES
+buildmoose: $(realtarget)
Index: xaaes/src.km/adi/whlmoose/Makefile.objs
===================================================================
RCS file: xaaes/src.km/adi/whlmoose/Makefile.objs
diff -N xaaes/src.km/adi/whlmoose/Makefile.objs
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ xaaes/src.km/adi/whlmoose/Makefile.objs	24 Dec 2015 12:17:32 -0000
@@ -0,0 +1,61 @@
+#
+# Makefile for moose
+#
+
+SHELL = /bin/sh
+SUBDIRS =
+
+srcdir = ..
+top_srcdir = ../../..
+subdir = $(compile_dir)
+
+default: all
+
+include ../MOOSEDEFS
+
+include $(top_srcdir)/CONFIGVARS
+include $(top_srcdir)/RULES
+include $(top_srcdir)/PHONY
+
+
+all-here: build
+
+# default overwrites
+DEFINITIONS = -D__KERNEL_MODULE__ -DMODULE_NAME=whlmoose $(XDD_DEFINITIONS) $(MOOSEDEFS)
+XDD_DEFINITIONS = 
+INCLUDES = -I$(top_srcdir)/../../sys
+
+CFLAGS +=
+WARN += 
+
+# default definitions
+LIBS = $(LIBKERN) -lgcc
+LDFLAGS = $(CC) -nostdlib -Wl,--entry -Wl,_init
+STRIPFLAGS =
+GENFILES = $(TARGET)
+OBJS = $(SOBJS:.S=.o)
+
+VPATH = $(srcdir)
+
+#
+# main target
+#
+build:
+	$(MAKE) XDD_DEFINITIONS="" moose.adi
+	$(MAKE) XDD_DEFINITIONS="-DHAVE_WHEEL=1" moose_w.adi
+	
+moose.adi: whlmoose.o $(OBJS) $(LIBKERNTARGET)
+	$(LDFLAGS) $(CFLAGS) -o $@ $< $(OBJS) $(LIBS)
+
+moose_w.adi: whlmoose_w.o $(OBJS) $(LIBKERNTARGET)
+	$(LDFLAGS) $(CFLAGS) -o $@ $< $(OBJS) $(LIBS)
+
+$(srcdir)/whlmoose_w.c: whlmoose.c
+	ln -s whlmoose.c $(srcdir)/whlmoose_w.c
+
+$(OBJS): ../MOOSEDEFS
+
+
+# default dependencies
+# must be included last
+include $(top_srcdir)/DEPENDENCIES