MINESWEEPER_SRCS = $(shell find src/ -name '*.c') MINESWEEPER_OBJS = $(patsubst src/%.c,build/%.o,$(MINESWEEPER_SRCS)) .PHONY: build clean prepare build: prepare build/minesweeper build/minesweeper: $(MINESWEEPER_OBJS) gcc $^ -o $@ prepare: mkdir -p build clean: rm -rf build build/%.o: src/%.c gcc -c -g $< -o $@