mirror of
https://github.com/thead-yocto-mirror/gpu_bxm_4_64-kernel
synced 2026-07-19 14:44:50 +02:00
144 lines
4.9 KiB
Makefile
144 lines
4.9 KiB
Makefile
############################################################################ ###
|
|
#@File
|
|
#@Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved
|
|
#@License Dual MIT/GPLv2
|
|
#
|
|
# The contents of this file are subject to the MIT license as set out below.
|
|
#
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
# in the Software without restriction, including without limitation the rights
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
# furnished to do so, subject to the following conditions:
|
|
#
|
|
# The above copyright notice and this permission notice shall be included in
|
|
# all copies or substantial portions of the Software.
|
|
#
|
|
# Alternatively, the contents of this file may be used under the terms of
|
|
# the GNU General Public License Version 2 ("GPL") in which case the provisions
|
|
# of GPL are applicable instead of those above.
|
|
#
|
|
# If you wish to allow use of your version of this file only under the terms of
|
|
# GPL, and not to allow others to use your version of this file under the terms
|
|
# of the MIT license, indicate your decision by deleting the provisions above
|
|
# and replace them with the notice and other provisions required by GPL as set
|
|
# out in the file called "GPL-COPYING" included in this distribution. If you do
|
|
# not delete the provisions above, a recipient may use your version of this file
|
|
# under the terms of either the MIT license or GPL.
|
|
#
|
|
# This License is also included in this distribution in the file called
|
|
# "MIT-COPYING".
|
|
#
|
|
# EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS
|
|
# PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
|
|
# BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
# PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR
|
|
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
### ############################################################################
|
|
|
|
# The purpose of this file is to keep KernelConfig macros isolated from the
|
|
# BothConfig and UserConfig macros. This allows this file to be removed from
|
|
# the user mode package and, thus, avoids the kernel config files being
|
|
# generated when building from this package.
|
|
#
|
|
|
|
# Write out a kernel GNU make option.
|
|
#
|
|
define KernelConfigMake
|
|
$$(shell echo "override $(1) $(if $(2),:= $(strip $(2)),:=)" >>$(CONFIG_KERNEL_MK).new)
|
|
$(if $(filter config,$(D)),$(info KernelConfigMake $(1) := $(2) # $(if $($(1)),$(origin $(1)),default)))
|
|
endef
|
|
|
|
# Conditionally write out a kernel GNU make option
|
|
#
|
|
define _TunableKernelConfigMake
|
|
ifneq ($$($(1)),)
|
|
ifneq ($$($(1)),0)
|
|
$$(eval $$(call KernelConfigMake,$(1),$$($(1))))
|
|
else
|
|
unexport $(1)
|
|
endif
|
|
else
|
|
ifneq ($(2),)
|
|
$$(eval $$(call KernelConfigMake,$(1),$(2)))
|
|
else
|
|
unexport $(1)
|
|
endif
|
|
endif
|
|
endef
|
|
|
|
define TunableKernelConfigMake
|
|
$$(eval $$(call _TunableKernelConfigMake,$(1),$(2)))
|
|
$(call RegisterOptionHelp,$(1),$(2),$(3),$(4))
|
|
endef
|
|
|
|
# Write out a kernel-only option
|
|
#
|
|
define KernelConfigC
|
|
$$(shell echo "#define $(if $(2),$(1) $(2),$(1))" >>$(CONFIG_KERNEL_H).new)
|
|
$(if $(filter config,$(D)),$(info KernelConfigC #define $(1) $(2) /* $(if $($(1)),$(origin $(1)),default) */),)
|
|
endef
|
|
|
|
# Write out kernel-only AppHint defaults as specified
|
|
#
|
|
define AppHintConfigC
|
|
ifneq ($$($(1)),)
|
|
$$(eval $$(call KernelConfigC,$(1),$$($(1))))
|
|
else
|
|
$$(eval $$(call KernelConfigC,$(1),$(2)))
|
|
endif
|
|
$(call RegisterOptionHelp,$(1),$(2),$(3),$(4))
|
|
endef
|
|
|
|
# Write out kernel-only AppHint
|
|
# Converts user supplied value to a set of ORed flags or defaults as specified
|
|
#
|
|
define AppHintFlagsConfigC
|
|
ifneq ($$($(1)),)
|
|
$$(eval $$(call ValidateValues,$(1),$(4)))
|
|
_$(1)_FLAGS := $$(subst $$(comma),$$(space),$$($(1)))
|
|
_$(1)_FLAGS := $$(strip $$(foreach group,$$(_$(1)_FLAGS),$(3)$$(group)))
|
|
_$(1)_FLAGS := $$(subst $$(space), | ,$$(_$(1)_FLAGS))
|
|
$$(eval $$(call KernelConfigC,$(1),$$(_$(1)_FLAGS)))
|
|
else
|
|
$$(eval $$(call KernelConfigC,$(1),$(2)))
|
|
endif
|
|
$(call RegisterOptionHelp,$(1),$(2),$(5))
|
|
endef
|
|
|
|
# Conditionally write out a kernel-only option
|
|
#
|
|
define _TunableKernelConfigC
|
|
ifneq ($$($(1)),)
|
|
ifneq ($$($(1)),0)
|
|
ifeq ($$($(1)),1)
|
|
$$(eval $$(call KernelConfigC,$(1),))
|
|
else
|
|
$$(eval $$(call KernelConfigC,$(1),$$($(1))))
|
|
endif
|
|
endif
|
|
else
|
|
ifneq ($(2),)
|
|
ifeq ($(2),1)
|
|
$$(eval $$(call KernelConfigC,$(1),))
|
|
else
|
|
$$(eval $$(call KernelConfigC,$(1),$(2)))
|
|
endif
|
|
endif
|
|
endif
|
|
endef
|
|
|
|
define TunableKernelConfigC
|
|
$$(eval $$(call _TunableKernelConfigC,$(1),$(2)))
|
|
$(call RegisterOptionHelp,$(1),$(2),$(3),$(4))
|
|
endef
|
|
|
|
# delete any previous intermediary files
|
|
$(shell \
|
|
for file in $(CONFIG_KERNEL_H).new $(CONFIG_KERNEL_MK).new ; do \
|
|
rm -f $$file; \
|
|
done)
|