src := $(wildcard src/*.c) obj := $(src:src/%.c=obj/%.o) headers := $(wildcard include/*.h) CC = gcc CFLAGS = -g -O2 .PHONY: clean lbce: obj $(obj) $(headers) $(CC) -o lbce $(LDFLAGS) $(obj) $(LOADLIBES) $(LDLIBS) obj/%.o: src/%.c $(headers) $(CC) -c -o $@ $(CFLAGS) $< obj: mkdir -p obj clean: rm -r obj rm lbce