diff options
Diffstat (limited to 'Makefile.include')
-rw-r--r-- | Makefile.include | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Makefile.include b/Makefile.include new file mode 100644 index 000000000..5f81ccc9d --- /dev/null +++ b/Makefile.include @@ -0,0 +1,65 @@ +# +# This file is part of the flashrom project. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +# Here are functions and macros defined for the Makefile + +define mark_unsupported +$(foreach p,$1, \ + $(if $(filter $($(p)),yes), \ + $(eval UNSUPPORTED_FEATURES += $(p)=yes), \ + $(eval override $(p) := no))) +endef + +define filter_deps +$(strip $(foreach p,$1, \ + $(if $(filter $($(p)),yes), \ + $(p)))) +endef + +define disable_all +$(foreach p,$1, \ + $(eval override $(p) := no)) +endef + +# Run the C Preprocessor with file $1 and return the last line, removing quotes. +define c_macro_test +$(strip $(call debug_shell, $(CC) -E $1 | tail -1 | tr -d '"')) +endef + +define c_compile_test # $1: files to compile, $2: cflags +$(call debug_shell, $(CC) -c -Wall -Werror $2 $1 -o /dev/null && echo yes || echo no) +endef + +define c_link_test # $1: file to compile and link, $2: cflags, $3: ldflags +$(call debug_shell, $(CC) -Wall -Werror $2 $1 $3 -o /dev/null && echo yes || echo no) +endef + +define find_dependency +$(call debug_shell, $(if $(PKG_CONFIG_LIBDIR),PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR),) $(PKG_CONFIG) --exists $1 && echo yes || echo no) +endef + +define dependency_version +$(call debug_shell, $(if $(PKG_CONFIG_LIBDIR),PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR),) $(PKG_CONFIG) --modversion $1 2>/dev/null) +endef + +define has_dependency # $1: dependency, $2: action/target +$(if $(findstring $(strip $1),yes), $(strip $2)) +endef + +define dependency_cflags +$(call debug_shell, $(if $(PKG_CONFIG_LIBDIR),PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR),) $(PKG_CONFIG) --cflags $1 2>/dev/null) +endef + +define dependency_ldflags +$(call debug_shell, $(if $(PKG_CONFIG_LIBDIR),PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR),) $(PKG_CONFIG) --libs --static $1 2>/dev/null) +endef |