mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-11 05:52:36 +02:00
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 <leah@libreboot.org>
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
CC = cc
|
CC = cc
|
||||||
HELLCC = clang
|
HELLCC = clang
|
||||||
|
|
||||||
CFLAGS =
|
CFLAGS = -Os -Wall -Wextra -std=c99 -pedantic -Werror
|
||||||
LDFLAGS =
|
LDFLAGS =
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
PREFIX = /usr/local
|
PREFIX = /usr/local
|
||||||
@@ -18,9 +18,6 @@ INSTALL = install
|
|||||||
|
|
||||||
LDIR =
|
LDIR =
|
||||||
|
|
||||||
PORTABLE = $(LDIR) $(CFLAGS)
|
|
||||||
WARN = $(PORTABLE) -Wall -Wextra
|
|
||||||
STRICT = $(WARN) -std=c99 -pedantic -Werror
|
|
||||||
HELLFLAGS = $(STRICT) -Weverything
|
HELLFLAGS = $(STRICT) -Weverything
|
||||||
|
|
||||||
PROG = nvmutil
|
PROG = nvmutil
|
||||||
@@ -58,19 +55,18 @@ OBJS_LOTTERY = \
|
|||||||
obj/lib/rand.o
|
obj/lib/rand.o
|
||||||
|
|
||||||
# default mode
|
# default mode
|
||||||
CFLAGS_MODE = $(PORTABLE)
|
|
||||||
CC_MODE = $(CC)
|
CC_MODE = $(CC)
|
||||||
|
|
||||||
all: $(PROG) $(PROGMKH) $(PROGLOT)
|
all: $(PROG) $(PROGMKH) $(PROGLOT)
|
||||||
|
|
||||||
$(PROG): $(OBJS_NVMUTIL)
|
$(PROG): $(OBJS_NVMUTIL)
|
||||||
$(CC_MODE) $(OBJS_NVMUTIL) -o $(PROG) $(LDFLAGS)
|
$(CC_MODE) $(CFLAGS) $(OBJS_NVMUTIL) -o $(PROG) $(LDFLAGS)
|
||||||
|
|
||||||
$(PROGMKH): $(OBJS_MKHTEMP)
|
$(PROGMKH): $(OBJS_MKHTEMP)
|
||||||
$(CC_MODE) $(OBJS_MKHTEMP) -o $(PROGMKH) $(LDFLAGS)
|
$(CC_MODE) $(CFLAGS) $(OBJS_MKHTEMP) -o $(PROGMKH) $(LDFLAGS)
|
||||||
|
|
||||||
$(PROGLOT): $(OBJS_LOTTERY)
|
$(PROGLOT): $(OBJS_LOTTERY)
|
||||||
$(CC_MODE) $(OBJS_LOTTERY) -o $(PROGLOT) $(LDFLAGS)
|
$(CC_MODE) $(CFLAGS) $(OBJS_LOTTERY) -o $(PROGLOT) $(LDFLAGS)
|
||||||
|
|
||||||
# ensure obj directory exists
|
# ensure obj directory exists
|
||||||
$(OBJS_NVMUTIL): obj
|
$(OBJS_NVMUTIL): obj
|
||||||
@@ -84,48 +80,48 @@ obj:
|
|||||||
# main program object
|
# main program object
|
||||||
|
|
||||||
obj/nvmutil.o: nvmutil.c
|
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
|
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
|
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
|
# library/helper objects
|
||||||
|
|
||||||
obj/lib/state.o: lib/state.c
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
# install
|
||||||
|
|
||||||
@@ -151,11 +147,5 @@ distclean: clean
|
|||||||
|
|
||||||
# mode targets (portable replacement for ifeq)
|
# mode targets (portable replacement for ifeq)
|
||||||
|
|
||||||
warn:
|
|
||||||
$(MAKE) CFLAGS_MODE="$(WARN)"
|
|
||||||
|
|
||||||
strict:
|
strict:
|
||||||
$(MAKE) CFLAGS_MODE="$(STRICT)"
|
$(MAKE) CFLAGS="$(HELLFLAGS)" CC_MODE="$(HELLCC)"
|
||||||
|
|
||||||
hell:
|
|
||||||
$(MAKE) CFLAGS_MODE="$(HELLFLAGS)" CC_MODE="$(HELLCC)"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user