| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269 | 
OUTPUT = $(CURDIR)/outputBINUTILS_SRCDIR = BINUTILS_SRCDIR_not_setGCC_SRCDIR = GCC_SRCDIR_not_setMUSL_SRCDIR = MUSL_SRCDIR_not_setGCC_CONFIG_FOR_TARGET = COMMON_CONFIG = GCC_CONFIG = TOOLCHAIN_CONFIG = XGCC_DIR = ../obj_gcc/gccXGCC = $(XGCC_DIR)/xgcc -B $(XGCC_DIR)-include config.makifneq ($(findstring fdpic,$(TARGET)),)GCC_CONFIG_FOR_TARGET += --enable-fdpicendififneq ($(filter x86_64%x32,$(TARGET)),)GCC_CONFIG_FOR_TARGET += --with-abi=x32endififneq ($(findstring powerpc64,$(TARGET)),)GCC_CONFIG_FOR_TARGET += --with-abi=elfv2endififneq ($(findstring mips64,$(TARGET))$(findstring mipsisa64,$(TARGET)),)ifneq ($(findstring n32,$(TARGET)),)GCC_CONFIG_FOR_TARGET += --with-abi=n32elseGCC_CONFIG_FOR_TARGET += --with-abi=64endifendififneq ($(findstring s390x,$(TARGET)),)GCC_CONFIG_FOR_TARGET += --with-long-double-128endififneq ($(filter %sf,$(TARGET)),)GCC_CONFIG_FOR_TARGET += --with-float=softendififneq ($(filter %hf,$(TARGET)),)GCC_CONFIG_FOR_TARGET += --with-float=hardendifMAKE += MULTILIB_OSDIRNAMES=MAKE += INFO_DEPS= infodir=MAKE += ac_cv_prog_lex_root=lex.yy.cMAKE += MAKEINFO=falseFULL_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 \	--target=$(TARGET) --prefix= \	--libdir=/lib --disable-multilib \	--with-sysroot=$(SYSROOT) \	--enable-tls \	--disable-libmudflap --disable-libsanitizer \	--disable-gnu-indirect-function \	--disable-libmpx \	--enable-deterministic-archives \	--enable-libstdcxx-timeFULL_MUSL_CONFIG = $(MUSL_CONFIG) \	--prefix= --host=$(TARGET)ifneq ($(NATIVE),)HOST:=$(TARGET)endififeq ($(HOST),)SYSROOT = /$(TARGET)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 \	# endFULL_MUSL_CONFIG += CC="$(XGCC)" LIBCC="../obj_gcc/$(TARGET)/libgcc/libgcc.a" MUSL_VARS = AR=../obj_binutils/binutils/ar RANLIB=../obj_binutils/binutils/ranlibobj_musl/.lc_configured: | obj_gcc/gcc/.lc_builtobj_musl/.lc_built: | obj_gcc/$(TARGET)/libgcc/libgcc.aobj_gcc/gcc/.lc_built: | obj_sysroot/usr obj_sysroot/lib32 obj_sysroot/lib64 obj_sysroot/includeobj_gcc/.lc_built: | obj_sysroot/.lc_libs obj_sysroot/.lc_headersobj_gcc/.lc_configured: obj_binutils/.lc_builtelseSYSROOT = /FULL_BINUTILS_CONFIG += --host=$(HOST)FULL_GCC_CONFIG += --host=$(HOST)MUSL_VARS = endififeq ($(TARGET),)all:	@echo TARGET must be set.	@exit 1install: allelseall: musl gcc binutilsinstall: install-musl install-gcc install-binutilsmusl: obj_musl/.lc_builttoolchain: gcc binutilsinstall-toolchain: install-gcc install-binutilsgcc: obj_gcc/.lc_builtbinutils: obj_binutils/.lc_built.PHONY: all musl toolchain install-musl install-toolchain cleansrc_binutils: | $(BINUTILS_SRCDIR)	ln -sf $(BINUTILS_SRCDIR) $@src_gcc_base: | $(GCC_SRCDIR)	ln -sf $(GCC_SRCDIR) $@src_musl: | $(MUSL_SRCDIR)	ln -sf $(MUSL_SRCDIR) $@ifneq ($(GMP_SRCDIR),)src_gcc: src_gmpsrc_gmp: | $(GMP_SRCDIR)	ln -sf "$(GMP_SRCDIR)" $@endififneq ($(MPC_SRCDIR),)src_gcc: src_mpcsrc_mpc: | $(MPC_SRCDIR)	ln -sf "$(MPC_SRCDIR)" $@endififneq ($(MPFR_SRCDIR),)src_gcc: src_mpfrsrc_mpfr: | $(MPFR_SRCDIR)	ln -sf "$(MPFR_SRCDIR)" $@endififneq ($(ISL_SRCDIR),)src_gcc: src_islsrc_isl: | $(ISL_SRCDIR)	ln -sf "$(ISL_SRCDIR)" $@endifsrc_gcc: src_gcc_base	rm -rf $@ $@.tmp	mkdir $@.tmp	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)	$(if $(ISL_SRCDIR),cd $@.tmp && ln -sf ../src_isl isl)	mv $@.tmp $@obj_%:	mkdir -p $@obj_sysroot/include:	mkdir -p $@obj_sysroot/usr: | obj_sysroot	ln -sf . $@obj_sysroot/lib32: | obj_sysroot	ln -sf lib $@obj_sysroot/lib64: | obj_sysroot	ln -sf lib $@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_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	cd obj_musl && ../src_musl/configure $(FULL_MUSL_CONFIG)	touch $@obj_sysroot/.lc_headers: | obj_musl/.lc_configured obj_sysroot	cd obj_musl && $(MAKE) DESTDIR=$(CURDIR)/obj_sysroot install-headers	touch $@obj_gcc/$(TARGET)/libgcc/libgcc.a: | obj_sysroot/.lc_headers	cd obj_gcc && $(MAKE) MAKE="$(MAKE) enable_shared=no" all-target-libgccobj_musl/.lc_built: | obj_musl/.lc_configured	cd obj_musl && $(MAKE) $(MUSL_VARS)	touch $@obj_sysroot/.lc_libs: | obj_musl/.lc_built	cd obj_musl && $(MAKE) $(MUSL_VARS) DESTDIR=$(CURDIR)/obj_sysroot install	touch $@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) installinstall-binutils: | obj_binutils/.lc_built	cd obj_binutils && $(MAKE) MAKE="$(MAKE)" DESTDIR=$(DESTDIR)$(OUTPUT) installinstall-gcc: | obj_gcc/.lc_built	cd obj_gcc && $(MAKE) MAKE="$(MAKE)" DESTDIR=$(DESTDIR)$(OUTPUT) install	ln -sf $(TARGET)-gcc $(DESTDIR)$(OUTPUT)/bin/$(TARGET)-ccifneq ($(LINUX_SRCDIR),)TARGET_ARCH = $(firstword $(subst -, ,$(TARGET)))TARGET_ARCH_MANGLED = $(patsubst i%86,x86,$(patsubst aarch64%,arm64%,$(TARGET_ARCH)))LINUX_ARCH_LIST = $(sort $(notdir $(wildcard $(LINUX_SRCDIR)/arch/*)))LINUX_ARCH = $(lastword $(foreach a,$(LINUX_ARCH_LIST),$(if $(filter $(a)%,$(TARGET_ARCH_MANGLED)),$(a))))ifneq ($(LINUX_ARCH),)all: kernel-headersinstall: install-kernel-headerskernel-headers: | obj_kernel_headers/.lc_builtsrc_kernel_headers: | $(LINUX_SRCDIR)	ln -sf "$(LINUX_SRCDIR)" $@obj_kernel_headers/.lc_built: | src_kernel_headers	mkdir -p $(CURDIR)/obj_kernel_headers/staged	cd src_kernel_headers && $(MAKE) ARCH=$(LINUX_ARCH) O=$(CURDIR)/obj_kernel_headers INSTALL_HDR_PATH=$(CURDIR)/obj_kernel_headers/staged headers_install	find obj_kernel_headers/staged/include '(' -name .install -o -name ..install.cmd ')' -exec rm {} +	touch $@install-kernel-headers: | obj_kernel_headers/.lc_built	mkdir -p $(DESTDIR)$(OUTPUT)$(SYSROOT)/include	cp -R obj_kernel_headers/staged/include/* $(DESTDIR)$(OUTPUT)$(SYSROOT)/includeendifendifendifclean:	rm -rf src_* obj_*
 |