summaryrefslogtreecommitdiff
path: root/corebinutils/chflags/GNUmakefile
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:23:27 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:23:27 +0300
commitccef0af007fdeea4d0bcc3c182629d580f05892b (patch)
tree398228e55fbc4eed7e5dc62562bb4e53cc09d431 /corebinutils/chflags/GNUmakefile
parentd857ba85ce6b1c2b1309df6f39a5a2a57aa335de (diff)
parente9b78def2f086a356ec092a7f9af1e1613749efe (diff)
downloadProject-Tick-ccef0af007fdeea4d0bcc3c182629d580f05892b.tar.gz
Project-Tick-ccef0af007fdeea4d0bcc3c182629d580f05892b.zip
Add 'corebinutils/chflags/' from commit 'e9b78def2f086a356ec092a7f9af1e1613749efe'
git-subtree-dir: corebinutils/chflags git-subtree-mainline: d857ba85ce6b1c2b1309df6f39a5a2a57aa335de git-subtree-split: e9b78def2f086a356ec092a7f9af1e1613749efe
Diffstat (limited to 'corebinutils/chflags/GNUmakefile')
-rw-r--r--corebinutils/chflags/GNUmakefile41
1 files changed, 41 insertions, 0 deletions
diff --git a/corebinutils/chflags/GNUmakefile b/corebinutils/chflags/GNUmakefile
new file mode 100644
index 0000000000..e0240633ff
--- /dev/null
+++ b/corebinutils/chflags/GNUmakefile
@@ -0,0 +1,41 @@
+.DEFAULT_GOAL := all
+
+CC ?= cc
+CPPFLAGS += -D_GNU_SOURCE -I$(CURDIR)
+CFLAGS ?= -O2
+CFLAGS += -g -Wall -Wextra -Wno-unused-parameter
+LDFLAGS ?=
+LDLIBS ?=
+
+OBJDIR := $(CURDIR)/build
+OUTDIR := $(CURDIR)/out
+TARGET := $(OUTDIR)/chflags
+OBJS := $(OBJDIR)/chflags.o $(OBJDIR)/flags.o $(OBJDIR)/fts.o
+
+.PHONY: all clean dirs test status
+
+all: $(TARGET)
+
+dirs:
+ @mkdir -p "$(OBJDIR)" "$(OUTDIR)"
+
+$(TARGET): $(OBJS) | dirs
+ $(CC) $(LDFLAGS) -o "$@" $(OBJS) $(LDLIBS)
+
+$(OBJDIR)/chflags.o: $(CURDIR)/chflags.c $(CURDIR)/flags.h $(CURDIR)/fts.h | dirs
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c "$(CURDIR)/chflags.c" -o "$@"
+
+$(OBJDIR)/flags.o: $(CURDIR)/flags.c $(CURDIR)/flags.h | dirs
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c "$(CURDIR)/flags.c" -o "$@"
+
+$(OBJDIR)/fts.o: $(CURDIR)/fts.c $(CURDIR)/fts.h | dirs
+ $(CC) $(CPPFLAGS) $(CFLAGS) -c "$(CURDIR)/fts.c" -o "$@"
+
+test: $(TARGET)
+ CHFLAGS_BIN="$(TARGET)" sh "$(CURDIR)/tests/test.sh"
+
+status:
+ @printf '%s\n' "$(TARGET)"
+
+clean:
+ @rm -rf "$(CURDIR)/build" "$(CURDIR)/out"