simplify build and copy assets to build dir

Sat, 26 Jul 2025 21:13:05 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 26 Jul 2025 21:13:05 +0200
changeset 227
a5775e8dbc13
parent 226
18327d2df79d
child 228
ecda73508be6

simplify build and copy assets to build dir

demo programs can then be run directly from the build dir

Makefile file | annotate | diff | comparison | revisions
src/Makefile file | annotate | diff | comparison | revisions
test/snake/snake.c file | annotate | diff | comparison | revisions
--- a/Makefile	Fri Jul 25 19:19:54 2025 +0200
+++ b/Makefile	Sat Jul 26 21:13:05 2025 +0200
@@ -23,40 +23,19 @@
 # POSSIBILITY OF SUCH DAMAGE.
 #
 
-all: build/lib/libascension.a \
-	build-snake
-
-build-snake: build/test/snake-test FORCE
+DEMO_GAMES_DIR=build/test
 
-deploy-snake: build/test/snake FORCE
-	@mkdir -p dist/snake
-	@cp -Rf shader dist/snake/
-	@cp -Rf fonts dist/snake/
-	@cp -Rf test/snake/textures dist/snake/
-	@cp -f build/test/snake dist/snake/
-	@echo "Demo game deployed to dist/snake."
-
-build/test/snake: build/lib/libascension.a build/live-demo FORCE
-	@cd test/snake && $(MAKE)
+all: $(DEMO_GAMES_DIR)/snake
 
-build/test/snake-test: build/lib/libascension.a build/test-demo FORCE
-	@cd test/snake && CPPFLAGS=-DTEST_BUILD $(MAKE)
-
-build/lib/libascension.a: build/lib config.mk FORCE
-	@cd src && $(MAKE)
+$(DEMO_GAMES_DIR)/snake: build/lib/libascension.a FORCE
+	@cd test/snake && $(MAKE)
+	@cp -Rf shader $(DEMO_GAMES_DIR)/
+	@cp -Rf fonts $(DEMO_GAMES_DIR)/
+	@cp -Rf test/snake/textures $(DEMO_GAMES_DIR)/
+	@echo "Assets for demo game 'snake' successfully copied."
 
-build/live-demo:
-	rm -f build/test/*.o
-	rm -f build/test-demo
-	touch build/live-demo
-
-build/test-demo:
-	rm -f build/test/*.o
-	rm -f build/live-demo
-	touch build/test-demo
-
-build/lib:
-	mkdir -p build/lib
+build/lib/libascension.a: config.mk FORCE
+	@cd src && $(MAKE)
 
 clean:
 	rm -f -R build
--- a/src/Makefile	Fri Jul 25 19:19:54 2025 +0200
+++ b/src/Makefile	Sat Jul 26 21:13:05 2025 +0200
@@ -35,13 +35,16 @@
 
 OBJ = $(SRC:%.c=$(BUILD_DIR)/%.o)
 
-all: $(BUILD_DIR)/libascension.a FORCE
+all: $(BUILD_DIR) $(BUILD_DIR)/libascension.a FORCE
 	@echo "You have successfully ascended."
 
 $(BUILD_DIR)/libascension.a: $(OBJ)
 	@echo "Creating library..."
 	$(AR) $(ARFLAGS) $@ $^
 
+$(BUILD_DIR):
+	mkdir -p $@
+
 FORCE:
 
 $(BUILD_DIR)/2d.o: 2d.c ascension/2d.h ascension/scene_node.h \
--- a/test/snake/snake.c	Fri Jul 25 19:19:54 2025 +0200
+++ b/test/snake/snake.c	Sat Jul 26 21:13:05 2025 +0200
@@ -253,11 +253,6 @@
                 "Fatal Error",asc_get_error(), NULL);
         return 1;
     }
-#ifdef TEST_BUILD
-    asc_set_font_path("../../fonts");
-    asc_set_shader_path("../../shader");
-    asc_set_texture_path("../../test/snake/textures");
-#endif
 
     // initialize globals
     init_globals();

mercurial