summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/nvmutil/Makefile122
1 files changed, 29 insertions, 93 deletions
diff --git a/util/nvmutil/Makefile b/util/nvmutil/Makefile
index 9d8548b9..ba93d0ef 100644
--- a/util/nvmutil/Makefile
+++ b/util/nvmutil/Makefile
@@ -2,113 +2,49 @@
# Copyright (c) 2022,2026 Leah Rowe <leah@libreboot.org>
# Copyright (c) 2023 Riku Viitanen <riku.viitanen@protonmail.com>
-# Makefile for nvmutil, which is an application
-# that modifies Intel GbE NVM configurations.
-
CC = cc
-HELLCC = clang
-
-CFLAGS =
+CFLAGS = -Os -Wall -Wextra -std=c99 -pedantic
LDFLAGS =
-DESTDIR =
PREFIX = /usr/local
+DESTDIR =
INSTALL = install
-.SUFFIXES: .c .o
-
-LDIR =
-
-PORTABLE = $(LDIR) $(CFLAGS)
-WARN = $(PORTABLE) -Wall -Wextra
-STRICT = $(WARN) -std=c90 -pedantic -Werror
-HELLFLAGS = $(STRICT) -Weverything
-
-PROG = nvmutil
-
-OBJS = \
- obj/nvmutil.o \
- obj/lib/state.o \
- obj/lib/file.o \
- obj/lib/string.o \
- obj/lib/usage.o \
- obj/lib/command.o \
- obj/lib/num.o \
- obj/lib/io.o \
- obj/lib/checksum.o \
- obj/lib/word.o
-
-# default mode
-CFLAGS_MODE = $(PORTABLE)
-CC_MODE = $(CC)
-
-all: $(PROG)
-
-$(PROG): $(OBJS)
- $(CC_MODE) $(OBJS) -o $(PROG) $(LDFLAGS)
-
-# ensure obj directory exists
-$(OBJS): obj
-
-obj:
- mkdir obj || true
- mkdir obj/lib || true
+PROGS = nvmutil
-# main program object
+LIB_OBJS = \
+ lib/state.o \
+ lib/file.o \
+ lib/string.o \
+ lib/usage.o \
+ lib/command.o \
+ lib/num.o \
+ lib/io.o \
+ lib/checksum.o \
+ lib/word.o
-obj/nvmutil.o: nvmutil.c
- $(CC_MODE) $(CFLAGS_MODE) -c nvmutil.c -o obj/nvmutil.o
+OBJS_NVMUTIL = nvmutil.o $(LIB_OBJS)
-# library/helper objects
+all: $(PROGS)
-obj/lib/state.o: lib/state.c
- $(CC_MODE) $(CFLAGS_MODE) -c lib/state.c -o obj/lib/state.o
+nvmutil: $(OBJS_NVMUTIL)
+ $(CC) $(CFLAGS) $(OBJS_NVMUTIL) -o $@ $(LDFLAGS)
-obj/lib/file.o: lib/file.c
- $(CC_MODE) $(CFLAGS_MODE) -c lib/file.c -o obj/lib/file.o
+.c.o:
+ $(CC) $(CFLAGS) -c $< -o $@
-obj/lib/string.o: lib/string.c
- $(CC_MODE) $(CFLAGS_MODE) -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
-
-obj/lib/command.o: lib/command.c
- $(CC_MODE) $(CFLAGS_MODE) -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
-
-obj/lib/io.o: lib/io.c
- $(CC_MODE) $(CFLAGS_MODE) -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
-
-obj/lib/word.o: lib/word.c
- $(CC_MODE) $(CFLAGS_MODE) -c lib/word.c -o obj/lib/word.o
-
-# install
-
-install: $(PROG)
- $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
- $(INSTALL) $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG)
- chmod 755 $(DESTDIR)$(PREFIX)/bin/$(PROG)
+install: $(PROGS)
+ mkdir -p $(DESTDIR)$(PREFIX)/bin
+ for p in $(PROGS); do \
+ $(INSTALL) $$p $(DESTDIR)$(PREFIX)/bin/$$p; \
+ chmod 755 $(DESTDIR)$(PREFIX)/bin/$$p; \
+ done
uninstall:
- rm -f $(DESTDIR)$(PREFIX)/bin/$(PROG)
+ for p in $(PROGS); do \
+ rm -f $(DESTDIR)$(PREFIX)/bin/$$p; \
+ done
clean:
- rm -f $(PROG) $(OBJS)
+ rm -f $(PROGS) *.o lib/*.o
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)"