CC=gcc -c
LD=gcc

all: build tetris

build:
	mkdir -p build

build/engine.o: engine.c engine.h
	${CC} -g -o build/engine.o engine.c

build/display.o: display.c display.h const.h
	${CC} -g -o build/display.o display.c

build/util.o: util.c util.h const.h
	${CC} -g -o build/util.o util.c

build/tetris.o: tetris.c engine.h display.h util.h const.h
	${CC} -g -o build/tetris.o tetris.c

tetris: build/engine.o build/display.o build/util.o build/tetris.o
	${LD} build/engine.o build/display.o build/util.o build/tetris.o -lncurses -lm -g -o tetris

pack:
	rm -f tetris.zip
	mkdir -p tetris_dist
	cp *.c tetris_dist
	cp *.h tetris_dist
	cp pieces.txt tetris_dist/
	rm tetris_dist/engine_vanilla.c
	cp Makefile tetris_dist
	zip -r tetris.zip tetris_dist/
	rm -rf tetris_dist

pack_vanilla:
	rm -f tetris_vanilla.zip
	mkdir -p tetris_vanilla
	cp *.c tetris_vanilla/
	mv tetris_vanilla/engine_vanilla.c tetris_vanilla/engine.c
	cp *.h tetris_vanilla/
	cp pieces.txt tetris_vanilla/
	cp Makefile tetris_vanilla/
	zip -r tetris_vanilla.zip tetris_vanilla/
	rm -rf tetris_vanilla

clean:
	rm -rf tetris.zip tetris_vanilla.zip build tetris_dist tetris_vanilla 
