⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binutils.mk

📁 IPcop软路由防火墙 FREE 开源源代码
💻 MK
字号:
############################################################### build binutils for use on the host system###############################################################BINUTILS_SITE:=http://ftp.kernel.org/pub/linux/devel/binutilsBINUTILS_SOURCE:=binutils-2.15.90.0.3.tar.bz2BINUTILS_DIR:=$(TOOL_BUILD_DIR)/binutils-2.15.90.0.3BINUTILS_CAT:=bzcatBINUTILS_DIR1:=$(TOOL_BUILD_DIR)/binutils-build$(DL_DIR)/$(BINUTILS_SOURCE):#	$(WGET) -P $(DL_DIR) $(BINUTILS_SITE)/$(BINUTILS_SOURCE)$(BINUTILS_DIR)/.unpacked: $(DL_DIR)/$(BINUTILS_SOURCE)	mkdir -p $(TOOL_BUILD_DIR)	mkdir -p $(DL_DIR)	mkdir -p $(STAGING_DIR)	mkdir -p $(STAGING_DIR)/lib/gcc-lib	mkdir -p $(STAGING_DIR)/usr/bin;	mkdir -p $(STAGING_DIR)/$(GNU_TARGET_NAME)/	(cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../lib)	(cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../include)	(cd $(STAGING_DIR)/$(GNU_TARGET_NAME); ln -fs ../include sys-include)	$(BINUTILS_CAT) $(DL_DIR)/$(BINUTILS_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -	touch $(BINUTILS_DIR)/.unpacked$(BINUTILS_DIR)/.patched: $(BINUTILS_DIR)/.unpacked	# Apply any files named binutils-*.patch from the source directory to binutils	$(SOURCE_DIR)/patch-kernel.sh $(BINUTILS_DIR) $(SOURCE_DIR) binutils-*.patch	touch $(BINUTILS_DIR)/.patched$(BINUTILS_DIR1)/.configured: $(BINUTILS_DIR)/.patched	mkdir -p $(BINUTILS_DIR1)	(cd $(BINUTILS_DIR1); CC="$(HOSTCC)" \		CC_FOR_HOST="$(HOSTCC)" \		CXX_FOR_HOST="$(HOSTCC)" \		LDFLAGS="$(HOSTLDFLAGS)" \		$(BINUTILS_DIR)/configure \		--target=$(GNU_TARGET_NAME) \		--host=$(GNU_HOST_NAME) \		--build=$(GNU_HOST_NAME) \		--prefix=$(STAGING_DIR) \		--exec-prefix=$(STAGING_DIR) \		--bindir=$(STAGING_DIR)/bin \		--sbindir=$(STAGING_DIR)/sbin \		--sysconfdir=$(STAGING_DIR)/etc \		--datadir=$(STAGING_DIR)/share \		--includedir=$(STAGING_DIR)/include \		--libdir=$(STAGING_DIR)/lib \		--localstatedir=$(STAGING_DIR)/var \		--mandir=$(STAGING_DIR)/man \		--infodir=$(STAGING_DIR)/info \		--enable-targets=$(GNU_TARGET_NAME) \		--with-sysroot=$(STAGING_DIR) \		$(MULTILIB) \		$(SOFT_FLOAT_CONFIG_OPTION) \		--program-prefix=$(ARCH)-linux-);	touch $(BINUTILS_DIR1)/.configured$(BINUTILS_DIR1)/binutils/objdump: $(BINUTILS_DIR1)/.configured	$(MAKE) $(JLEVEL) CC_FOR_HOST="$(HOSTCC)" \		CXX_FOR_HOST="$(HOSTCC)" LDFLAGS="$(HOSTLDFLAGS)" \		-C $(BINUTILS_DIR1);$(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld: $(BINUTILS_DIR1)/binutils/objdump 	$(MAKE) $(JLEVEL) CC_FOR_HOST="$(HOSTCC)" \		CXX_FOR_HOST="$(HOSTCC)" LDFLAGS="$(HOSTLDFLAGS)" \		-C $(BINUTILS_DIR1) install;	rm -rf $(STAGING_DIR)/info $(STAGING_DIR)/man $(STAGING_DIR)/share/doc \		$(STAGING_DIR)/share/locale	mkdir -p $(STAGING_DIR)/usr/bin;	set -e; \	for app in addr2line ar as c++filt gprof ld nm objcopy \		    objdump ranlib readelf size strings strip ; \	do \		if [ -x $(STAGING_DIR)/bin/$(ARCH)-linux-$${app} ] ; then \		    (cd $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin; \			ln -fs ../../bin/$(ARCH)-linux-$${app} $${app}; \		    ); \		    (cd $(STAGING_DIR)/usr/bin; \			ln -fs ../../bin/$(ARCH)-linux-$${app} $${app}; \		    ); \		fi; \	done;$(STAGING_DIR)/lib/libg.a:	mkdir -p $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin	mkdir -p $(STAGING_DIR)/usr/include/	mkdir -p $(STAGING_DIR)/usr/lib/	$(TARGET_CROSS)ar rv $(STAGING_DIR)/lib/libg.a;	cp $(BINUTILS_DIR)/include/ansidecl.h $(STAGING_DIR)/usr/include/	cp $(BINUTILS_DIR)/include/bfdlink.h $(STAGING_DIR)/usr/include/	cp $(BINUTILS_DIR)/include/dis-asm.h $(STAGING_DIR)/usr/include/	cp $(BINUTILS_DIR)/include/libiberty.h $(STAGING_DIR)/usr/include/	cp $(BINUTILS_DIR)/include/symcat.h $(STAGING_DIR)/usr/include/	cp $(BINUTILS_DIR1)/bfd/bfd.h $(STAGING_DIR)/usr/include/	cp -a $(BINUTILS_DIR1)/bfd/.libs/* $(STAGING_DIR)/usr/lib/	cp -a $(BINUTILS_DIR1)/opcodes/.libs/* $(STAGING_DIR)/usr/lib/	cp -a $(BINUTILS_DIR1)/libiberty/libiberty.a $(STAGING_DIR)/usr/lib/binutils: $(STAGING_DIR)/$(GNU_TARGET_NAME)/bin/ld $(STAGING_DIR)/lib/libg.abinutils-source: $(DL_DIR)/$(BINUTILS_SOURCE)binutils-clean:	rm -f $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)*	-$(MAKE) -C $(BINUTILS_DIR1) cleanbinutils-dirclean:	rm -rf $(BINUTILS_DIR1)############################################################### build binutils for use on the target system##############################################################BINUTILS_DIR2:=$(BUILD_DIR)/binutils-target$(BINUTILS_DIR2)/.configured: $(BINUTILS_DIR)/.patched	mkdir -p $(BINUTILS_DIR2)	mkdir -p $(TARGET_DIR)/usr/include	mkdir -p $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/	(cd $(BINUTILS_DIR2); \		$(TARGET_CONFIGURE_OPTS) \		CFLAGS="$(TARGET_CFLAGS)" \		CC_FOR_BUILD="$(HOSTCC)" \		CXX_FOR_BUILD="$(HOSTCC)" \		LDFLAGS="$(HOSTLDFLAGS)" \		AR_FOR_TARGET=$(TARGET_CROSS)ar \		AS_FOR_TARGET=$(TARGET_CROSS)as \		LD_FOR_TARGET=$(TARGET_CROSS)ld \		NM_FOR_TARGET=$(TARGET_CROSS)nm \		CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \		GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \		CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \		RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \		$(BINUTILS_DIR)/configure \		--target=$(GNU_TARGET_NAME) \		--host=$(GNU_TARGET_NAME) \		--build=$(ARCH)-linux \		--prefix=/usr \		--mandir=/usr/man \		--infodir=/usr/info \		$(MULTILIB) \		$(SOFT_FLOAT_CONFIG_OPTION) \	);	touch $(BINUTILS_DIR2)/.configured$(BINUTILS_DIR2)/binutils/objdump: $(BINUTILS_DIR2)/.configured	$(MAKE) $(JLEVEL) -C $(BINUTILS_DIR2) \		CC_FOR_BUILD="$(HOSTCC)" \		CXX_FOR_BUILD="$(HOSTCC)" \		LDFLAGS="$(HOSTLDFLAGS)" \		AR_FOR_TARGET=$(TARGET_CROSS)ar \		AS_FOR_TARGET=$(TARGET_CROSS)as \		LD_FOR_TARGET=$(TARGET_CROSS)ld \		NM_FOR_TARGET=$(TARGET_CROSS)nm \		CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \		GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \		CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \		RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib	touch -c $(BINUTILS_DIR2)/binutils/objdump$(TARGET_DIR)/usr/bin/ld: $(BINUTILS_DIR2)/binutils/objdump 	$(MAKE) $(JLEVEL) -C $(BINUTILS_DIR2) \		CC_FOR_BUILD="$(HOSTCC)" \		CXX_FOR_BUILD="$(HOSTCC)" \		LDFLAGS="$(HOSTLDFLAGS)" \		AR_FOR_TARGET=$(TARGET_CROSS)ar \		AS_FOR_TARGET=$(TARGET_CROSS)as \		LD_FOR_TARGET=$(TARGET_CROSS)ld \		NM_FOR_TARGET=$(TARGET_CROSS)nm \		CC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \		GCC_FOR_TARGET=$(TARGET_CROSS)gcc$(TARGET_SOFT_FLOAT) \		CXX_FOR_TARGET=$(TARGET_CROSS)g++$(TARGET_SOFT_FLOAT) \		RANLIB_FOR_TARGET=$(TARGET_CROSS)ranlib \		prefix=/usr \		infodir=/usr/info \		mandir=/usr/man \		DESTDIR=$(TARGET_DIR) install	rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \		$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc	-$(STRIP) $(TARGET_DIR)/usr/$(GNU_TARGET_NAME)/bin/* > /dev/null 2>&1	-$(STRIP) $(TARGET_DIR)/usr/bin/* > /dev/null 2>&1 $(TARGET_DIR)/usr/lib/libg.a:	$(TARGET_CROSS)ar rv $(TARGET_DIR)/usr/lib/libg.a;	cp $(BINUTILS_DIR)/include/ansidecl.h $(TARGET_DIR)/usr/include/	cp $(BINUTILS_DIR)/include/bfdlink.h $(TARGET_DIR)/usr/include/	cp $(BINUTILS_DIR)/include/dis-asm.h $(TARGET_DIR)/usr/include/	cp $(BINUTILS_DIR)/include/libiberty.h $(TARGET_DIR)/usr/include/	cp $(BINUTILS_DIR)/include/symcat.h $(TARGET_DIR)/usr/include/	cp $(BINUTILS_DIR2)/bfd/bfd.h $(TARGET_DIR)/usr/include/	cp -a $(BINUTILS_DIR2)/bfd/.libs/* $(TARGET_DIR)/usr/lib/	cp -a $(BINUTILS_DIR2)/opcodes/.libs/* $(TARGET_DIR)/usr/lib/	cp -a $(BINUTILS_DIR2)/libiberty/libiberty.a $(TARGET_DIR)/usr/lib/binutils_target: $(GCC_DEPENDANCY) $(TARGET_DIR)/usr/bin/ld $(TARGET_DIR)/usr/lib/libg.abinutils_target-clean:	rm -f $(TARGET_DIR)/bin/$(GNU_TARGET_NAME)*	-$(MAKE) -C $(BINUTILS_DIR2) cleanbinutils_target-dirclean:	rm -rf $(BINUTILS_DIR2)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -