Wed, 08 Nov 2023 23:17:07 +0100
add shader loading and unloading
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 font.c files.c shader.c
32 OBJ = $(SRC:%.c=$(BUILD_DIR)/%.o)
34 all: $(BUILD_DIR)/libascension.a FORCE
35 @echo "You have successfully ascended."
37 $(BUILD_DIR)/libascension.a: $(OBJ)
38 @echo "Creating library..."
39 $(AR) $(ARFLAGS) $@ $^
41 FORCE:
43 $(BUILD_DIR)/context.o: context.c ascension/context.h ascension/window.h \
44 ascension/datatypes.h ascension/font.h ascension/error.h \
45 ascension/utils.h ascension/shader.h
46 @echo "Compiling $<"
47 $(CC) -o $@ $(CFLAGS) -c $<
49 $(BUILD_DIR)/error.o: error.c ascension/context.h ascension/window.h \
50 ascension/datatypes.h ascension/font.h ascension/error.h \
51 ascension/utils.h
52 @echo "Compiling $<"
53 $(CC) -o $@ $(CFLAGS) -c $<
55 $(BUILD_DIR)/files.o: files.c ascension/files.h ascension/error.h
56 @echo "Compiling $<"
57 $(CC) -o $@ $(CFLAGS) -c $<
59 $(BUILD_DIR)/font.o: font.c ascension/font.h ascension/context.h \
60 ascension/window.h ascension/datatypes.h ascension/font.h \
61 ascension/error.h
62 @echo "Compiling $<"
63 $(CC) -o $@ $(CFLAGS) -c $<
65 $(BUILD_DIR)/shader.o: shader.c ascension/shader.h ascension/files.h \
66 ascension/error.h
67 @echo "Compiling $<"
68 $(CC) -o $@ $(CFLAGS) -c $<
70 $(BUILD_DIR)/window.o: window.c ascension/window.h ascension/datatypes.h \
71 ascension/context.h ascension/window.h ascension/font.h \
72 ascension/error.h ascension/utils.h
73 @echo "Compiling $<"
74 $(CC) -o $@ $(CFLAGS) -c $<