aboutsummaryrefslogtreecommitdiff
path: root/lib/Makefile
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2023-01-15 01:13:51 +0100
committerNathan Reiner <nathan@nathanreiner.xyz>2023-01-15 01:13:51 +0100
commit3f79b7bd553a52fca7a098f5195b406ff9970491 (patch)
tree99d0399141e7894219fe7a0deed1ccadb226b9c9 /lib/Makefile
parent919450dc7d965c4067287e1ece3ceafdde8ff5a9 (diff)
add list and static library builder
Diffstat (limited to 'lib/Makefile')
-rw-r--r--lib/Makefile28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/Makefile b/lib/Makefile
new file mode 100644
index 0000000..1e8c5b7
--- /dev/null
+++ b/lib/Makefile
@@ -0,0 +1,28 @@
+C_SRC=$(shell find . -name "*.c")
+ASM_SRC=$(shell find . -name "*.S")
+C_OBJ=$(C_SRC:./%.c=objects/%.o)
+ASM_OBJ=$(ASM_SRC:./%.S=objects/%.o)
+SRC=${C_SRC} ${ASM_SRC}
+OBJ=${C_OBJ} ${ASM_OBJ}
+
+include config.mk
+
+default: slib.a
+
+options:
+ @echo SRC: ${SRC}
+ @echo OBJ: ${OBJ}
+
+objects/%.o: %.c
+ -mkdir -p "$$(dirname $@)"
+ gcc -c $< -o $@ ${CFLAGS}
+
+objects/%.o: %.S
+ -mkdir -p "$$(dirname $@)"
+ gcc -c $< -o $@ ${CFLAGS}
+
+slib.a: ${OBJ}
+ ar rcs slib.a ${OBJ}
+
+clean:
+ rm -r objects slib.a