mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-09-27 21:52:38 +00:00
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)))
|
|
|