From d100ea1d2f76c6acf30f0d9a68304599aa72c3e2 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Wed, 1 Apr 2026 10:08:19 +0100 Subject: libreboot-utils: always use strict cc flags otherwise, i will end up with a mess like the one i recently fixed. we always want to use correct C. the current spec is set to c99, with -pedantic turned on. flags now: -Os -Wall -Wextra -std=c99 -pedantic -Werror if you do: make hell, you get (uses clang): -Os -Wall -Wextra -std=c99 -pedantic -Werror -Weverything i initially loosened up the Makefile rules, so that the code would be more "portable", but every compiler worth caring about has these flags, and turning them on is advisable, especially pedantic and -std, because you want to have some guarantee that the compiler is generating correct code; if the standard is left ambiguous, you could be introducing subtle bugs when people compile it, because who knows what spec the compiler is using? Signed-off-by: Leah Rowe --- util/libreboot-utils/Makefile | 48 +++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 29 deletions(-) (limited to 'util') diff --git a/util/libreboot-utils/Makefile b/util/libreboot-utils/Makefile index 07b3a727..3fa9fd0e 100644 --- a/util/libreboot-utils/Makefile +++ b/util/libreboot-utils/Makefile @@ -8,7 +8,7 @@ CC = cc HELLCC = clang -CFLAGS = +CFLAGS = -Os -Wall -Wextra -std=c99 -pedantic -Werror LDFLAGS = DESTDIR = PREFIX = /usr/local @@ -18,9 +18,6 @@ INSTALL = install LDIR = -PORTABLE = $(LDIR) $(CFLAGS) -WARN = $(PORTABLE) -Wall -Wextra -STRICT = $(WARN) -std=c99 -pedantic -Werror HELLFLAGS = $(STRICT) -Weverything PROG = nvmutil @@ -58,19 +55,18 @@ OBJS_LOTTERY = \ obj/lib/rand.o # default mode -CFLAGS_MODE = $(PORTABLE) CC_MODE = $(CC) all: $(PROG) $(PROGMKH) $(PROGLOT) $(PROG): $(OBJS_NVMUTIL) - $(CC_MODE) $(OBJS_NVMUTIL) -o $(PROG) $(LDFLAGS) + $(CC_MODE) $(CFLAGS) $(OBJS_NVMUTIL) -o $(PROG) $(LDFLAGS) $(PROGMKH): $(OBJS_MKHTEMP) - $(CC_MODE) $(OBJS_MKHTEMP) -o $(PROGMKH) $(LDFLAGS) + $(CC_MODE) $(CFLAGS) $(OBJS_MKHTEMP) -o $(PROGMKH) $(LDFLAGS) $(PROGLOT): $(OBJS_LOTTERY) - $(CC_MODE) $(OBJS_LOTTERY) -o $(PROGLOT) $(LDFLAGS) + $(CC_MODE) $(CFLAGS) $(OBJS_LOTTERY) -o $(PROGLOT) $(LDFLAGS) # ensure obj directory exists $(OBJS_NVMUTIL): obj @@ -84,48 +80,48 @@ obj: # main program object obj/nvmutil.o: nvmutil.c - $(CC_MODE) $(CFLAGS_MODE) -c nvmutil.c -o obj/nvmutil.o + $(CC_MODE) $(CFLAGS) -c nvmutil.c -o obj/nvmutil.o obj/mkhtemp.o: mkhtemp.c - $(CC_MODE) $(CFLAGS_MODE) -c mkhtemp.c -o obj/mkhtemp.o + $(CC_MODE) $(CFLAGS) -c mkhtemp.c -o obj/mkhtemp.o obj/lottery.o: lottery.c - $(CC_MODE) $(CFLAGS_MODE) -c lottery.c -o obj/lottery.o + $(CC_MODE) $(CFLAGS) -c lottery.c -o obj/lottery.o # library/helper objects obj/lib/state.o: lib/state.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/state.c -o obj/lib/state.o + $(CC_MODE) $(CFLAGS) -c lib/state.c -o obj/lib/state.o obj/lib/file.o: lib/file.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/file.c -o obj/lib/file.o + $(CC_MODE) $(CFLAGS) -c lib/file.c -o obj/lib/file.o obj/lib/string.o: lib/string.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/string.c -o obj/lib/string.o + $(CC_MODE) $(CFLAGS) -c lib/string.c -o obj/lib/string.o obj/lib/usage.o: lib/usage.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/usage.c -o obj/lib/usage.o + $(CC_MODE) $(CFLAGS) -c lib/usage.c -o obj/lib/usage.o obj/lib/command.o: lib/command.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/command.c -o obj/lib/command.o + $(CC_MODE) $(CFLAGS) -c lib/command.c -o obj/lib/command.o obj/lib/num.o: lib/num.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/num.c -o obj/lib/num.o + $(CC_MODE) $(CFLAGS) -c lib/num.c -o obj/lib/num.o obj/lib/io.o: lib/io.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/io.c -o obj/lib/io.o + $(CC_MODE) $(CFLAGS) -c lib/io.c -o obj/lib/io.o obj/lib/checksum.o: lib/checksum.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/checksum.c -o obj/lib/checksum.o + $(CC_MODE) $(CFLAGS) -c lib/checksum.c -o obj/lib/checksum.o obj/lib/word.o: lib/word.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/word.c -o obj/lib/word.o + $(CC_MODE) $(CFLAGS) -c lib/word.c -o obj/lib/word.o obj/lib/mkhtemp.o: lib/mkhtemp.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/mkhtemp.c -o obj/lib/mkhtemp.o + $(CC_MODE) $(CFLAGS) -c lib/mkhtemp.c -o obj/lib/mkhtemp.o obj/lib/rand.o: lib/rand.c - $(CC_MODE) $(CFLAGS_MODE) -c lib/rand.c -o obj/lib/rand.o + $(CC_MODE) $(CFLAGS) -c lib/rand.c -o obj/lib/rand.o # install @@ -151,11 +147,5 @@ distclean: clean # mode targets (portable replacement for ifeq) -warn: - $(MAKE) CFLAGS_MODE="$(WARN)" - strict: - $(MAKE) CFLAGS_MODE="$(STRICT)" - -hell: - $(MAKE) CFLAGS_MODE="$(HELLFLAGS)" CC_MODE="$(HELLCC)" + $(MAKE) CFLAGS="$(HELLFLAGS)" CC_MODE="$(HELLCC)" -- cgit v1.2.1