diff options
| author | Peter Jones <pjones@redhat.com> | 2021-03-05 17:44:23 -0500 |
|---|---|---|
| committer | Jan Setje-Eilers <73182357+jsetje@users.noreply.github.com> | 2021-03-09 13:52:53 -0800 |
| commit | dddeaf3f7dc8d30640119e999bbfabf4ce068a68 (patch) | |
| tree | 86b4dcc57edec71a7384042b62bf2ad86fc254e7 /Make.rules | |
| parent | bb6dece33c39bd332f3b7e84b851dd7c306b360d (diff) | |
| download | efi-boot-shim-dddeaf3f7dc8d30640119e999bbfabf4ce068a68.tar.gz efi-boot-shim-dddeaf3f7dc8d30640119e999bbfabf4ce068a68.zip | |
Re-organize a bunch of CFLAGS-related makefile bits
Some of our makefile bits are a mess, as you may have noticed, making
changes to them difficult to review.
This patch attempts to make some parts of them vaguely less of a mess,
in order to facilitate review of follow-up changes. To so it:
- coalesces feature flags, optimizations, -W{no-,}, -W{no-}error,
include directives, and define/undefine directives into (mostly)
separate groups.
- exports them as appropriate so the sub-makes can use them
- Makes sure we have -Wextra -Werror everywhere, but adds -Wno-foo and
-Wno-error=foo directives at the appropriate places to keep the net
warnings the same.
- makes the arch defines in Cryptlib and Cryptlib/OpenSSL use the
appropriate ones, with no attempt to make them less stupid, without
changing the overall order.
- coalesces the various includes, with no attempt to make them less
stupid, without changing the overall order.
- One giant glaring whitespace fix in Cryptlib/OpenSSL/Makefile
Signed-off-by: Peter Jones <pjones@redhat.com>
Diffstat (limited to 'Make.rules')
| -rw-r--r-- | Make.rules | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -6,3 +6,33 @@ define add-vendor-sbat $(OBJCOPY) --add-section ".$(patsubst %.csv,%,$(1))=$(1)" $(2) endef + +# true if the strings are the same +define str-eq +$(if $(subst $(1),,$(2)),,$(1)) +endef + +# true if 1 is in 2 +define has-flag +$(if $(findstring $(space)$(1)$(space),$(space)$(2)$(space)),$(1)) +endef + +# true if 1 is not in 2 +define has-not-flag +$(if $(call has-flag,$(1),$(2)),,$(1)) +endef + +# if 1 is set and 2 isn't in the thing named by 3, +# add 4 to the thing named by 3 +define conditional-add-flag +$(if $(and $(strip $(1)),$(strip $(call has-not-flag,$(2),$($(3))))),$(eval override $(value 3) += $(4))) +endef + +# Add everything from DEFAULT_$(1) to $(1) if it isn't there (in whole) +define update-variable +$(strip $(foreach x,$(DEFAULT_$(1)), + $(if $(call has-flag,$(x),$($(1))),, + $(eval override $(1)+=$(x))))) +endef + +# vim:filetype=make |
