1 # Copyright 2023 Mike Becker. All rights reserved. |
|
2 # |
|
3 # Redistribution and use in source and binary forms, with or without |
|
4 # modification, are permitted provided that the following conditions are met: |
|
5 # |
|
6 # 1. Redistributions of source code must retain the above copyright |
|
7 # notice, this list of conditions and the following disclaimer. |
|
8 # |
|
9 # 2. Redistributions in binary form must reproduce the above copyright |
|
10 # notice, this list of conditions and the following disclaimer in the |
|
11 # documentation and/or other materials provided with the distribution. |
|
12 # |
|
13 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|
14 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
15 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
16 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
|
17 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
|
18 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
19 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
20 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
21 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
|
22 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
|
23 # POSSIBILITY OF SUCH DAMAGE. |
|
24 # |
|
25 |
|
26 include ../../config.mk |
|
27 |
|
28 BUILD_DIR=$(srcdir)/build/snake |
|
29 LIB_ASCENSION=$(srcdir)/build/lib/libascension.a |
|
30 CFLAGS += -I$(srcdir)/src $(CPPFLAGS) |
|
31 |
|
32 all: $(BUILD_DIR) $(BUILD_DIR)/snake FORCE |
|
33 @echo "Demo game 'snake' successfully built." |
|
34 @cp -Ruf $(srcdir)/shader $(BUILD_DIR)/ |
|
35 @cp -Ruf $(srcdir)/fonts $(BUILD_DIR)/ |
|
36 @cp -Ruf textures $(BUILD_DIR)/ |
|
37 @cp -Ruf shader $(BUILD_DIR)/ |
|
38 @echo "Assets for demo game 'snake' successfully copied." |
|
39 |
|
40 $(BUILD_DIR): |
|
41 mkdir -p $@ |
|
42 |
|
43 $(BUILD_DIR)/snake: $(BUILD_DIR)/snake.o $(LIB_ASCENSION) |
|
44 @echo "Linking snake..." |
|
45 $(CC) $(LDFLAGS) -o $@ $^ |
|
46 |
|
47 $(LIB_ASCENSION): |
|
48 test -f "$@" |
|
49 |
|
50 FORCE: |
|
51 |
|
52 $(BUILD_DIR)/snake.o: snake.c ../../src/ascension/core.h \ |
|
53 ../../src/ascension/error.h ../../src/ascension/context.h \ |
|
54 ../../src/ascension/datatypes.h ../../src/ascension/window.h \ |
|
55 ../../src/ascension/glcontext.h ../../src/ascension/scene.h \ |
|
56 ../../src/ascension/scene_node.h ../../src/ascension/transform.h \ |
|
57 ../../src/ascension/camera.h ../../src/ascension/input.h \ |
|
58 ../../src/ascension/behavior.h ../../src/ascension/ui.h \ |
|
59 ../../src/ascension/text.h ../../src/ascension/font.h \ |
|
60 ../../src/ascension/mesh.h ../../src/ascension/texture.h \ |
|
61 ../../src/ascension/sprite.h ../../src/ascension/2d.h \ |
|
62 ../../src/ascension/shader.h |
|
63 @echo "Compiling $<" |
|
64 $(CC) -o $@ $(CFLAGS) -c $< |
|
65 |
|