72 lines
3.4 KiB
Makefile
72 lines
3.4 KiB
Makefile
########################################################################### ###
|
|
#@Title Module processing
|
|
#@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.
|
|
### ###########################################################################
|
|
|
|
# Bits for processing $(modules) after reading in each Linux.mk
|
|
|
|
#$(info ---- $(modules) ----)
|
|
|
|
$(foreach _m,$(modules),$(if $(filter $(_m),$(ALL_MODULES)),$(error In makefile $(THIS_MAKEFILE): Duplicate module $(_m) (first seen in $(INTERNAL_MAKEFILE_FOR_MODULE_$(_m))) listed in $$(modules)),$(eval $(call register-module,$(_m)))))
|
|
|
|
_doc_modules :=
|
|
_other_modules :=
|
|
|
|
$(foreach _m,$(modules),\
|
|
$(if $(filter $(doc_types),$($(_m)_type)),\
|
|
$(eval _doc_modules += $(_m)),$(eval _other_modules += $(_m))))
|
|
|
|
# Strip leading space added when appending to an existing variable and sort the
|
|
# result for nicer output.
|
|
#
|
|
_doc_modules := $(sort $(strip $(_doc_modules)))
|
|
_other_modules := $(sort $(strip $(_other_modules)))
|
|
|
|
ifneq ($(_doc_modules),)
|
|
ifneq ($(_other_modules),)
|
|
$(error In makefile $(THIS_MAKEFILE): Document modules cannot be defined in the same file as other module types. \
|
|
$(newline)$(newline)Document modules:$(newline) \
|
|
$(subst $(space),$(newline)$(space),$(_doc_modules)) \
|
|
$(newline)$(newline)Other modules:$(newline) \
|
|
$(subst $(space),$(newline)$(space),$(_other_modules)))
|
|
endif
|
|
endif
|
|
|
|
ALL_MODULES += $(modules)
|