summaryrefslogtreecommitdiff
path: root/corebinutils/kill/GNUmakefile
diff options
context:
space:
mode:
Diffstat (limited to 'corebinutils/kill/GNUmakefile')
-rw-r--r--corebinutils/kill/GNUmakefile36
1 files changed, 36 insertions, 0 deletions
diff --git a/corebinutils/kill/GNUmakefile b/corebinutils/kill/GNUmakefile
new file mode 100644
index 0000000000..5a4aa4ebed
--- /dev/null
+++ b/corebinutils/kill/GNUmakefile
@@ -0,0 +1,36 @@
+.DEFAULT_GOAL := all
+
+CC ?= cc
+CPPFLAGS ?=
+CPPFLAGS += -D_POSIX_C_SOURCE=200809L
+CFLAGS ?= -O2
+CFLAGS += -std=c17 -g -Wall -Wextra -Werror
+LDFLAGS ?=
+LDLIBS ?=
+
+OBJDIR := $(CURDIR)/build
+OUTDIR := $(CURDIR)/out
+TARGET := $(OUTDIR)/kill
+OBJS := $(OBJDIR)/kill.o
+
+.PHONY: all clean dirs status test
+
+all: $(TARGET)
+
+dirs:
+ @mkdir -p "$(OBJDIR)" "$(OUTDIR)"
+
+$(TARGET): $(OBJS) | dirs
+ $(CC) $(LDFLAGS) -o "$@" $(OBJS) $(LDLIBS)
+
+$(OBJDIR)/kill.o: $(CURDIR)/kill.c | dirs
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c "$(CURDIR)/kill.c" -o "$@"
+
+test: $(TARGET)
+ CC="$(CC)" KILL_BIN="$(TARGET)" sh "$(CURDIR)/tests/test.sh"
+
+status:
+ @printf '%s\n' "$(TARGET)"
+
+clean:
+ @rm -rf "$(OBJDIR)" "$(OUTDIR)"