CC = gcc CCFLAGS = -O3 LD = ld HANGMAN_C_SRCS = $(shell find src/ -name '*.c') HANGMAN_RES = $(shell find res/ -name '*.dat') HANGMAN_OBJS = $(patsubst src/%.c,build/%.o,$(HANGMAN_C_SRCS)) $(patsubst res/%.dat,build/%.p,$(HANGMAN_RES)) .PHONY: all clean cleanbuild prepare all: prepare build/hangman ./build/hangman cleanbuild: clean prepare all clean: rm -r build prepare: mkdir -p build build/hangman: $(HANGMAN_OBJS) $(CC) $^ -o $@ build/%.o: src/%.c $(CC) $(CCFLAGS) -c $< -o $@ build/%.o: res/%.dat $(LD) -r -b binary $< -o $@