demo/snake/Makefile

changeset 267
92fdd53de74f
parent 254
314353bcfd82
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/demo/snake/Makefile	Tue Aug 19 18:05:35 2025 +0200
@@ -0,0 +1,65 @@
+# Copyright 2023 Mike Becker. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+#   1. Redistributions of source code must retain the above copyright
+#      notice, this list of conditions and the following disclaimer.
+#
+#   2. Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in the
+#      documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+include ../../config.mk
+
+BUILD_DIR=$(srcdir)/build/snake
+LIB_ASCENSION=$(srcdir)/build/lib/libascension.a
+CFLAGS += -I$(srcdir)/src $(CPPFLAGS)
+
+all: $(BUILD_DIR) $(BUILD_DIR)/snake FORCE
+	@echo "Demo game 'snake' successfully built."
+	@cp -Ruf $(srcdir)/shader $(BUILD_DIR)/
+	@cp -Ruf $(srcdir)/fonts $(BUILD_DIR)/
+	@cp -Ruf textures $(BUILD_DIR)/
+	@cp -Ruf shader $(BUILD_DIR)/
+	@echo "Assets for demo game 'snake' successfully copied."
+
+$(BUILD_DIR):
+	mkdir -p $@
+
+$(BUILD_DIR)/snake: $(BUILD_DIR)/snake.o $(LIB_ASCENSION)
+	@echo "Linking snake..."
+	$(CC) $(LDFLAGS) -o $@ $^
+
+$(LIB_ASCENSION):
+	test -f "$@"
+
+FORCE:
+
+$(BUILD_DIR)/snake.o: snake.c ../../src/ascension/core.h \
+ ../../src/ascension/error.h ../../src/ascension/context.h \
+ ../../src/ascension/datatypes.h ../../src/ascension/window.h \
+ ../../src/ascension/glcontext.h ../../src/ascension/scene.h \
+ ../../src/ascension/scene_node.h ../../src/ascension/transform.h \
+ ../../src/ascension/camera.h ../../src/ascension/input.h \
+ ../../src/ascension/behavior.h ../../src/ascension/ui.h \
+ ../../src/ascension/text.h ../../src/ascension/font.h \
+ ../../src/ascension/mesh.h ../../src/ascension/texture.h \
+ ../../src/ascension/sprite.h ../../src/ascension/2d.h \
+ ../../src/ascension/shader.h
+	@echo "Compiling $<"
+	$(CC) -o $@ $(CFLAGS) -c $<
+

mercurial