You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							147 lines
						
					
					
						
							4.3 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							147 lines
						
					
					
						
							4.3 KiB
						
					
					
				
								################################################################################
							 | 
						|
								#
							 | 
						|
								# crosstool-ng
							 | 
						|
								#
							 | 
						|
								################################################################################
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_VERSION = git
							 | 
						|
								CROSSTOOL_NG_DIR = crosstool-ng.$(CROSSTOOL_NG_VERSION)
							 | 
						|
								CROSSTOOL_NG_SOURCE = crosstool-ng.$(CROSSTOOL_NG_VERSION)
							 | 
						|
								CROSSTOOL_NG_SITE = https://github.com/crosstool-ng
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_DEPENDENCIES = kernel-tarball kernel-headers
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_CHECKOUT = tags/crosstool-ng-1.25.0
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_CONFIG = $(PKG_FILES_DIR)/crosstool-ng-$(BOXTYPE).config
							 | 
						|
								CROSSTOOL_NG_BUILD_CONFIG = $(PKG_BUILD_DIR)/.config
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_UNSET = \
							 | 
						|
									CONFIG_SITE \
							 | 
						|
									CPATH \
							 | 
						|
									CPLUS_INCLUDE_PATH \
							 | 
						|
									C_INCLUDE_PATH \
							 | 
						|
									INCLUDE \
							 | 
						|
									LD_LIBRARY_PATH \
							 | 
						|
									LIBRARY_PATH \
							 | 
						|
									PKG_CONFIG_PATH
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_EXPORT = \
							 | 
						|
									BS_LOCAL_TARBALLS_DIR=$(DL_DIR) \
							 | 
						|
									BS_PREFIX_DIR=$(CROSS_DIR) \
							 | 
						|
									BS_LINUX_CUSTOM_LOCATION=$(BUILD_DIR)/$(KERNEL_DIR)
							 | 
						|
								
							 | 
						|
								# begin coolstream
							 | 
						|
								ifeq ($(BOXTYPE),coolstream)
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_CHECKOUT = 1dbb06f2
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_CONFIG = $(PKG_FILES_DIR)/crosstool-ng-$(BOXTYPE)-$(BOXSERIES).config
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_EXPORT += \
							 | 
						|
									LD_LIBRARY_PATH= \
							 | 
						|
									BS_KERNEL_VERSION=$(KERNEL_VERSION) \
							 | 
						|
									BS_KERNEL_LOCATION=$(KERNEL_TARBALL) \
							 | 
						|
									BS_KERNEL_HEADERS=$(KERNEL_HEADERS_DIR) \
							 | 
						|
								
							 | 
						|
								# crosstool-ng for cst hd1 uses external gcc-linaro 4.9-2017.01
							 | 
						|
								ifeq ($(BOXSERIES),$(filter $(BOXSERIES),hd1))
							 | 
						|
								
							 | 
						|
								GCC_LINARO_VERSION = 4.9-2017.01
							 | 
						|
								GCC_LINARO_SOURCE = gcc-linaro-$(GCC_LINARO_VERSION).tar.xz
							 | 
						|
								GCC_LINARO_SITE = https://releases.linaro.org/components/toolchain/gcc-linaro/$(GCC_LINARO_VERSION)
							 | 
						|
								
							 | 
						|
								define CROSSTOOL_NG_DOWNLOAD_LINARO_4_9
							 | 
						|
									$(GET_ARCHIVE) $(DL_DIR) $(GCC_LINARO_SITE)/$(GCC_LINARO_SOURCE)
							 | 
						|
								endef
							 | 
						|
								CROSSTOOL_NG_POST_DOWNLOAD_HOOKS += CROSSTOOL_NG_DOWNLOAD_LINARO_4_9
							 | 
						|
								
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								# crosstool-ng for cst hd2 uses uclibc-ng 1.0.24
							 | 
						|
								ifeq ($(BOXSERIES),$(filter $(BOXSERIES),hd2))
							 | 
						|
								
							 | 
						|
								UCLIBC_NG_VERSION = 1.0.24
							 | 
						|
								
							 | 
						|
								CROSSTOOL_NG_EXPORT += \
							 | 
						|
									BS_LIBC_UCLIBC_CONFIG_FILE=$(PKG_FILES_DIR)/uclibc-ng-$(UCLIBC_NG_VERSION).config
							 | 
						|
								
							 | 
						|
								define CROSSTOOL_NG_INSTALL_PATCHES
							 | 
						|
									$(INSTALL_COPY) $(PKG_PATCHES_DIR)/gcc/* $(PKG_BUILD_DIR)/patches/gcc/linaro-6.3-2017.02
							 | 
						|
								endef
							 | 
						|
								CROSSTOOL_NG_POST_PATCH_HOOKS += CROSSTOOL_NG_INSTALL_PATCHES
							 | 
						|
								
							 | 
						|
								endif
							 | 
						|
								
							 | 
						|
								define CROSSTOOL_NG_CLEANUP_COOLSTREAM
							 | 
						|
									test -e $(CROSS_DIR)/$(TARGET)/lib && \
							 | 
						|
										mv $(CROSS_DIR)/$(TARGET)/lib $(CROSS_DIR)/$(TARGET)/lib.x
							 | 
						|
								endef
							 | 
						|
								CROSSTOOL_NG_CLEANUP_HOOKS += CROSSTOOL_NG_CLEANUP_COOLSTREAM
							 | 
						|
								
							 | 
						|
								endif
							 | 
						|
								# end coolstream
							 | 
						|
								
							 | 
						|
								define CROSSTOOL_NG_CLEANUP_COMMON
							 | 
						|
									test -e $(CROSS_DIR)/$(TARGET)/lib || \
							 | 
						|
										ln -sf sys-root/lib $(CROSS_DIR)/$(TARGET)/
							 | 
						|
									rm -f $(CROSS_DIR)/$(TARGET)/sys-root/lib/libstdc++.so.6.0.*-gdb.py
							 | 
						|
								endef
							 | 
						|
								CROSSTOOL_NG_CLEANUP_HOOKS += CROSSTOOL_NG_CLEANUP_COMMON
							 | 
						|
								
							 | 
						|
								define CROSSTOOL_NG_INSTALL_CONFIG
							 | 
						|
									$(INSTALL_DATA) $(CROSSTOOL_NG_CONFIG) $(CROSSTOOL_NG_BUILD_CONFIG)
							 | 
						|
									$(SED) "s|^CT_PARALLEL_JOBS=.*|CT_PARALLEL_JOBS=$(PARALLEL_JOBS)|" $(CROSSTOOL_NG_BUILD_CONFIG)
							 | 
						|
								endef
							 | 
						|
								CROSSTOOL_NG_POST_PATCH_HOOKS += CROSSTOOL_NG_INSTALL_CONFIG
							 | 
						|
								
							 | 
						|
								define CROSSTOOL_NG_DISTRIBUTE_CONFIG
							 | 
						|
									$(INSTALL_DATA) $(CROSSTOOL_NG_BUILD_CONFIG) $(CROSSTOOL_NG_CONFIG)
							 | 
						|
									$(SED) "s|^CT_PARALLEL_JOBS=.*|CT_PARALLEL_JOBS=0|" $(CROSSTOOL_NG_CONFIG)
							 | 
						|
									@$(call MESSAGE,"Commit your changes in $(CROSSTOOL_NG_CONFIG)")
							 | 
						|
								endef
							 | 
						|
								
							 | 
						|
								# -----------------------------------------------------------------------------
							 | 
						|
								
							 | 
						|
								crosstool-ng.do_prepare: | $(DEPS_DIR) $(BUILD_DIR)
							 | 
						|
									$(call PREPARE)
							 | 
						|
									$(CHDIR)/$($(PKG)_DIR); \
							 | 
						|
										unset $($(PKG)_UNSET); \
							 | 
						|
										export $($(PKG)_EXPORT); \
							 | 
						|
										test -f ./configure || ./bootstrap; \
							 | 
						|
										./configure --enable-local; \
							 | 
						|
										MAKELEVEL=0 make
							 | 
						|
									$(call TOUCH)
							 | 
						|
								
							 | 
						|
								crosstool-ng.do_compile: crosstool-ng.do_prepare
							 | 
						|
									$(CHDIR)/$($(PKG)_DIR); \
							 | 
						|
										unset $($(PKG)_UNSET); \
							 | 
						|
										export $($(PKG)_EXPORT); \
							 | 
						|
										./ct-ng oldconfig; \
							 | 
						|
										./ct-ng build
							 | 
						|
									$(call TOUCH)
							 | 
						|
								
							 | 
						|
								# -----------------------------------------------------------------------------
							 | 
						|
								
							 | 
						|
								# upgradeconfig doesn't work for coolstream; crosstool-ng 1dbb06f2 is too old
							 | 
						|
								
							 | 
						|
								crosstool-ng.menuconfig \
							 | 
						|
								crosstool-ng.upgradeconfig: crosstool-ng.do_prepare
							 | 
						|
									$(CHDIR)/$($(PKG)_DIR); \
							 | 
						|
										unset $($(PKG)_UNSET); \
							 | 
						|
										export $($(PKG)_EXPORT); \
							 | 
						|
										./ct-ng $(subst crosstool-ng.,,$(@))
							 | 
						|
									$(CROSSTOOL_NG_DISTRIBUTE_CONFIG)
							 | 
						|
								
							 | 
						|
								# -----------------------------------------------------------------------------
							 | 
						|
								
							 | 
						|
								ifeq ($(wildcard $(CROSS_DIR)/build.log.bz2),)
							 | 
						|
								
							 | 
						|
								crosstool-ng: crosstool-ng.do_compile
							 | 
						|
									$(foreach hook,$($(PKG)_CLEANUP_HOOKS),$(call $(hook))$(sep))
							 | 
						|
								
							 | 
						|
								else
							 | 
						|
								
							 | 
						|
								crosstool-ng:
							 | 
						|
								
							 | 
						|
								endif
							 | 
						|
								
							 |