From 027053b11a3a5d861ed2fa2db245388bd95ac246 Mon Sep 17 00:00:00 2001 From: Gene Pasquet Date: Sun, 5 Apr 2026 19:47:05 +0100 Subject: Progress --- Makefile | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d43d192..161352c 100644 --- a/Makefile +++ b/Makefile @@ -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 -- cgit v1.2.3