all: build test

reset:
	powershell -executionpolicy bypass .\scripts\reset_build.ps1

%.cpp : %.rl
	ragel -o $@ $<

rageldev: ragel
	make test > test.txt
	vim test.txt

ragel:
	ragel -o .\ansi_parser.cpp .\ansi_parser.rl

build: ansi_parser.cpp
	meson compile -j 10 -C builddir

test: build
	./builddir/runtests

run: build test
	powershell "cp ./builddir/roguish.exe ."
	./roguish

clean:
	meson compile --clean -C builddir

debug_test: build
	gdb --nx -x .gdbinit --ex run --args builddir/runtests.exe

debug_run: build
	gdb --nx -x .gdbinit --batch --ex run --ex bt --ex q --args builddir/roguish.exe

cover:
	gcovr --html coverage/index.html  --gcov-ignore-errors=no_working_dir_found --exclude "scratchpad.*" --exclude "subprojects.*" --html-nested coverage/

designer: build
	powershell "cp ./builddir/designer.exe ."
	./designer