modules = \ modules/game-core.scm \ modules/ces/component/inputs.scm \ modules/ces/component/player.scm \ modules/ces/component/position.scm \ modules/ces/component/velocity.scm \ modules/ces/component/sprite.scm \ modules/ces/component.scm \ modules/ces/entity.scm \ modules/ces/entity-manager.scm \ modules/ces/system-manager.scm \ modules/ces/system.scm \ modules/ces/system/keyboard-reader.scm \ modules/dom/canvas.scm \ modules/dom/console.scm \ modules/dom/document.scm \ modules/dom/element.scm \ modules/dom/event.scm \ modules/dom/image.scm \ modules/dom/media.scm \ modules/dom/window.scm \ modules/math.scm \ modules/math/rect.scm \ modules/math/vector.scm game.wasm: game.scm $(modules) guild compile-wasm -L modules -o $@ $< serve: game.wasm guile -c '((@ (hoot web-server) serve))' bundle: game.wasm rm game.zip || true zip game.zip -r assets/ js-runtime/ game.js game.css game.wasm index.html clean: rm -f game.wasm game.zip