diff options
| author | Gene Pasquet <dev@etenil.net> | 2026-04-05 19:47:05 +0100 |
|---|---|---|
| committer | Gene Pasquet <dev@etenil.net> | 2026-04-05 19:47:05 +0100 |
| commit | 027053b11a3a5d861ed2fa2db245388bd95ac246 (patch) | |
| tree | 84dfd90642bb6d8eb4e0e3fa3a9d651ba29b41e8 /Makefile | |
| parent | 927f37639a3d5a0d881a5c8709f2cf577aadb15e (diff) | |
Progress
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 20 |
1 files changed, 17 insertions, 3 deletions
@@ -1,9 +1,15 @@ .DEFAULT_GOAL := engine # Modules listed in dependency order -MODULE_NAMES := entity tilemap world input physics renderer assets engine +MODULE_NAMES := entity tilemap world input physics renderer assets engine mixer sound animation ai OBJECT_FILES := $(patsubst %,bin/%.o,$(MODULE_NAMES)) +DEMO_NAMES := platformer shmup topdown audio sandbox +DEMO_BINS := $(patsubst %,bin/demo-%,$(DEMO_NAMES)) + +UNIT_NAMES := $(patsubst %,downstroke/%,$(MODULE_NAMES)) +USES_FLAGS := $(patsubst %,-uses %,$(UNIT_NAMES)) + # Build all engine modules engine: $(OBJECT_FILES) @@ -22,6 +28,10 @@ bin/physics.o: bin/entity.o bin/world.o bin/tilemap.o bin/renderer.o: bin/entity.o bin/tilemap.o bin/world.o bin/assets.o: bin/engine.o: bin/renderer.o bin/world.o bin/input.o bin/assets.o +bin/mixer.o: +bin/sound.o: bin/mixer.o +bin/animation.o: bin/entity.o bin/world.o +bin/ai.o: bin/entity.o bin/world.o # Pattern rule: compile each module as a library unit bin/%.o: %.scm | bin downstroke @@ -45,6 +55,10 @@ test: @csi -s tests/renderer-test.scm @csi -s tests/assets-test.scm @csi -s tests/engine-test.scm + @csi -s tests/animation-test.scm + @csi -s tests/ai-test.scm + +demos: engine $(DEMO_BINS) -demos: - @echo "No demos yet." +bin/demo-%: demo/%.scm $(OBJECT_FILES) | bin + csc demo/$*.scm $(OBJECT_FILES) -o bin/demo-$* -I bin $(USES_FLAGS) -L -lSDL2_mixer |
