summaryrefslogtreecommitdiff
path: root/util/nvmutil/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'util/nvmutil/Makefile')
-rw-r--r--util/nvmutil/Makefile37
1 files changed, 27 insertions, 10 deletions
diff --git a/util/nvmutil/Makefile b/util/nvmutil/Makefile
index 025e87e1..6488ca43 100644
--- a/util/nvmutil/Makefile
+++ b/util/nvmutil/Makefile
@@ -3,25 +3,42 @@
# Copyright (c) 2023 Riku Viitanen <riku.viitanen@protonmail.com>
CC?=cc
-CSTD?=-std=c90
-WERROR?=-Werror
-CWARN?=-Wall -Wextra -pedantic
-COPT?=-Os
-CFLAGS?=$(CWARN) $(CSTD)
+HELLCC?=clang
+
+CFLAGS?=
LDFLAGS?=
DESTDIR?=
PREFIX?=/usr/local
INSTALL?=install
-LDIR?=-I.
-OPTS=$(LDIR) $(COPT) $(WERROR) $(CFLAGS) $(LDFLAGS)
+.SUFFIXES:
+
+# maybe add -I. here when running make
+# e.g. make LDIR=-I.
+LDIR?=
+
+PORTABLE?=$(LDIR) $(CFLAGS)
+WARN?=$(PORTABLE) -Wall -Wextra
+STRICT?=$(WARN) -std=c90 -pedantic -Werror
+HELLFLAGS?=$(STRICT) -Weverything
+# program name
PROG=nvmutil
all: $(PROG)
-$(PROG): nvmutil.c
- $(CC) $(OPTS) nvmutil.c -o $(PROG)
+$(PROG): $(PROG).c
+ $(CC) $(PORTABLE) $(PROG).c -o $(PROG) $(LDFLAGS)
+
+warn: $(PROG).c
+ $(CC) $(WARN) $(PROG).c -o $(PROG) $(LDFLAGS)
+
+strict: $(PROG).c
+ $(CC) $(STRICT) $(PROG).c -o $(PROG) $(LDFLAGS)
+
+# clang-only extreme warnings (not portable)
+hell: $(PROG).c
+ $(HELLCC) $(HELLFLAGS) $(PROG).c -o $(PROG) $(LDFLAGS)
install: $(PROG)
$(INSTALL) -d $(DESTDIR)$(PREFIX)/bin
@@ -36,4 +53,4 @@ clean:
distclean: clean
-.PHONY: all install uninstall clean distclean
+.PHONY: all warn strict hell install uninstall clean distclean