31 lines
548 B
Makefile
31 lines
548 B
Makefile
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 $@
|