| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 | 
OUTPUT = $(PWD)/outputBINUTILS_VER = 2.25.1GCC_VER = 5.2.0MUSL_TAG = masterGNU_SITE = http://ftp.gnu.org/pub/gnuGCC_SITE = $(GNU_SITE)/gccBINUTILS_SITE = $(GNU_SITE)/binutilsCOMMON_CONFIG = --disable-werror \	--target=$(TARGET) --prefix=$(OUTPUT) \	--with-sysroot=$(OUTPUT)/$(TARGET)BINUTILS_CONFIG = $(COMMON_CONFIG)GCC_CONFIG = $(COMMON_CONFIG) --enable-tls \	--disable-libmudflap --disable-libsanitizerGCC0_VARS = CFLAGS="-O0 -g0" CXXFLAGS="-O0 -g0"GCC0_CONFIG = $(GCC_CONFIG) \	--with-newlib --disable-libssp --disable-threads \	--disable-shared --disable-libgomp --disable-libatomic \	--disable-libquadmath --disable-decimal-float --disable-nls \	--enable-languages=cGCC0_BDIR = $(PWD)/gcc-$(GCC_VER)/build0/gccGCC0_CC = $(GCC0_BDIR)/xgcc -B $(GCC0_BDIR)MUSL_CONFIG = CC="$(GCC0_CC)" --prefix=-include config.makifeq ($(TARGET),)$(error TARGET must be set via config.mak or command line)endifall: install_binutils install_musl install_gccclean:	rm -rf gcc-$(GCC_VER) binutils-$(BINUTILS_VER) musldistclean: clean	rm -rf sources/config.sub sources/*.tar.bz2.PHONY: extract_binutils extract_gcc clone_musl.PHONY: configure_binutils configure_gcc0 configure_gcc configure_musl.PHONY: build_binutils build_gcc0 build_gcc build_musl.PHONY: install_binutils install_gcc install_muslextract_binutils: binutils-$(BINUTILS_VER)/.mcm_extractedextract_gcc: gcc-$(GCC_VER)/.mcm_extractedclone_musl: musl/.mcm_clonedconfigure_binutils: binutils-$(BINUTILS_VER)/.mcm_configuredconfigure_gcc0: gcc-$(GCC_VER)/build0/.mcm_configuredconfigure_gcc: gcc-$(GCC_VER)/build/.mcm_configuredconfigure_musl: musl/.mcm_configuredbuild_binutils: binutils-$(BINUTILS_VER)/.mcm_builtbuild_gcc0: gcc-$(GCC_VER)/build0/.mcm_builtbuild_gcc: gcc-$(GCC_VER)/build/.mcm_builtbuild_musl: musl/.mcm_builtinstall_binutils: binutils-$(BINUTILS_VER)/.mcm_installedinstall_gcc: gcc-$(GCC_VER)/build/.mcm_installedinstall_musl: musl/.mcm_installedsources/config.sub:	wget -O $@ 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'sources/binutils-%:	wget -c -O $@.part $(BINUTILS_SITE)/$(notdir $@)	mv $@.part $@sources/gcc-%:	wget -c -O $@.part $(GCC_SITE)/$(basename $(basename $(notdir $@)))/$(notdir $@)	mv $@.part $@binutils-$(BINUTILS_VER)/.mcm_extracted: sources/binutils-$(BINUTILS_VER).tar.bz2 sources/config.sub	tar jxvf $<	cat patches/binutils-$(BINUTILS_VER)/* | ( cd binutils-$(BINUTILS_VER) && patch -p1 )	cp sources/config.sub binutils-$(BINUTILS_VER)	touch $@binutils-$(BINUTILS_VER)/.mcm_configured: binutils-$(BINUTILS_VER)/.mcm_extracted	test -e binutils-$(BINUTILS_VER)/config.status || ( cd binutils-$(BINUTILS_VER) && ./configure $(BINUTILS_CONFIG) )	touch $@binutils-$(BINUTILS_VER)/.mcm_built: binutils-$(BINUTILS_VER)/.mcm_configured	cd binutils-$(BINUTILS_VER) && $(MAKE)	touch $@binutils-$(BINUTILS_VER)/.mcm_installed: binutils-$(BINUTILS_VER)/.mcm_built	cd binutils-$(BINUTILS_VER) && $(MAKE) install	touch $@gcc-$(GCC_VER)/.mcm_extracted: sources/gcc-$(GCC_VER).tar.bz2 sources/config.sub	tar jxvf $<	cat patches/gcc-$(GCC_VER)/* | ( cd gcc-$(GCC_VER) && patch -p1 )	cp sources/config.sub gcc-$(GCC_VER)	touch $@gcc-$(GCC_VER)/build0/.mcm_configured: gcc-$(GCC_VER)/.mcm_extracted | binutils-$(BINUTILS_VER)/.mcm_installed	mkdir -p gcc-$(GCC_VER)/build0	test -e gcc-$(GCC_VER)/build0/config.status || ( cd gcc-$(GCC_VER)/build0 && $(GCC0_VARS) ../configure $(GCC0_CONFIG) )	touch $@gcc-$(GCC_VER)/build0/.mcm_built: gcc-$(GCC_VER)/build0/.mcm_configured	cd gcc-$(GCC_VER)/build0 && $(MAKE)	touch $@gcc-$(GCC_VER)/build/.mcm_configured:  gcc-$(GCC_VER)/.mcm_extracted | binutils-$(BINUTILS_VER)/.mcm_installed musl/.mcm_installed	mkdir -p gcc-$(GCC_VER)/build	test -e gcc-$(GCC_VER)/build/config.status || ( cd gcc-$(GCC_VER)/build && ../configure $(GCC_CONFIG) )	touch $@gcc-$(GCC_VER)/build/.mcm_built: gcc-$(GCC_VER)/build/.mcm_configured	cd gcc-$(GCC_VER)/build && $(MAKE)	touch $@gcc-$(GCC_VER)/build/.mcm_installed: gcc-$(GCC_VER)/build/.mcm_built	cd gcc-$(GCC_VER)/build && $(MAKE) install	touch $@musl/.mcm_cloned:	test -d musl || git clone -b $(MUSL_TAG) git://git.musl-libc.org/musl musl	touch $@musl/.mcm_configured: musl/.mcm_cloned gcc-$(GCC_VER)/build0/.mcm_built	cd musl && ./configure $(MUSL_CONFIG)	cat patches/musl-complex-hack >> musl/config.mak	touch $@musl/.mcm_built: musl/.mcm_configured	cd musl && $(MAKE)	touch $@musl/.mcm_installed: musl/.mcm_built	cd musl && $(MAKE) install DESTDIR=$(OUTPUT)/$(TARGET)	ln -sfn . $(OUTPUT)/$(TARGET)/usr	touch $@
 |