simplify build and copy assets to build dir default tip

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

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