From b5b4a5d66deefa3858bedf7bc58e6c96340e829b Mon Sep 17 00:00:00 2001 From: Jacob Janzen Date: Wed, 14 Feb 2024 12:01:03 -0600 Subject: major refactor --- Makefile | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 6ed373f..61be5b0 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,27 @@ -all: main +CC=clang +SRCDIR=src +BUILDDIR=build +TARGET=$(BUILDDIR)/main -CFLAGS=-g +INCLUDE_PATHS=-Iinclude +LDFLAGS=-lcurses -main: main.c cavegen.o ht.o - $(CC) main.c cavegen.o ht.o -lcurses -o main -D_XOPEN_SOURCE_EXTENDED $(CFLAGS) +SRCS=$(wildcard $(SRCDIR)/*.c) +OBJS=$(patsubst $(SRCDIR)/%.c,$(BUILDDIR)/%.o,$(SRCS)) -cavegen.o: cavegen.c - $(CC) cavegen.c -c -o cavegen.o $(CFLAGS) +all: $(TARGET) -ht.o: ht.c - $(CC) ht.c -c -o ht.o $(CFLAGS) +$(BUILDDIR)/%.o: $(SRCDIR)/%.c + mkdir -p $(BUILDDIR) + $(CC) -c $(CFLAGS) $(INCLUDE_PATHS) $^ -o $@ + +$(BUILDDIR)/main.o: main.c + mkdir -p $(BUILDDIR) + $(CC) -c $(CFLAGS) $(INCLUDE_PATHS) $^ -o $@ + +$(TARGET): $(OBJS) $(BUILDDIR)/main.o + mkdir -p $(BUILDDIR) + $(CC) -o $@ $(LDFLAGS) $^ clean: - rm -rf main cavegen.o + rm -rf $(BUILDDIR) -- cgit v1.2.3