summaryrefslogtreecommitdiff
path: root/Cryptlib/Makefile
diff options
context:
space:
mode:
authorPeter Jones <pjones@redhat.com>2021-03-05 17:44:23 -0500
committerJan Setje-Eilers <73182357+jsetje@users.noreply.github.com>2021-03-09 13:52:53 -0800
commitdddeaf3f7dc8d30640119e999bbfabf4ce068a68 (patch)
tree86b4dcc57edec71a7384042b62bf2ad86fc254e7 /Cryptlib/Makefile
parentbb6dece33c39bd332f3b7e84b851dd7c306b360d (diff)
downloadefi-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 'Cryptlib/Makefile')
-rw-r--r--Cryptlib/Makefile25
1 files changed, 15 insertions, 10 deletions
diff --git a/Cryptlib/Makefile b/Cryptlib/Makefile
index 18a33b19..5bae10c9 100644
--- a/Cryptlib/Makefile
+++ b/Cryptlib/Makefile
@@ -1,27 +1,32 @@
-EFI_INCLUDES = -I$(TOPDIR)/Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
+INCLUDES = -I$(TOPDIR) -iquote $(TOPDIR) -I$(TOPDIR)/Include \
+ $(EFI_INCLUDES) -I$(shell $(CC) -print-file-name=include)
-CFLAGS = -ggdb $(OPTIMIZATIONS) -I$(TOPDIR) -iquote $(TOPDIR) -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \
- -Wall $(EFI_INCLUDES) -std=gnu89 \
- -ffreestanding -I$(shell $(CC) -print-file-name=include)
+CFLAGS = $(FEATUREFLAGS) \
+ $(OPTIMIZATIONS) \
+ $(WARNFLAGS) \
+ $(WERRFLAGS) \
+ $(INCLUDES) \
+ $(DEFINES)
CLANG_BUGS = $(if $(findstring gcc,$(CC)),-maccumulate-outgoing-args,)
ifeq ($(ARCH),x86_64)
- CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc $(CLANG_BUGS) \
- -m64 -DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI \
+FEATUREFLAGS += -m64 -mno-mmx -mno-sse -mno-red-zone -nostdinc $(CLANG_BUGS)
+DEFINES += -DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI \
-DNO_BUILTIN_VA_FUNCS -DMDE_CPU_X64
endif
ifeq ($(ARCH),ia32)
- CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc \
- $(CLANG_BUGS) -m32 -DMDE_CPU_IA32
+FEATUREFLAGS += -m32 -mno-mmx -mno-sse -mno-red-zone -nostdinc $(CLANG_BUGS)
+DEFINES += -DMDE_CPU_IA32
endif
ifeq ($(ARCH),aarch64)
- CFLAGS += -DMDE_CPU_AARCH64
+DEFINES += -DMDE_CPU_AARCH64
endif
ifeq ($(ARCH),arm)
- CFLAGS += -DMDE_CPU_ARM
+DEFINES += -DMDE_CPU_ARM
endif
+
LDFLAGS = -nostdlib -znocombreloc
TARGET = libcryptlib.a