|  | @@ -10,7 +10,7 @@ COMMON_CONFIG =
 | 
	
		
			
				|  |  |  GCC_CONFIG = 
 | 
	
		
			
				|  |  |  TOOLCHAIN_CONFIG = 
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -XGCC_DIR = ../obj_toolchain/gcc
 | 
	
		
			
				|  |  | +XGCC_DIR = ../obj_gcc/gcc
 | 
	
		
			
				|  |  |  XGCC = $(XGCC_DIR)/xgcc -B $(XGCC_DIR)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  -include config.mak
 | 
	
	
		
			
				|  | @@ -49,7 +49,14 @@ MAKE += INFO_DEPS= infodir=
 | 
	
		
			
				|  |  |  MAKE += ac_cv_prog_lex_root=lex.yy.c
 | 
	
		
			
				|  |  |  MAKE += MAKEINFO=false
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -FULL_TOOLCHAIN_CONFIG = --enable-languages=c,c++ \
 | 
	
		
			
				|  |  | +FULL_BINUTILS_CONFIG = \
 | 
	
		
			
				|  |  | +	$(COMMON_CONFIG) $(BINUTILS_CONFIG) $(TOOLCHAIN_CONFIG) \
 | 
	
		
			
				|  |  | +	--disable-werror \
 | 
	
		
			
				|  |  | +	--target=$(TARGET) --prefix= \
 | 
	
		
			
				|  |  | +	--libdir=/lib --disable-multilib \
 | 
	
		
			
				|  |  | +	--with-sysroot=$(SYSROOT)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +FULL_GCC_CONFIG = --enable-languages=c,c++ \
 | 
	
		
			
				|  |  |  	$(GCC_CONFIG_FOR_TARGET) \
 | 
	
		
			
				|  |  |  	$(COMMON_CONFIG) $(GCC_CONFIG) $(TOOLCHAIN_CONFIG) \
 | 
	
		
			
				|  |  |  	--disable-werror \
 | 
	
	
		
			
				|  | @@ -72,16 +79,28 @@ endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ifeq ($(HOST),)
 | 
	
		
			
				|  |  |  SYSROOT = /$(TARGET)
 | 
	
		
			
				|  |  | -FULL_TOOLCHAIN_CONFIG += --with-build-sysroot=$(CURDIR)/obj_sysroot
 | 
	
		
			
				|  |  | -FULL_MUSL_CONFIG += CC="$(XGCC)" LIBCC="../obj_toolchain/$(TARGET)/libgcc/libgcc.a" 
 | 
	
		
			
				|  |  | -MUSL_VARS = AR=../obj_toolchain/binutils/ar RANLIB=../obj_toolchain/binutils/ranlib
 | 
	
		
			
				|  |  | -obj_musl/.lc_configured: | obj_toolchain/gcc/.lc_built
 | 
	
		
			
				|  |  | -obj_musl/.lc_built: | obj_toolchain/$(TARGET)/libgcc/libgcc.a
 | 
	
		
			
				|  |  | -obj_toolchain/gcc/.lc_built: | obj_sysroot/usr obj_sysroot/lib32 obj_sysroot/lib64 obj_sysroot/include
 | 
	
		
			
				|  |  | -obj_toolchain/.lc_built: | obj_sysroot/.lc_libs obj_sysroot/.lc_headers
 | 
	
		
			
				|  |  | +FULL_GCC_CONFIG += --with-build-sysroot=$(CURDIR)/obj_sysroot \
 | 
	
		
			
				|  |  | +	AR_FOR_TARGET=$(PWD)/obj_binutils/binutils/ar \
 | 
	
		
			
				|  |  | +	AS_FOR_TARGET=$(PWD)/obj_binutils/gas/as-new \
 | 
	
		
			
				|  |  | +	LD_FOR_TARGET=$(PWD)/obj_binutils/ld/ld-new \
 | 
	
		
			
				|  |  | +	NM_FOR_TARGET=$(PWD)/obj_binutils/binutils/nm-new \
 | 
	
		
			
				|  |  | +	OBJCOPY_FOR_TARGET=$(PWD)/obj_binutils/binutils/objcopy \
 | 
	
		
			
				|  |  | +	OBJDUMP_FOR_TARGET=$(PWD)/obj_binutils/binutils/objdump \
 | 
	
		
			
				|  |  | +	RANLIB_FOR_TARGET=$(PWD)/obj_binutils/binutils/ranlib \
 | 
	
		
			
				|  |  | +	READELF_FOR_TARGET=$(PWD)/obj_binutils/binutils/readelf \
 | 
	
		
			
				|  |  | +	STRIP_FOR_TARGET=$(PWD)/obj_binutils/binutils/strip-new \
 | 
	
		
			
				|  |  | +	# end
 | 
	
		
			
				|  |  | +FULL_MUSL_CONFIG += CC="$(XGCC)" LIBCC="../obj_gcc/$(TARGET)/libgcc/libgcc.a" 
 | 
	
		
			
				|  |  | +MUSL_VARS = AR=../obj_binutils/binutils/ar RANLIB=../obj_binutils/binutils/ranlib
 | 
	
		
			
				|  |  | +obj_musl/.lc_configured: | obj_gcc/gcc/.lc_built
 | 
	
		
			
				|  |  | +obj_musl/.lc_built: | obj_gcc/$(TARGET)/libgcc/libgcc.a
 | 
	
		
			
				|  |  | +obj_gcc/gcc/.lc_built: | obj_sysroot/usr obj_sysroot/lib32 obj_sysroot/lib64 obj_sysroot/include
 | 
	
		
			
				|  |  | +obj_gcc/.lc_built: | obj_sysroot/.lc_libs obj_sysroot/.lc_headers
 | 
	
		
			
				|  |  | +obj_gcc/.lc_configured: obj_binutils/.lc_built
 | 
	
		
			
				|  |  |  else
 | 
	
		
			
				|  |  |  SYSROOT = /
 | 
	
		
			
				|  |  | -FULL_TOOLCHAIN_CONFIG += --host=$(HOST)
 | 
	
		
			
				|  |  | +FULL_BINUTILS_CONFIG += --host=$(HOST)
 | 
	
		
			
				|  |  | +FULL_GCC_CONFIG += --host=$(HOST)
 | 
	
		
			
				|  |  |  MUSL_VARS = 
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -95,54 +114,59 @@ install: all
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  else
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -all: musl toolchain
 | 
	
		
			
				|  |  | +all: musl gcc binutils
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -install: install-musl install-toolchain
 | 
	
		
			
				|  |  | +install: install-musl install-gcc install-binutils
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  musl: obj_musl/.lc_built
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -toolchain: obj_toolchain/.lc_built
 | 
	
		
			
				|  |  | +toolchain: gcc binutils
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +install-toolchain: install-gcc install-binutils
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +gcc: obj_gcc/.lc_built
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +binutils: obj_binutils/.lc_built
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .PHONY: all musl toolchain install-musl install-toolchain clean
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  src_binutils: | $(BINUTILS_SRCDIR)
 | 
	
		
			
				|  |  |  	ln -sf $(BINUTILS_SRCDIR) $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -src_gcc: | $(GCC_SRCDIR)
 | 
	
		
			
				|  |  | +src_gcc_base: | $(GCC_SRCDIR)
 | 
	
		
			
				|  |  |  	ln -sf $(GCC_SRCDIR) $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  src_musl: | $(MUSL_SRCDIR)
 | 
	
		
			
				|  |  |  	ln -sf $(MUSL_SRCDIR) $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ifneq ($(GMP_SRCDIR),)
 | 
	
		
			
				|  |  | -src_toolchain: src_gmp
 | 
	
		
			
				|  |  | +src_gcc: src_gmp
 | 
	
		
			
				|  |  |  src_gmp: | $(GMP_SRCDIR)
 | 
	
		
			
				|  |  |  	ln -sf "$(GMP_SRCDIR)" $@
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ifneq ($(MPC_SRCDIR),)
 | 
	
		
			
				|  |  | -src_toolchain: src_mpc
 | 
	
		
			
				|  |  | +src_gcc: src_mpc
 | 
	
		
			
				|  |  |  src_mpc: | $(MPC_SRCDIR)
 | 
	
		
			
				|  |  |  	ln -sf "$(MPC_SRCDIR)" $@
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ifneq ($(MPFR_SRCDIR),)
 | 
	
		
			
				|  |  | -src_toolchain: src_mpfr
 | 
	
		
			
				|  |  | +src_gcc: src_mpfr
 | 
	
		
			
				|  |  |  src_mpfr: | $(MPFR_SRCDIR)
 | 
	
		
			
				|  |  |  	ln -sf "$(MPFR_SRCDIR)" $@
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ifneq ($(ISL_SRCDIR),)
 | 
	
		
			
				|  |  | -src_toolchain: src_isl
 | 
	
		
			
				|  |  | +src_gcc: src_isl
 | 
	
		
			
				|  |  |  src_isl: | $(ISL_SRCDIR)
 | 
	
		
			
				|  |  |  	ln -sf "$(ISL_SRCDIR)" $@
 | 
	
		
			
				|  |  |  endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -src_toolchain: src_binutils src_gcc
 | 
	
		
			
				|  |  | +src_gcc: src_gcc_base
 | 
	
		
			
				|  |  |  	rm -rf $@ $@.tmp
 | 
	
		
			
				|  |  |  	mkdir $@.tmp
 | 
	
		
			
				|  |  | -	cd $@.tmp && ln -sf ../src_binutils/* .
 | 
	
		
			
				|  |  | -	cd $@.tmp && ln -sf ../src_gcc/* .
 | 
	
		
			
				|  |  | +	cd $@.tmp && ln -sf ../src_gcc_base/* .
 | 
	
		
			
				|  |  |  	$(if $(GMP_SRCDIR),cd $@.tmp && ln -sf ../src_gmp gmp)
 | 
	
		
			
				|  |  |  	$(if $(MPC_SRCDIR),cd $@.tmp && ln -sf ../src_mpc mpc)
 | 
	
		
			
				|  |  |  	$(if $(MPFR_SRCDIR),cd $@.tmp && ln -sf ../src_mpfr mpfr)
 | 
	
	
		
			
				|  | @@ -164,12 +188,20 @@ obj_sysroot/lib32: | obj_sysroot
 | 
	
		
			
				|  |  |  obj_sysroot/lib64: | obj_sysroot
 | 
	
		
			
				|  |  |  	ln -sf lib $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -obj_toolchain/.lc_configured: | obj_toolchain src_toolchain
 | 
	
		
			
				|  |  | -	cd obj_toolchain && ../src_toolchain/configure $(FULL_TOOLCHAIN_CONFIG)
 | 
	
		
			
				|  |  | +obj_binutils/.lc_configured: | obj_binutils src_binutils
 | 
	
		
			
				|  |  | +	cd obj_binutils && ../src_binutils/configure $(FULL_BINUTILS_CONFIG)
 | 
	
		
			
				|  |  | +	touch $@
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +obj_binutils/.lc_built: | obj_binutils/.lc_configured
 | 
	
		
			
				|  |  | +	cd obj_binutils && $(MAKE) MAKE="$(MAKE)" all
 | 
	
		
			
				|  |  |  	touch $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -obj_toolchain/gcc/.lc_built: | obj_toolchain/.lc_configured
 | 
	
		
			
				|  |  | -	cd obj_toolchain && $(MAKE) MAKE="$(MAKE)" all-gcc
 | 
	
		
			
				|  |  | +obj_gcc/.lc_configured: | obj_gcc src_gcc
 | 
	
		
			
				|  |  | +	cd obj_gcc && ../src_gcc/configure $(FULL_GCC_CONFIG)
 | 
	
		
			
				|  |  | +	touch $@
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +obj_gcc/gcc/.lc_built: | obj_gcc/.lc_configured
 | 
	
		
			
				|  |  | +	cd obj_gcc && $(MAKE) MAKE="$(MAKE)" all-gcc
 | 
	
		
			
				|  |  |  	touch $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  obj_musl/.lc_configured: | obj_musl src_musl
 | 
	
	
		
			
				|  | @@ -180,8 +212,8 @@ obj_sysroot/.lc_headers: | obj_musl/.lc_configured obj_sysroot
 | 
	
		
			
				|  |  |  	cd obj_musl && $(MAKE) DESTDIR=$(CURDIR)/obj_sysroot install-headers
 | 
	
		
			
				|  |  |  	touch $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -obj_toolchain/$(TARGET)/libgcc/libgcc.a: | obj_sysroot/.lc_headers
 | 
	
		
			
				|  |  | -	cd obj_toolchain && $(MAKE) MAKE="$(MAKE) enable_shared=no" all-target-libgcc
 | 
	
		
			
				|  |  | +obj_gcc/$(TARGET)/libgcc/libgcc.a: | obj_sysroot/.lc_headers
 | 
	
		
			
				|  |  | +	cd obj_gcc && $(MAKE) MAKE="$(MAKE) enable_shared=no" all-target-libgcc
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  obj_musl/.lc_built: | obj_musl/.lc_configured
 | 
	
		
			
				|  |  |  	cd obj_musl && $(MAKE) $(MUSL_VARS)
 | 
	
	
		
			
				|  | @@ -191,15 +223,18 @@ obj_sysroot/.lc_libs: | obj_musl/.lc_built
 | 
	
		
			
				|  |  |  	cd obj_musl && $(MAKE) $(MUSL_VARS) DESTDIR=$(CURDIR)/obj_sysroot install
 | 
	
		
			
				|  |  |  	touch $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -obj_toolchain/.lc_built: | obj_toolchain/.lc_configured obj_toolchain/gcc/.lc_built
 | 
	
		
			
				|  |  | -	cd obj_toolchain && $(MAKE) MAKE="$(MAKE)"
 | 
	
		
			
				|  |  | +obj_gcc/.lc_built: | obj_gcc/.lc_configured obj_gcc/gcc/.lc_built
 | 
	
		
			
				|  |  | +	cd obj_gcc && $(MAKE) MAKE="$(MAKE)"
 | 
	
		
			
				|  |  |  	touch $@
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  install-musl: | obj_musl/.lc_built
 | 
	
		
			
				|  |  |  	cd obj_musl && $(MAKE) $(MUSL_VARS) DESTDIR=$(DESTDIR)$(OUTPUT)$(SYSROOT) install
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -install-toolchain: | obj_toolchain/.lc_built
 | 
	
		
			
				|  |  | -	cd obj_toolchain && $(MAKE) MAKE="$(MAKE)" DESTDIR=$(DESTDIR)$(OUTPUT) install
 | 
	
		
			
				|  |  | +install-binutils: | obj_binutils/.lc_built
 | 
	
		
			
				|  |  | +	cd obj_binutils && $(MAKE) MAKE="$(MAKE)" DESTDIR=$(DESTDIR)$(OUTPUT) install
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +install-gcc: | obj_gcc/.lc_built
 | 
	
		
			
				|  |  | +	cd obj_gcc && $(MAKE) MAKE="$(MAKE)" DESTDIR=$(DESTDIR)$(OUTPUT) install
 | 
	
		
			
				|  |  |  	ln -sf $(TARGET)-gcc $(DESTDIR)$(OUTPUT)/bin/$(TARGET)-cc
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  ifneq ($(LINUX_SRCDIR),)
 |