summaryrefslogtreecommitdiff
path: root/src/makefile
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2025-05-29 20:10:01 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2025-05-29 20:10:01 -0400
commit5b05099d44ae6ac962be108f4c0da7493a9305c7 (patch)
tree1b796b3ff1491e83f26c9ba09fd6c48feac7c994 /src/makefile
Initial CommitHEADmain
Diffstat (limited to 'src/makefile')
-rw-r--r--src/makefile29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/makefile b/src/makefile
new file mode 100644
index 0000000..ce91b59
--- /dev/null
+++ b/src/makefile
@@ -0,0 +1,29 @@
+CC = gcc-14
+CFLAGS = -Wall \
+ -Werror \
+ -Wextra \
+ -Wpedantic \
+ -std=c17
+SOURCE_DIR = .
+SOURCES = hello.c io.c
+OBJECT_DIR = object
+OBJECTS = $(SOURCES:%.c=$(OBJECT_DIR)/%.o)
+TARGET = hello
+
+all: $(TARGET)
+
+debug: CFLAGS += -g -O0
+debug: $(TARGET)
+
+clean:
+ rm -rf $(TARGET) $(OBJECT_DIR)
+
+$(TARGET): $(OBJECTS) | $(BIN_DIR)
+ $(CC) $(CFLAGS) -o $@ $^
+
+$(OBJECT_DIR)/%.o: %.c | $(OBJECT_DIR)
+ $(CC) $(CFLAGS) -c $^ -o $@
+
+$(OBJECT_DIR) $(BIN_DIR):
+ mkdir $@
+