Mon, 18 Dec 2023 19:04:44 +0100
add first draft of a scene graph structure
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 #
26 include ../config.mk
28 BUILD_DIR=../build/lib
30 SRC = context.c error.c window.c files.c shader.c font.c text.c scene.c \
31 primitives.c
33 OBJ = $(SRC:%.c=$(BUILD_DIR)/%.o)
35 all: $(BUILD_DIR)/libascension.a FORCE
36 @echo "You have successfully ascended."
38 $(BUILD_DIR)/libascension.a: $(OBJ)
39 @echo "Creating library..."
40 $(AR) $(ARFLAGS) $@ $^
42 FORCE:
44 $(BUILD_DIR)/context.o: context.c ascension/context.h \
45 ascension/datatypes.h ascension/window.h ascension/primitives.h \
46 ascension/mesh.h ascension/font.h ascension/error.h ascension/utils.h \
47 ascension/shader.h
48 @echo "Compiling $<"
49 $(CC) -o $@ $(CFLAGS) -c $<
51 $(BUILD_DIR)/error.o: error.c ascension/context.h ascension/datatypes.h \
52 ascension/window.h ascension/primitives.h ascension/mesh.h \
53 ascension/font.h ascension/error.h ascension/utils.h
54 @echo "Compiling $<"
55 $(CC) -o $@ $(CFLAGS) -c $<
57 $(BUILD_DIR)/files.o: files.c ascension/files.h ascension/error.h
58 @echo "Compiling $<"
59 $(CC) -o $@ $(CFLAGS) -c $<
61 $(BUILD_DIR)/font.o: font.c ascension/font.h ascension/context.h \
62 ascension/datatypes.h ascension/window.h ascension/primitives.h \
63 ascension/mesh.h ascension/font.h ascension/error.h
64 @echo "Compiling $<"
65 $(CC) -o $@ $(CFLAGS) -c $<
67 $(BUILD_DIR)/primitives.o: primitives.c ascension/primitives.h \
68 ascension/mesh.h ascension/error.h ascension/context.h \
69 ascension/datatypes.h ascension/window.h ascension/primitives.h \
70 ascension/font.h
71 @echo "Compiling $<"
72 $(CC) -o $@ $(CFLAGS) -c $<
74 $(BUILD_DIR)/scene.o: scene.c ascension/scene.h ascension/error.h
75 @echo "Compiling $<"
76 $(CC) -o $@ $(CFLAGS) -c $<
78 $(BUILD_DIR)/shader.o: shader.c ascension/shader.h ascension/files.h \
79 ascension/error.h
80 @echo "Compiling $<"
81 $(CC) -o $@ $(CFLAGS) -c $<
83 $(BUILD_DIR)/text.o: text.c ascension/text.h ascension/font.h \
84 ascension/datatypes.h ascension/context.h ascension/window.h \
85 ascension/primitives.h ascension/mesh.h ascension/error.h \
86 ascension/shader.h
87 @echo "Compiling $<"
88 $(CC) -o $@ $(CFLAGS) -c $<
90 $(BUILD_DIR)/window.o: window.c ascension/window.h ascension/datatypes.h \
91 ascension/primitives.h ascension/mesh.h ascension/context.h \
92 ascension/window.h ascension/font.h ascension/error.h ascension/utils.h
93 @echo "Compiling $<"
94 $(CC) -o $@ $(CFLAGS) -c $<