From dddeaf3f7dc8d30640119e999bbfabf4ce068a68 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 5 Mar 2021 17:44:23 -0500 Subject: 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 --- Cryptlib/Makefile | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) (limited to 'Cryptlib/Makefile') 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 -- cgit v1.2.3