Makefile

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 98
83bec26453a8
permissions
-rw-r--r--

simplify build and copy assets to build dir

demo programs can then be run directly from the build dir

0
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 # Copyright 2023 Mike Becker. All rights reserved.
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2 #
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3 # Redistribution and use in source and binary forms, with or without
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4 # modification, are permitted provided that the following conditions are met:
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 #
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 # 1. Redistributions of source code must retain the above copyright
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 # notice, this list of conditions and the following disclaimer.
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 #
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 # 2. Redistributions in binary form must reproduce the above copyright
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 # notice, this list of conditions and the following disclaimer in the
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 # documentation and/or other materials provided with the distribution.
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 #
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 # POSSIBILITY OF SUCH DAMAGE.
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 #
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25
227
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
26 DEMO_GAMES_DIR=build/test
0
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
27
227
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
28 all: $(DEMO_GAMES_DIR)/snake
0
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
29
227
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
30 $(DEMO_GAMES_DIR)/snake: build/lib/libascension.a FORCE
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
31 @cd test/snake && $(MAKE)
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
32 @cp -Rf shader $(DEMO_GAMES_DIR)/
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
33 @cp -Rf fonts $(DEMO_GAMES_DIR)/
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
34 @cp -Rf test/snake/textures $(DEMO_GAMES_DIR)/
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
35 @echo "Assets for demo game 'snake' successfully copied."
0
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
36
227
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
37 build/lib/libascension.a: config.mk FORCE
a5775e8dbc13 simplify build and copy assets to build dir
Mike Becker <universe@uap-core.de>
parents: 98
diff changeset
38 @cd src && $(MAKE)
0
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
39
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
40 clean:
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
41 rm -f -R build
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
42
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
43 install:
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
44 @echo "Not supported at the moment"
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
45
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
46 config.mk:
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
47 @echo "create config"
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
48 @./configure
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
49
8
756b49205a29 add script to update make rules
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
50 update-rules:
756b49205a29 add script to update make rules
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
51 make/update-rules.sh src
86
943bf9d7c6d6 make asset paths configurable
Mike Becker <universe@uap-core.de>
parents: 84
diff changeset
52 CFLAGS=-I../../src make/update-rules.sh test/snake
8
756b49205a29 add script to update make rules
Mike Becker <universe@uap-core.de>
parents: 0
diff changeset
53
0
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
54 FORCE:
593b60458157 initial commit
Mike Becker <universe@uap-core.de>
parents:
diff changeset
55

mercurial