mirror of
				https://github.com/immortalwrt/immortalwrt.git
				synced 2025-10-30 07:49:55 +08:00 
			
		
		
		
	 ae9c9d0f8e
			
		
	
	ae9c9d0f8e
	
	
	
		
			
			Parsing "git log" is fragile. The actual output depends on both global and local configuration files. Enabling "log.showSignature" makes "git log" prefix signed commits with multiple lines of gpg verify output, regardless of the configured log format. Add "--no-show-signature" to "git log" commands to work around this particular issue. Signed-off-by: Bjørn Mork <bjorn@mork.no> Link: https://github.com/openwrt/openwrt/pull/20127 Signed-off-by: Robert Marko <robimarko@gmail.com>
		
			
				
	
	
		
			93 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # 
 | |
| # Copyright (C) 2007-2009 OpenWrt.org
 | |
| #
 | |
| # This is free software, licensed under the GNU General Public License v2.
 | |
| # See /LICENSE for more information.
 | |
| #
 | |
| # Main makefile for the toolchain
 | |
| #
 | |
| # Steps:
 | |
| # 1) toolchain/binutils/compile
 | |
| #    build & install binutils
 | |
| # 2) toolchain/gcc/minimal/compile
 | |
| #    build & install a minimal gcc, needed for steps 3 & 4
 | |
| # 3) toolchain/kernel-headers/compile
 | |
| #    install kernel headers, needed for step 4
 | |
| # 4) toolchain/libc/headers/compile
 | |
| #    build & install libc headers & support files, needed for step 5
 | |
| # 5) toolchain/gcc/initial/compile
 | |
| #    build & install an initial gcc, needed for step 6
 | |
| # 6) toolchain/libc/compile
 | |
| #    build & install the final libc
 | |
| # 7) toolchain/gcc/final/compile
 | |
| #    build & install the final gcc
 | |
| #
 | |
| # For musl, steps 2 and 4 are skipped, and step 3 is done after 5
 | |
| 
 | |
| curdir:=toolchain
 | |
| 
 | |
| # subdirectories to descend into
 | |
| $(curdir)/builddirs := $(if $(CONFIG_GDB),gdb) $(if $(CONFIG_EXTERNAL_TOOLCHAIN),wrapper,kernel-headers binutils gcc/initial gcc/final $(LIBC) fortify-headers) $(if $(CONFIG_NASM),nasm) $(if $(CONFIG_USE_MOLD),mold)
 | |
| 
 | |
| # builddir dependencies
 | |
| ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
 | |
|   ifdef CONFIG_USE_MUSL
 | |
|     $(curdir)/gcc/initial/compile:=$(curdir)/binutils/compile
 | |
|     $(curdir)/kernel-headers/compile:=$(curdir)/gcc/initial/compile
 | |
|   else
 | |
|     $(curdir)/builddirs += $(LIBC)/headers gcc/minimal
 | |
|     $(curdir)/gcc/minimal/compile:=$(curdir)/binutils/compile
 | |
|     $(curdir)/kernel-headers/compile:=$(curdir)/gcc/minimal/compile
 | |
|     $(curdir)/$(LIBC)/headers/compile:=$(curdir)/kernel-headers/compile
 | |
|     $(curdir)/gcc/initial/compile:=$(curdir)/$(LIBC)/headers/compile
 | |
|   endif
 | |
| 
 | |
|   $(curdir)/$(LIBC)/compile:=$(curdir)/gcc/initial/compile $(curdir)/kernel-headers/compile
 | |
|   $(curdir)/gcc/final/compile:=$(curdir)/$(LIBC)/compile
 | |
| endif
 | |
| 
 | |
| ifndef DUMP_TARGET_DB
 | |
| ifneq ($(ARCH),)
 | |
|   $(TOOLCHAIN_DIR)/info.mk: .config
 | |
| 	@for dir in $(TOOLCHAIN_DIR); do ( \
 | |
| 		$(if $(QUIET),,set -x;) \
 | |
| 		mkdir -p "$$dir"; \
 | |
| 		cd "$$dir"; \
 | |
| 		ln -nsf lib lib64; \
 | |
| 		ln -nsf lib lib32; \
 | |
| 		mkdir -p stamp lib usr/include usr/lib ; \
 | |
| 	); done
 | |
| 	@grep GCC_VERSION $@ >/dev/null 2>&1 || $(INSTALL_DATA) $(TOPDIR)/toolchain/info.mk $@
 | |
| 	@touch $@
 | |
| endif
 | |
| endif
 | |
| 
 | |
| ifdef CONFIG_BUILDBOT
 | |
| ifneq ($(wildcard $(TOPDIR)/.git),)
 | |
|   $(TOOLCHAIN_DIR)/stamp/.ver_check: $(TMP_DIR)/.build
 | |
| 	cd "$(TOPDIR)"; git log --no-show-signature --format=%h -1 toolchain > $(TMP_DIR)/.ver_check
 | |
| 	cmp -s $(TMP_DIR)/.ver_check $@ || { \
 | |
| 		rm -rf $(BUILD_DIR) $(STAGING_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR_TOOLCHAIN); \
 | |
| 		mkdir -p $(TOOLCHAIN_DIR)/stamp; \
 | |
| 		mv $(TMP_DIR)/.ver_check $@; \
 | |
| 	}
 | |
| 
 | |
| $(TOOLCHAIN_DIR)/info.mk $(STAGING_DIR)/.prepared: $(TOOLCHAIN_DIR)/stamp/.ver_check
 | |
| endif
 | |
| endif
 | |
| 
 | |
| # prerequisites for the individual targets
 | |
| $(curdir)/ := .config prereq
 | |
| $(curdir)//compile = $(STAGING_DIR)/.prepared $(TOOLCHAIN_DIR)/info.mk $(tools/stamp-compile)
 | |
| 
 | |
| ifndef DUMP_TARGET_DB
 | |
| $(TOOLCHAIN_DIR)/stamp/.gcc_final_installed:
 | |
| endif
 | |
| 
 | |
| $(curdir)/install: $(curdir)/compile
 | |
| 
 | |
| $(eval $(call stampfile,$(curdir),toolchain,compile,$(TOOLCHAIN_DIR)/stamp/.gcc_final_installed,,$(TOOLCHAIN_DIR)))
 | |
| $(eval $(call stampfile,$(curdir),toolchain,check,$(TMP_DIR)/.build))
 | |
| $(eval $(call subdir,$(curdir)))
 | |
| 
 |