Pull Kbuild updates from Masahiro Yamada:
- Fix false-positive build warnings for ARCH=ia64 builds
- Optimize dictionary size for module compression with xz
- Check the compiler and linker versions in Kconfig
- Fix misuse of extra-y
- Support DWARF v5 debug info
- Clamp SUBLEVEL to 255 because stable releases 4.4.x and 4.9.x
exceeded the limit
- Add generic syscall{tbl,hdr}.sh for cleanups across arches
- Minor cleanups of genksyms
- Minor cleanups of Kconfig
* tag 'kbuild-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (38 commits)
initramfs: Remove redundant dependency of RD_ZSTD on BLK_DEV_INITRD
kbuild: remove deprecated 'always' and 'hostprogs-y/m'
kbuild: parse C= and M= before changing the working directory
kbuild: reuse this-makefile to define abs_srctree
kconfig: unify rule of config, menuconfig, nconfig, gconfig, xconfig
kconfig: omit --oldaskconfig option for 'make config'
kconfig: fix 'invalid option' for help option
kconfig: remove dead code in conf_askvalue()
kconfig: clean up nested if-conditionals in check_conf()
kconfig: Remove duplicate call to sym_get_string_value()
Makefile: Remove # characters from compiler string
Makefile: reuse CC_VERSION_TEXT
kbuild: check the minimum linker version in Kconfig
kbuild: remove ld-version macro
scripts: add generic syscallhdr.sh
scripts: add generic syscalltbl.sh
arch: syscalls: remove $(srctree)/ prefix from syscall tables
arch: syscalls: add missing FORCE and fix 'targets' to make if_changed work
gen_compile_commands: prune some directories
kbuild: simplify access to the kernel's version
...
98 lines
3.0 KiB
Makefile
98 lines
3.0 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
kapi := arch/$(SRCARCH)/include/generated/asm
|
|
uapi := arch/$(SRCARCH)/include/generated/uapi/asm
|
|
|
|
_dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \
|
|
$(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)')
|
|
|
|
syscalln32 := $(src)/syscall_n32.tbl
|
|
syscalln64 := $(src)/syscall_n64.tbl
|
|
syscallo32 := $(src)/syscall_o32.tbl
|
|
syshdr := $(srctree)/$(src)/syscallhdr.sh
|
|
sysnr := $(srctree)/$(src)/syscallnr.sh
|
|
systbl := $(srctree)/$(src)/syscalltbl.sh
|
|
|
|
quiet_cmd_syshdr = SYSHDR $@
|
|
cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
|
|
'$(syshdr_abis_$(basetarget))' \
|
|
'$(syshdr_pfx_$(basetarget))' \
|
|
'$(syshdr_offset_$(basetarget))'
|
|
|
|
quiet_cmd_sysnr = SYSNR $@
|
|
cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
|
|
'$(sysnr_abis_$(basetarget))' \
|
|
'$(sysnr_pfx_$(basetarget))' \
|
|
'$(sysnr_offset_$(basetarget))'
|
|
|
|
quiet_cmd_systbl = SYSTBL $@
|
|
cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \
|
|
'$(systbl_abis_$(basetarget))' \
|
|
'$(systbl_abi_$(basetarget))' \
|
|
'$(systbl_offset_$(basetarget))'
|
|
|
|
syshdr_offset_unistd_n32 := __NR_Linux
|
|
$(uapi)/unistd_n32.h: $(syscalln32) $(syshdr) FORCE
|
|
$(call if_changed,syshdr)
|
|
|
|
syshdr_offset_unistd_n64 := __NR_Linux
|
|
$(uapi)/unistd_n64.h: $(syscalln64) $(syshdr) FORCE
|
|
$(call if_changed,syshdr)
|
|
|
|
syshdr_offset_unistd_o32 := __NR_Linux
|
|
$(uapi)/unistd_o32.h: $(syscallo32) $(syshdr) FORCE
|
|
$(call if_changed,syshdr)
|
|
|
|
sysnr_pfx_unistd_nr_n32 := N32
|
|
sysnr_offset_unistd_nr_n32 := 6000
|
|
$(kapi)/unistd_nr_n32.h: $(syscalln32) $(sysnr) FORCE
|
|
$(call if_changed,sysnr)
|
|
|
|
sysnr_pfx_unistd_nr_n64 := 64
|
|
sysnr_offset_unistd_nr_n64 := 5000
|
|
$(kapi)/unistd_nr_n64.h: $(syscalln64) $(sysnr) FORCE
|
|
$(call if_changed,sysnr)
|
|
|
|
sysnr_pfx_unistd_nr_o32 := O32
|
|
sysnr_offset_unistd_nr_o32 := 4000
|
|
$(kapi)/unistd_nr_o32.h: $(syscallo32) $(sysnr) FORCE
|
|
$(call if_changed,sysnr)
|
|
|
|
systbl_abi_syscall_table_32_o32 := 32_o32
|
|
systbl_offset_syscall_table_32_o32 := 4000
|
|
$(kapi)/syscall_table_32_o32.h: $(syscallo32) $(systbl) FORCE
|
|
$(call if_changed,systbl)
|
|
|
|
systbl_abi_syscall_table_64_n32 := 64_n32
|
|
systbl_offset_syscall_table_64_n32 := 6000
|
|
$(kapi)/syscall_table_64_n32.h: $(syscalln32) $(systbl) FORCE
|
|
$(call if_changed,systbl)
|
|
|
|
systbl_abi_syscall_table_64_n64 := 64_n64
|
|
systbl_offset_syscall_table_64_n64 := 5000
|
|
$(kapi)/syscall_table_64_n64.h: $(syscalln64) $(systbl) FORCE
|
|
$(call if_changed,systbl)
|
|
|
|
systbl_abi_syscall_table_64_o32 := 64_o32
|
|
systbl_offset_syscall_table_64_o32 := 4000
|
|
$(kapi)/syscall_table_64_o32.h: $(syscallo32) $(systbl) FORCE
|
|
$(call if_changed,systbl)
|
|
|
|
uapisyshdr-y += unistd_n32.h \
|
|
unistd_n64.h \
|
|
unistd_o32.h
|
|
kapisyshdr-y += syscall_table_32_o32.h \
|
|
syscall_table_64_n32.h \
|
|
syscall_table_64_n64.h \
|
|
syscall_table_64_o32.h \
|
|
unistd_nr_n32.h \
|
|
unistd_nr_n64.h \
|
|
unistd_nr_o32.h
|
|
|
|
uapisyshdr-y := $(addprefix $(uapi)/, $(uapisyshdr-y))
|
|
kapisyshdr-y := $(addprefix $(kapi)/, $(kapisyshdr-y))
|
|
targets += $(addprefix ../../../../, $(uapisyshdr-y) $(kapisyshdr-y))
|
|
|
|
PHONY += all
|
|
all: $(uapisyshdr-y) $(kapisyshdr-y)
|
|
@:
|