VERSION := $(shell ./versie.sh) CC := gcc CFLAGS := -Wall -Wextra -std=c2x -O2 -D_GNU_SOURCE -DDRUKKEDOOS_VERSIE=\"$(VERSION)\" LDFLAGS := OBJDIR := obj TARGET := drukkedoos SOURCES := $(shell find src -type f -name '*.c') HEADERS := $(shell find src -type f -name '*.h') OBJECTS := $(patsubst src/%.c,obj/%.o,$(SOURCES)) PROGNAMES_X := $(patsubst src/%.c,X(%),$(wildcard src/*.c)) .PHONY: all clean all: $(TARGET) clean: rm -rf $(OBJDIR) $(TARGET) $(TARGET): main.c $(OBJECTS) $(CC) -o $@ $^ $(LDFLAGS) -DPROGNAMES_XLIST="$(PROGNAMES_X)" $(OBJECTS): obj/%.o: src/%.c $(HEADERS) @mkdir -p $(dir $@) $(CC) $(CFLAGS) -c -o $@ $<