aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorEmil Williams2026-02-18 01:24:57 +0000
committerEmil Williams2026-02-18 01:24:57 +0000
commit8035daa04137c5412050a2f30e6748db256a576b (patch)
tree379fef43cc5182b21328eed19ccfdf15c8e96648 /Makefile
parent959be89c2083ac9f6e12549616e636e54916e007 (diff)
downloadlibchad-8035daa04137c5412050a2f30e6748db256a576b.tar.xz
libchad-8035daa04137c5412050a2f30e6748db256a576b.tar.zst
better Makefile
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile25
1 files changed, 21 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index b07c89c..4cc9599 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,25 @@
-CFLAGS := -std=c23
-SOURCE := $(wildcard chad/*.c extern/*.c)
+CFLAGS := -std=c23 -fPIC
+CPPFLAGS := -Ichad
+SOURCE.orig := $(wildcard extern/*.c)
+SOURCE := $(SOURCE.orig:extern/%=%)
+OBJECT := $(addprefix object/,$(SOURCE:.c=.o))
-so:
- ${CC} ${CFLAGS} -fPIC -shared ${SOURCE} -o object/libchad.so
+vpath %.c extern
+
+object/%.o: %.c
+ @echo "CC $<"
+ @${COMPILE.c} -o $@ $<
+
+.PHONY: all
+all: object/libchad.a object/libchad.so
+
+object/libchad.a: ${OBJECT}
+ @echo "AR $<"
+ @ar rcs $@ $+
+
+object/libchad.so: ${OBJECT}
+ @echo "SO $<"
+ @${CC} ${CFLAGS} ${CPPFLAGS} -shared $+ -o $@
dist:
-mkdir object/chad/ 2> /dev/null