+ifneq ($(target),$(host))
+##
+## This is a cross compilation
+##
+arch = $(host)-x-$(target)
+config = -host=$(host) -target=$(target)
+FLAGS_TO_PASS := $(FLAGS_TO_PASS) "target=$(target)"
+
+ifeq ($(patsubst %-lynx,lynx,$(target)),lynx)
+configargs := $(configargs) --with-headers=/s1/cygnus/dejagnu/$(target)/include \
+ --with-libs=/s1/cygnus/dejagnu/$(target)/lib
+endif
+
+ifeq ($(patsubst %-i386-sysv4.2,i386-sysv4.2,$(target)),i386-sysv4.2)
+configargs := $(configargs) --with-headers=/s1/cygnus/dejagnu/$(target)/include \
+ --with-libs=/s1/cygnus/dejagnu/$(target)/lib
+endif
+
+ifeq ($(patsubst %-sparc-sun-sunos4.1.3,sparc-sun-sunos4.1.3,$(target)),sparc-sun-sunos4.1.3)
+configargs := $(configargs) --with-headers=/s1/cygnus/dejagnu/$(target)/include \
+ --with-libs=/s1/cygnus/dejagnu/$(target)/lib
+endif
+
+ifeq ($(patsubst %-sparc-sun-solaris2,sparc-sun-solaris2,$(target)),sparc-sun-solaris2)
+configargs := $(configargs) --with-headers=/s1/cygnus/dejagnu/$(target)/include \
+ --with-libs=/s1/cygnus/dejagnu/$(target)/lib
+endif
+
+ifneq ($(build),$(host))
+all: do-cygnus do-latest
+build-all: build-cygnus build-latest
+else
+all: do-native do-latest
+build-all: build-native build-latest
+endif
+
+
+else
+##
+## This is a native compilation
+##
+arch = $(host)
+config = -host=$(host)
+ifneq ($(build),$(host))
+all: do-cygnus do-latest
+else
+all: $(host)-stamp-3stage-done
+endif
+#all: in-place do1 do2 do3 comparison
+
+endif
+
+NATIVEDIR := $(arch)-native-objdir
+CYGNUSDIR := $(arch)-cygnus-objdir
+LATESTDIR := $(arch)-latest-objdir
+DOSDIR := dos-x-$(target)-objdir
+
+everything: do-cross
+#everything: in-place do1 do2 do3 comparison do-cygnus
+
+.PHONY: dos
+dos:
+ $(MAKE) -f test-build.mk CFLAGS= build=$(host) host=i386-go32 target=$(target) do-dos
+dos-path:
+ $(MAKE) -f test-build.mk CFLAGS= build=$(host) host=i386-go32 target=$(target) path-dos
+
+.PHONY: do-dos
+do-dos: $(HOLESSTAMP) dos-x-$(target)-stamp-done
+build-dos: $(HOLESSTAMP) dos-x-$(target)-stamp-dos-checked
+config-dos: $(HOLESSTAMP) dos-x-$(target)-stamp-dos-configured
+path-dos:
+ @echo "$(SET_CYGNUS_PATH)"
+
+dos-x-$(target)-stamp-done:
+ [ -f $(relbindir)/$(host)-gcc ] || (echo "must have gcc available"; exit 1)
+ $(SET_CYGNUS_PATH) $(TIME) $(GNU_MAKE) -f test-build.mk dos-x-$(target)-stamp-installed $(FLAGS_TO_PASS)
+ if [ -f CLEAN_ALL -o -f CLEAN_CROSSES ] ; then rm -rf $(DOSDIR) ; else true ; fi
+ touch $@
+
+dos-x-$(target)-stamp-installed: $(HOLESSTAMP) dos-x-$(target)-stamp-intermediate
+ [ -d dos-x-$(target)-installed ] || mkdir dos-x-$(target)-installed
+ $(SET_CYGNUS_PATH) $(TREE)/release/mkdosrel dos-x-$(target)-intermediate \
+ dos-x-$(target)-installed $(target)
+# (cd dos-x-$(target)-installed; find . -print | $(TREE)/release/make8.3)
+ touch $@
+
+dos-x-$(target)-stamp-intermediate: $(HOLESSTAMP) dos-x-$(target)-stamp-dos-checked
+ [ -d dos-x-$(target)-intermediate ] || mkdir dos-x-$(target)-intermediate
+ dir=`pwd` ; export dir ; \
+ $(SET_CYGNUS_PATH) cd $(DOSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) \
+ prefix=$$dir/dos-x-$(target)-intermediate install install-info
+ touch $@
+
+dos-x-$(target)-stamp-dos-checked: $(HOLESSTAMP) dos-x-$(target)-stamp-dos-built
+# cd $(DOSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) check
+ touch $@
+
+dos-x-$(target)-stamp-dos-built: $(HOLESSTAMP) dos-x-$(target)-stamp-dos-configured
+ $(SET_CYGNUS_PATH) cd $(DOSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) all info
+ touch $@
+
+dos-x-$(target)-stamp-dos-configured: $(HOLESSTAMP)
+ [ -d $(DOSDIR) ] || mkdir $(DOSDIR)
+ $(SET_CYGNUS_PATH) cd $(DOSDIR) ; $(GNUC) $(configenv) $(TIME) $(CONFIG_SHELL) \
+ ../$(TREE)/configure $(config) -v --srcdir=../$(TREE) --prefix=/cygnus \
+ --program-transform-name='' $(configargs)
+ touch $@
+
+
+
+
+.PHONY: do-native
+do-native: $(HOLESSTAMP) $(arch)-stamp-native
+do-native-config: $(arch)-stamp-native-configured
+build-native: $(HOLESSTAMP) $(arch)-stamp-native-checked
+config-native: $(HOLESSTAMP) $(arch)-stamp-native-configured
+
+$(arch)-stamp-native: $(HOLESSTAMP)
+ $(SET_NATIVE_HOLES) $(TIME) $(GNU_MAKE) -f test-build.mk $(arch)-stamp-native-installed $(FLAGS_TO_PASS)
+ if [ -f CLEAN_ALL -o -f CLEAN_CROSSES ] ; then rm -rf $(NATIVEDIR) ; else true ; fi
+ touch $(arch)-stamp-native
+
+$(arch)-stamp-native-installed: $(HOLESSTAMP) $(arch)-stamp-native-checked
+ $(SET_NATIVE_HOLES) cd $(NATIVEDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) install
+ $(SET_NATIVE_HOLES) cd $(NATIVEDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) install-info
+ touch $@
+
+$(arch)-stamp-native-checked: $(arch)-stamp-native-built
+# cd $(NATIVEDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) check
+ touch $@
+
+$(arch)-stamp-native-built: $(HOLESSTAMP) $(arch)-stamp-native-configured
+ $(SET_NATIVE_HOLES) cd $(NATIVEDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) all
+ $(SET_NATIVE_HOLES) cd $(NATIVEDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) info
+ touch $@
+
+$(arch)-stamp-native-configured: $(HOLESSTAMP)
+ [ -d $(NATIVEDIR) ] || mkdir $(NATIVEDIR)
+ $(SET_NATIVE_HOLES) cd $(NATIVEDIR) ; $(configenv) CC="$(CC)" $(TIME) $(CONFIG_SHELL) ../$(TREE)/configure $(config) -v --srcdir=../$(TREE) $(prefixes) $(configargs)
+ touch $@
+
+
+.PHONY: do-cygnus
+do-cygnus: $(HOLESSTAMP) $(arch)-stamp-cygnus
+build-cygnus: $(HOLESSTAMP) $(arch)-stamp-cygnus-checked
+config-cygnus: $(HOLESSTAMP) $(arch)-stamp-cygnus-configured
+path-cygnus:
+ $(SET_CYGNUS_PATH) echo $$PATH
+
+vault-cygnus: $(HOLESSTAMP) $(arch)-stamp-cygnus-built
+ $(SET_CYGNUS_PATH) cd $(CYGNUSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) vault-install
+
+
+$(arch)-stamp-cygnus:
+ [ -f $(relbindir)/$(host)-gcc ] || (echo "must have gcc available"; exit 1)
+ $(SET_CYGNUS_PATH) $(TIME) $(GNU_MAKE) -f test-build.mk $(arch)-stamp-cygnus-installed $(FLAGS_TO_PASS)
+ if [ -f CLEAN_ALL -o -f CLEAN_CROSSES ] ; then rm -rf $(CYGNUSDIR) ; else true ; fi
+ touch $(arch)-stamp-cygnus
+
+$(arch)-stamp-cygnus-installed: $(HOLESSTAMP) $(arch)-stamp-cygnus-checked
+ $(SET_CYGNUS_PATH) cd $(CYGNUSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) install
+ $(SET_CYGNUS_PATH) cd $(CYGNUSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) install-info
+ if [ -f VAULT-INSTALL ] ; then \
+ $(SET_CYGNUS_PATH) cd $(CYGNUSDIR) ; $(MAKE) $(FLAGS_TO_PASS) $(GNUC) vault-install ; \
+ else true ; fi
+ touch $@
+
+$(arch)-stamp-cygnus-checked: $(HOLESSTAMP) $(arch)-stamp-cygnus-built
+# cd $(CYGNUSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) check
+ touch $@
+
+$(arch)-stamp-cygnus-built: $(HOLESSTAMP) $(arch)-stamp-cygnus-configured
+ $(SET_CYGNUS_PATH) cd $(CYGNUSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) all
+ $(SET_CYGNUS_PATH) cd $(CYGNUSDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) info
+ touch $@
+
+$(arch)-stamp-cygnus-configured: $(HOLESSTAMP)
+ [ -d $(CYGNUSDIR) ] || mkdir $(CYGNUSDIR)
+ $(SET_CYGNUS_PATH) cd $(CYGNUSDIR) ; $(configenv) $(GNUC) $(TIME) $(CONFIG_SHELL) ../$(TREE)/configure $(config) -v --srcdir=../$(TREE) $(prefixes) $(configargs)
+ touch $@
+
+.PHONY: do-latest
+do-latest: $(HOLESSTAMP) $(arch)-stamp-latest
+build-latest: $(HOLESSTAMP) $(arch)-stamp-latest-checked
+
+$(arch)-stamp-latest:
+ $(SET_LATEST_PATH) $(TIME) $(GNU_MAKE) -f test-build.mk $(arch)-stamp-latest-installed $(FLAGS_TO_PASS)
+ touch $(arch)-stamp-latest
+
+$(arch)-stamp-latest-installed: $(HOLESSTAMP) $(arch)-stamp-latest-checked
+ $(SET_LATEST_PATH) cd $(LATESTDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) install
+ $(SET_LATEST_PATH) cd $(LATESTDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) install-info
+ touch $@
+
+$(arch)-stamp-latest-checked: $(arch)-stamp-latest-built
+# $(SET_LATEST_PATH) cd $(LATESTDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) check
+ touch $@
+
+$(arch)-stamp-latest-built: $(arch)-stamp-latest-configured
+ $(SET_LATEST_PATH) cd $(LATESTDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) all
+ $(SET_LATEST_PATH) cd $(LATESTDIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) $(GNUC) info
+ touch $@
+
+$(arch)-stamp-latest-configured:
+ [ -d $(LATESTDIR) ] || mkdir $(LATESTDIR)
+ $(SET_LATEST_PATH) cd $(LATESTDIR) ; $(configenv) $(GNUC) $(TIME) $(CONFIG_SHELL) ../$(TREE)/configure $(config) -v --srcdir=../$(TREE) $(prefixes) $(configargs)
+ touch $@
+