ROOT_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) all: build reset: ifeq '$(OS)' 'Windows_NT' powershell -executionpolicy bypass .\scripts\reset_build.ps1 else sh -x ./scripts/reset_build.sh endif shaders: glslangValidator -V gradient.comp -o gradient.comp.spv %.cpp : %.rl ragel -I $(ROOT_DIR) -G1 -o $@ $< %.dot: %.rl ragel -Vp -I $(ROOT_DIR) -o $@ $< %.png: %.dot dot -Tpng $< -o $@ build: meson compile -j 10 -C $(ROOT_DIR)/builddir release_build: meson --wipe builddir -Db_ndebug=true --buildtype release meson compile -j 10 -C builddir debug_build: meson setup --wipe builddir -Db_ndebug=true --buildtype debugoptimized meson compile -j 10 -C builddir run: build ifeq '$(OS)' 'Windows_NT' powershell "cp ./builddir/hellovulk.exe ." ./hellovulk else ./builddir/hellovulk endif debug: build gdb --nx -x .gdbinit --ex run --args builddir/hellovulk debug_run: build gdb --nx -x .gdbinit --batch --ex run --ex bt --ex q --args builddir/hellovulk clean: meson compile --clean -C builddir debug_test: build gdb --nx -x .gdbinit --ex run --ex bt --ex q --args builddir/runtests -e "[pathing]" money: scc --exclude-dir subprojects