From 4bad91fd37032f5df6a55bf3ffd7e89aaa2e468c Mon Sep 17 00:00:00 2001 From: Nick Chambers Date: Sat, 18 Jun 2022 20:12:50 -0500 Subject: [PATCH] Configure the build system --- .gitignore | 3 +++ Makefile | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..be1463f --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin/ +/tmp/ +.DS_Store diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..00a6bcc --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +CFLAGS ?= -Wall -Wextra -g -O1 -fpic +LDFLAGS ?= -g -O1 -shared +GARGOYLE_OBJS := gargoyle + +.PHONY: all gargoyle init docs test clean + +all: gargoyle + +gargoyle: bin/libgargoyle.so + +init: bin + +bin: + mkdir -p -- bin + +bin/libgargoyle.so: $(addprefix bin/,$(addsuffix .o,$(GARGOYLE_OBJS))) + cc $(LDFLAGS) -o $@ $^ + +bin/%.o: src/%.c | init + cc $(CFLAGS) -std=c99 -I include -c -o $@ $< + +docs: + @printf "not implemented yet.\n" >&2 + +test: + @printf "not implemented yet.\n" >&2 + +clean: + rm -rf -- bin/*