new file, build many toolchains at once
This commit is contained in:
parent
0069b1f670
commit
543cf4ac14
1 changed files with 161 additions and 0 deletions
161
build-all.mk
Normal file
161
build-all.mk
Normal file
|
@ -0,0 +1,161 @@
|
|||
# Build all of the targets for any given host.....
|
||||
#
|
||||
# This file is going to be ugly. It will be VERY specific to the
|
||||
# Cygnus environment and build-process.
|
||||
#
|
||||
#
|
||||
|
||||
ifndef host
|
||||
error:; @echo You must set the variable \"host\" to use this Makefile ; exit 1
|
||||
else
|
||||
|
||||
# the rest of the makefile
|
||||
|
||||
TREE = devo
|
||||
|
||||
NATIVE = native
|
||||
|
||||
DATE = 921110
|
||||
|
||||
TAG = latest-$(DATE)
|
||||
|
||||
INSTALLDIR = /cirdan/justice/devo-test/$(TAG)
|
||||
|
||||
GCC = gcc -O -g
|
||||
CFLAGS = -O
|
||||
|
||||
log = 1>$(canonhost)-build-log 2>&1
|
||||
tlog = 1> $(canonhost)-x-$$i-build-log 2>&1
|
||||
|
||||
canonhost := $(shell $(TREE)/config.sub $(host))
|
||||
|
||||
ifeq ($(canonhost),sparc-sun-sunos4.1.1)
|
||||
TARGETS = $(NATIVE) m68k-aout i386-aout a29k-amd-udi \
|
||||
i960-vxworks m68k-coff m68k-vxworks \
|
||||
i960-intel-nindy sparc-aout sparc-vxworks
|
||||
all: all-cygnus
|
||||
endif
|
||||
|
||||
ifeq ($(canonhost),m68k-sun-sunos4.1.1)
|
||||
TARGETS = $(NATIVE) m68k-vxworks m68k-aout i386-aout
|
||||
GCC = gcc -O -g -msoft-float
|
||||
all: all-cygnus
|
||||
endif
|
||||
|
||||
ifeq ($(canonhost),sparc-sun-solaris2)
|
||||
TARGETS = $(NATIVE) m68k-aout sparc-aout a29k-amd-udi
|
||||
all: all-cygnus
|
||||
endif
|
||||
|
||||
ifeq ($(canonhost),mips-dec-ultrix)
|
||||
TARGETS = $(NATIVE) m68k-vxworks m68k-aout i960-vxworks \
|
||||
sparc-vxworks m68k-coff i386-aout sparc-aout i960-intel-nindy
|
||||
CFLAGS =
|
||||
all: all-cygnus
|
||||
endif
|
||||
|
||||
ifeq ($(canonhost),mips-sgi-irix4)
|
||||
TARGETS = $(NATIVE) m68k-vxworks m68k-aout
|
||||
all: all-cygnus
|
||||
endif
|
||||
|
||||
ifeq ($(canonhost),rs6000-ibm-aix)
|
||||
TARGETS = $(NATIVE) m68k-vxworks i960-vxworks m68k-aout
|
||||
CFLAGS=-g
|
||||
all: all-cygnus
|
||||
endif
|
||||
|
||||
ifeq ($(canonhost),m68k-hp-hpux)
|
||||
TARGETS = m68k-vxworks
|
||||
CC = cc +O1000 -Wp,-P
|
||||
CFLAGS =
|
||||
all: all-native
|
||||
endif
|
||||
|
||||
ifeq ($(canonhost),hppa1.1-hp-hpux)
|
||||
TARGETS = $(NATIVE) m68k-aout m68k-vxworks i960-vxworks
|
||||
CC = cc +Obb2000
|
||||
CFLAGS =
|
||||
all: all-cygnus
|
||||
endif
|
||||
|
||||
FLAGS_TO_PASS := \
|
||||
"GCC=$(GCC)" \
|
||||
"CFLAGS=$(CFLAGS)" \
|
||||
"host=$(canonhost)"
|
||||
|
||||
all-cygnus:
|
||||
@echo build started at `date`
|
||||
[ -d $(INSTALLDIR) ] || mkdir $(INSTALLDIR)
|
||||
rm -f /usr/cygnus/$(TAG)
|
||||
ln -s $(INSTALLDIR) /usr/cygnus/$(TAG)
|
||||
@for i in $(TARGETS) ; do \
|
||||
if [ "$$i" = "native" ] ; then \
|
||||
if [ ! -f $(canonhost)-3stage-done ] ; then \
|
||||
echo "3staging $(canonhost) native" ; \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) $(host)-stamp-3stage-done $(log) && \
|
||||
echo " completed successfully" ; \
|
||||
fi \
|
||||
else \
|
||||
echo "building $(canonhost) cross to $$i" ; \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) target=$$i do-cygnus $(tlog) && \
|
||||
echo " completed successfully" ; \
|
||||
fi ; \
|
||||
done
|
||||
@echo done at `date`
|
||||
|
||||
all-native:
|
||||
[ -d $(INSTALLDIR) ] || mkdir $(INSTALLDIR)
|
||||
rm -f /usr/cygnus/$(TAG)
|
||||
ln -s $(INSTALLDIR) /usr/cygnus/$(TAG)
|
||||
@for i in $(TARGETS) ; do \
|
||||
echo "building $(canonhost) cross to $$i" ; \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) target=$$i do-native $(tlog) && \
|
||||
echo " completed successfully" ; \
|
||||
done
|
||||
|
||||
config:
|
||||
@for i in $(TARGETS) ; do \
|
||||
if [ "$$i" = "native" ] ; then \
|
||||
echo "config stage1 for $(canonhost)" ; \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) do1-config $(log) && \
|
||||
echo " completed successfully" ; \
|
||||
else \
|
||||
echo "config $(canonhost) cross to $$i" ; \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) target=$$i do-native-config $(tlog) && \
|
||||
echo " completed successfully" ; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
|
||||
build:
|
||||
@for i in $(TARGETS) ; do \
|
||||
if [ "$$i" = "native" ] ; then \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) do1-build $(log) && \
|
||||
echo " completed successfully" ; \
|
||||
else \
|
||||
echo "building $(canonhost) cross to $$i" ; \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) target=$$i build-native $(tlog) && \
|
||||
echo " completed successfully" ; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
|
||||
3build:
|
||||
@for i in $(TARGETS) ; do \
|
||||
if [ "$$i" = "native" ] ; then \
|
||||
echo "building 3stage for $(canonhost)" ; \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) all $(log) && \
|
||||
echo " completed successfully" ; \
|
||||
else \
|
||||
echo "building $(canonhost) cross to $$i" ; \
|
||||
$(MAKE) -f test-build.mk $(FLAGS_TO_PASS) target=$$i build-cygnus $(tlog) && \
|
||||
echo " completed successfully" ; \
|
||||
fi ; \
|
||||
done
|
||||
|
||||
endif # host
|
||||
|
||||
### Local Variables:
|
||||
### fill-column: 131
|
||||
### End:
|
Loading…
Reference in a new issue