SRC = src/main.c src/helper.c src/io.c src/md2.c OBJ = ${subst src,build,${SRC:.c=.o}} CC = gcc CFLAGS = -Ilib -ggdb LDFLAGS = all: md2 clean: rm -f md2 $(OBJ) help: @echo === Project Build Help === @echo @echo Available targets: @echo - all: build everything @echo - clean: clean distfiles @echo - help: show this help build: mkdir build build/%.o: src/%.c @mkdir -p build ${CC} -c ${CFLAGS} -o $@ $< md2: ${OBJ} ${CC} -o $@ $(OBJ) ${LDFLAGS} .PHONY: all clean help