diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -2,19 +2,22 @@ CC := gcc CFLAGS := -Wall -Wextra -std=c11 -O2 LDFLAGS := -BINDIR := bin +OBJDIR := obj +TARGET := drukkedoos -SOURCES := $(wildcard src/*.c) -HEADERS := $(wildcard src/*.h) -TARGETS := $(patsubst src/%.c,$(BINDIR)/%,$(SOURCES)) +SOURCES := $(shell find src -type f -name '*.c') +HEADERS := $(shell find src -type f -name '*.h') +OBJECTS := $(patsubst src/%.c,obj/%.o,$(SOURCES)) .PHONY: all clean -all: $(TARGETS) +all: $(TARGET) clean: - find $(BINDIR) -maxdepth 1 -type f -delete + rm -rf $(OBJDIR) $(TARGET) -$(TARGETS): bin/%: src/%.c $(HEADERS) - @mkdir -p $(dir $@) - $(CC) $(CFLAGS) -o $@ $< +$(TARGET): main.c $(OBJECTS) + $(CC) -o $@ $^ $(LDFLAGS) + +$(OBJECTS): obj/%.o: src/%.c $(HEADERS) + $(CC) $(CFLAGS) -c -o $@ $< |