summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authordaniel <daniel@planethacker.net>2025-05-06 16:57:32 -0700
committerdaniel <daniel@planethacker.net>2025-05-06 16:57:32 -0700
commit2278df1493e064c197913e49b5d1935942d83448 (patch)
tree42f06ab2f76e2ddf228bafbb03f79621975a4534 /Makefile
initial import
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile56
1 files changed, 56 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..9c41967
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,56 @@
+CC ?= gcc
+CFLAGS += -g -Wall -Iinclude
+LFLAGS += -static
+#LFLAGS +=
+LIBS =
+
+SRC_DIR = src
+BUILD_DIR = build
+MD5_DIR = src/md5
+
+SRC_FILES = $(wildcard $(SRC_DIR)/*.c)
+OFILES = $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(SRC_FILES))
+MD5_OBJ = $(MD5_DIR)/md5c.o
+
+TEST_DIR = test
+TEST_SRC_FILES = $(wildcard $(TEST_DIR)/*.c)
+TEST_OFILES = $(patsubst $(TEST_DIR)/%.c, $(BUILD_DIR)/%.o, $(TEST_SRC_FILES))
+TEST_BINARIES = $(patsubst $(TEST_DIR)/%.c, $(BUILD_DIR)/%, $(TEST_SRC_FILES))
+
+all: noawareness test
+
+$(BUILD_DIR):
+ mkdir -p $(BUILD_DIR)
+
+$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c include/*.h | $(BUILD_DIR)
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+$(MD5_OBJ): $(MD5_DIR)/md5c.c $(MD5_DIR)/md5.h
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+noawareness: $(OFILES) $(MD5_OBJ)
+ $(CC) $(CFLAGS) $(LFLAGS) $(OFILES) $(MD5_OBJ) -o $@ $(LIBS)
+
+
+
+$(BUILD_DIR)/test-endswith: $(TEST_DIR)/test-endswith.c $(BUILD_DIR)/string.o
+ $(CC) $(CFLAGS) $^ -o $@
+
+$(BUILD_DIR)/test-sha256: $(TEST_DIR)/test-sha256.c $(BUILD_DIR)/sha256.o
+ $(CC) $(CFLAGS) $^ -o $@
+
+$(BUILD_DIR)/test-parse_dns_udp: $(TEST_DIR)/test-parse_dns_udp.c $(BUILD_DIR)/dns.o
+ $(CC) $(CFLAGS) $^ -o $@
+
+$(BUILD_DIR)/test-parse_dns_udp-multi: $(TEST_DIR)/test-parse_dns_udp-multi.c $(BUILD_DIR)/dns.o
+ $(CC) $(CFLAGS) $^ -o $@
+
+test: $(TEST_BINARIES)
+ @echo "Running tests..."
+ @for test in $(TEST_BINARIES); do \
+ echo "Running $$test..."; \
+ $$test; \
+ done
+
+clean:
+ rm -rf $(BUILD_DIR)/* $(MD5_OBJ) noawareness *~