1 # SPDX-License-Identifier: GPL-2.0 !! 1 HEADER=header.tk 2 ### !! 2 TAIL=tail.tk 3 # scripts contains sources for various helper << 4 # the kernel for the build process. << 5 << 6 hostprogs-always-$(CONFIG_KALLSYMS) << 7 hostprogs-always-$(BUILD_C_RECORDMCOUNT) << 8 hostprogs-always-$(CONFIG_BUILDTIME_TABLE_SORT << 9 hostprogs-always-$(CONFIG_ASN1) << 10 hostprogs-always-$(CONFIG_MODULE_SIG_FORMAT) << 11 hostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFI << 12 hostprogs-always-$(CONFIG_RUST_KERNEL_DOCTESTS << 13 hostprogs-always-$(CONFIG_RUST_KERNEL_DOCTESTS << 14 << 15 ifneq ($(or $(CONFIG_X86_64),$(CONFIG_X86_32)) << 16 always-$(CONFIG_RUST) << 17 filechk_rust_target = $< < include/config/auto << 18 << 19 $(obj)/target.json: scripts/generate_rust_targ << 20 $(call filechk,rust_target) << 21 endif << 22 << 23 hostprogs += generate_rust_target << 24 generate_rust_target-rust := y << 25 rustdoc_test_builder-rust := y << 26 rustdoc_test_gen-rust := y << 27 << 28 HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/in << 29 HOSTLDLIBS_sorttable = -lpthread << 30 HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/incl << 31 HOSTCFLAGS_sign-file.o = $(shell $(HOSTPKG_CON << 32 HOSTLDLIBS_sign-file = $(shell $(HOSTPKG_CONFI << 33 << 34 ifdef CONFIG_UNWINDER_ORC << 35 ifeq ($(ARCH),x86_64) << 36 SRCARCH := x86 << 37 endif << 38 ifeq ($(ARCH),loongarch) << 39 SRCARCH := loongarch << 40 endif << 41 HOSTCFLAGS_sorttable.o += -I$(srctree)/tools/a << 42 HOSTCFLAGS_sorttable.o += -DUNWINDER_ORC_ENABL << 43 endif << 44 << 45 ifdef CONFIG_BUILDTIME_MCOUNT_SORT << 46 HOSTCFLAGS_sorttable.o += -DMCOUNT_SORT_ENABLE << 47 endif << 48 << 49 # The following programs are only built on dem << 50 hostprogs += unifdef << 51 << 52 # The module linker script is preprocessed on << 53 targets += module.lds << 54 << 55 subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins << 56 subdir-$(CONFIG_MODVERSIONS) += genksyms << 57 subdir-$(CONFIG_SECURITY_SELINUX) += selinux << 58 subdir-$(CONFIG_SECURITY_IPE) += ipe << 59 3 60 # Let clean descend into subdirs !! 4 # Previous versions always remade kconfig.tk because they always depended 61 subdir- += basic dtc gdb kconfig mod !! 5 # on soundscript. This runs fairly fast, and I can't find all the >> 6 # Config.in files to depend on anyways. So I'll force it to remake. >> 7 >> 8 kconfig.tk: dummy >> 9 >> 10 kconfig.tk: ${TOPDIR}/Makefile ${TOPDIR}/arch/${ARCH}/config.in \ >> 11 tkparse ${HEADER} ${TAIL} >> 12 @if [ -f /usr/local/bin/wish ]; then \ >> 13 echo '#!'"/usr/local/bin/wish -f" > kconfig.tk; \ >> 14 else \ >> 15 echo '#!'"/usr/bin/wish -f" > kconfig.tk; \ >> 16 fi >> 17 cat ${HEADER} >> ./kconfig.tk >> 18 ./tkparse < ../arch/${ARCH}/config.in >> kconfig.tk >> 19 echo "set defaults \"arch/${ARCH}/defconfig\"" >> kconfig.tk >> 20 echo "set ARCH \"${ARCH}\"" >> kconfig.tk >> 21 cat ${TAIL} >> kconfig.tk >> 22 chmod 755 kconfig.tk >> 23 >> 24 tkparse: tkparse.o tkcond.o tkgen.o >> 25 ${HOSTCC} -o tkparse tkparse.o tkcond.o tkgen.o >> 26 >> 27 tkparse.o: tkparse.c tkparse.h >> 28 >> 29 tkcond.o: tkcond.c tkparse.h >> 30 >> 31 tkgen.o: tkgen.c tkparse.h >> 32 >> 33 tkparse.o tkcond.o tkgen.o: >> 34 $(HOSTCC) $(HOSTCFLAGS) -c -o $@ $(@:.o=.c) >> 35 >> 36 docproc.o: docproc.c >> 37 $(HOSTCC) $(HOSTCFLAGS) -c -o $@ $(@:.o=.c) >> 38 >> 39 docproc: docproc.o >> 40 ${HOSTCC} -o docproc docproc.o >> 41 >> 42 clean: >> 43 rm -f *~ kconfig.tk *.o tkparse mkdep split-include docproc >> 44 >> 45 include $(TOPDIR)/Rules.make
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.