include $(TREE)/release-info
+# Set TIME to time to get timings. Not done by default because time
+# ignores the exit status.
+TIME :=
-TIME := time
CONFIG_SHELL :=
-GCC := $(host)-gcc -O
-GNUC := CC="$(GCC)"
+GCC := $(host)-gcc
+GNUCFLAGS := -g -O2
+GNUC := CC="$(GCC)" CFLAGS="$(GNUCFLAGS)"
CFLAGS := -g
-CXXFLAGS := -g -O
+CXXFLAGS := -g -O2
GNU_MAKE := /usr/latest/bin/make -w
MAKEINFOFLAGS :=
CONFIG_SHELL := /bin/bash
endif
+ifeq ($(patsubst %-m68k-hp-hpux,m68k-hp-hpux,$(host)),m68k-hp-hpux)
+SHELL := /usr/unsupported/bin/bash
+GNU_MAKE := $(MAKE)
+CONFIG_SHELL := /usr/unsupported/bin/bash
+endif
+
ifneq ($(build),$(host))
# We are building on a machine other than the host. We rely upon
CC := $(host)-gcc
CC_FOR_BUILD := gcc
CC_FOR_TARGET := $(target)-gcc
-CXX := $(host)-c++
-CXX_FOR_TARGET := $(target)-c++
-GCC := $(host)-gcc -O
+CFLAGS := $(GNUCFLAGS)
+CXX := $(host)-gcc
+CXX_FOR_TARGET := $(target)-gcc
+GCC := $(host)-gcc
GXX := $(host)-g++
GXX_FOR_TARGET := $(target)-g++
HOST_PREFIX := $(build)-
CC := cc -cckr -Wf,-XNg1500 -Wf,-XNk1000 -Wf,-XNh2000
endif
-ifeq ($(host),mips-mips-riscos5)
+ifeq ($(host),hppa1.1-hp-hpux)
+CC := cc -Wp,-H256000
+endif
+
+ifeq ($(host),m68k-hp-hpux)
+CC := cc -Wp,-P,-H256000
+endif
+
+ifeq ($(host),mips-mips-riscos5sysv)
CC := cc -non_shared -systype sysv
endif
CC := cc -J
endif
+# Support gdbtk everywhere
+configargs = --enable-gdbtk
# We want to use stabs for MIPS targets.
ifeq ($(target),mips-idt-ecoff)
-configargs = -with-stabs
+configargs := $(configargs) --with-stabs
endif
ifeq ($(target),mips-dec-ultrix)
-configargs = -with-stabs
+configargs := $(configargs) --with-stabs
endif
ifeq ($(target),mips-sgi-irix4)
-configargs = -with-stabs
+configargs := $(configargs) --with-stabs
+endif
+
+ifeq ($(target),mips-sgi-irix5)
+configargs := $(configargs) --with-stabs
+endif
+
+ifeq ($(patsubst alpha-dec-osf%,alpha,$(target)),alpha)
+configargs := $(configargs) --with-stabs
endif
# We must use stabs for SVR4 targets.
ifeq ($(target),i386-sysv4.2)
-configargs = -with-stabs
+configargs := $(configargs) --with-stabs
endif
ifneq ($(CC), 'cc')
FLAGS_TO_PASS := "CONFIG_SHELL=$(CONFIG_SHELL)" $(FLAGS_TO_PASS)
endif
-
# These are the prefixes used for Cygnus builds.
prefixes = --prefix=$(release_root) --exec-prefix=$(release_root)/H-$(host)
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 %-i386-netware,i386-netware,$(target)),i386-netware)
+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
+
+ifeq ($(patsubst %-i960-vxworks5.1,i960-vxworks5.1,$(target)),i960-vxworks5.1)
+configargs := $(configargs) \
+ --with-headers=/s1/cygnus/dejagnu/$(target)/include
+endif
+
+ifeq ($(patsubst %-m68k-vxworks5.1,m68k-vxworks5.1,$(target)),m68k-vxworks5.1)
+configargs := $(configargs) \
+ --with-headers=/s1/cygnus/dejagnu/$(target)/include
+endif
+
+ifeq ($(patsubst %-i386-unixware,i386-unixware,$(target)),i386-unixware)
+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
$(SET_NATIVE_HOLES) cd $(WORKING_DIR) ; $(TIME) $(MAKE) $(FLAGS_TO_PASS) "CFLAGS=$(CFLAGS)" install-info host=$(host)
ifeq ($(host),rs6000-ibm-aix)
-rm $(relbindir)/make
+endif
+ifeq ($(host),rs6000-ibm-aix3.2.5)
+ -rm $(relbindir)/make
endif
touch $@
do2-vault: $(HOLESSTAMP) $(host)-stamp-stage2-built
if [ -d $(WORKING_DIR).2 ] ; then \
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR).2 ; $(MAKE) $(FLAGS_TO_PASS) host=$(host) "CFLAGS=$(CFLAGS)" vault-install ; \
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR).2 ; $(MAKE) $(FLAGS_TO_PASS) host=$(host) "CFLAGS=$(GNUCFLAGS)" vault-install ; \
else \
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(MAKE) $(FLAGS_TO_PASS) host=$(host) "CFLAGS=$(CFLAGS)" vault-install ; \
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(MAKE) $(FLAGS_TO_PASS) host=$(host) "CFLAGS=$(GNUCFLAGS)" vault-install ; \
fi
touch $@
+# The SunOS make program gets confused when it is deleted while running.
+# The signal handlers return to the wrong place, or something, and the
+# program dumps core. To avoid trouble with installing make over itself,
+# we delete the installed make program.
$(host)-stamp-stage2-installed: $(host)-stamp-stage2-checked
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" install host=$(host)
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" install-info host=$(host)
+ -rm -f $(relbindir)/make
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(GNU_MAKE) -w $(FLAGS_TO_PASS) $(GNUC) install host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) install-info host=$(host)
touch $@
$(host)-stamp-stage2-checked: $(host)-stamp-stage2-built
-# $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" check host=$(host)
+# $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) check host=$(host)
touch $@
$(host)-stamp-stage2-built: $(host)-stamp-stage2-configured
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" all host=$(host)
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" info host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) all host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) info host=$(host)
touch $@
$(host)-stamp-stage2-configured:
do3-vault: $(HOLESSTAMP) $(host)-stamp-stage3-built
if [ -d $(WORKING_DIR).3 ] ; then \
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR).3 ; $(MAKE) $(FLAGS_TO_PASS) host=$(host) "CFLAGS=$(CFLAGS)" vault-install ; \
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR).3 ; $(MAKE) $(FLAGS_TO_PASS) host=$(host) "CFLAGS=$(GNUCFLAGS)" vault-install ; \
else \
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(MAKE) $(FLAGS_TO_PASS) host=$(host) "CFLAGS=$(CFLAGS)" vault-install ; \
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(MAKE) $(FLAGS_TO_PASS) host=$(host) "CFLAGS=$(GNUCFLAGS)" vault-install ; \
fi
$(host)-stamp-stage3:
touch $@
+# The SunOS make program gets confused when it is deleted while running.
+# The signal handlers return to the wrong place, or something, and the
+# program dumps core. To avoid trouble with installing make over itself,
+# we delete the installed make program.
$(host)-stamp-stage3-installed: $(host)-stamp-stage3-checked
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" install host=$(host)
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" install-info host=$(host)
+ -rm -f $(relbindir)/make
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(GNU_MAKE) -w $(FLAGS_TO_PASS) $(GNUC) install host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) install-info host=$(host)
if [ -f VAULT-INSTALL ] ; then \
$(SET_CYGNUS_PATH) cd $(CYGNUSDIR) ; $(MAKE) $(FLAGS_TO_PASS) $(GNUC) vault-install ; \
else true ; fi
touch $@
$(host)-stamp-stage3-checked: $(host)-stamp-stage3-built
-# $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" check host=$(host)
+# $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) check host=$(host)
touch $@
$(host)-check-3stage: $(host)-stamp-stage3
- $(SET_CYGNUS_PATH) cd $(STAGE3DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" check host=$(host)
+ $(SET_CYGNUS_PATH) cd $(STAGE3DIR) ; $(TIME) $(MAKE) -k -w $(FLAGS_TO_PASS) $(GNUC) check host=$(host)
touch $@
$(host)-stamp-stage3-built: $(host)-stamp-stage3-configured
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" all host=$(host)
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" info host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) all host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) info host=$(host)
touch $@
$(host)-stamp-stage3-configured:
$(host)-stamp-stage4-installed: $(host)-stamp-stage4-checked
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" install host=$(host)
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" install-info host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) install host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) install-info host=$(host)
touch $@
$(host)-stamp-stage4-checked: $(host)-stamp-stage4-built
-# $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" check host=$(host)
+# $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) check host=$(host)
touch $@
$(host)-stamp-stage4-built: $(host)-stamp-stage4-configured
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" all host=$(host)
- $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) "CFLAGS=$(CFLAGS)" info host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) all host=$(host)
+ $(SET_CYGNUS_PATH) cd $(WORKING_DIR) ; $(TIME) $(MAKE) -w $(FLAGS_TO_PASS) $(GNUC) info host=$(host)
touch $@
$(host)-stamp-stage4-configured:
sh \
sleep \
sort \
+ tail \
tar \
test \
time \
true \
uname \
uniq \
+ uptime \
uudecode \
wc \
whoami
MAKE_HOLE := make
endif
+ifeq ($(host),sparc-lynx)
+MAKE_HOLE := make
+endif
+
+ifeq ($(host),rs6000-lynx)
+MAKE_HOLE := make
+endif
+
### These things are also needed by a three-stage, but in this case, the GNU version of the tool is required.
PARTIAL_HOLES := \
$(MAKE_HOLE) \
/bin \
/usr/bin \
/usr/ucb \
+ /etc /usr/etc \
/usr/unsupported/bin
### look in these directories for alternate versions of some tools.