-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
229 lines (194 loc) · 8.12 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
##
## EPITECH PROJECT, 2017
## Makefile
## File description:
## Makefile
##
# CONFIG
NAME = libbs_scene.a
SRC_BUTTON = ./src/button/button_add_to_scene.c \
./src/button/button_create.c \
./src/button/button_destroy.c \
./src/button/button_hitbox.c \
./src/button/button_render.c \
./src/button/button_set_base_clicked_hover_texture.c \
./src/button/button_set_texture_base.c \
./src/button/button_set_texture_clicked.c \
./src/button/button_set_texture_hover.c \
./src/button/button_set_pos.c \
./src/button/button_set_size.c \
./src/button/button_set_sound_click.c \
./src/button/button_set_sound_hover_in.c \
./src/button/button_set_sound_hover_out.c \
./src/button/button_get_by_id.c \
./src/button/button_set_offset.c \
./src/button/button_set_layer.c
SRC_EVENTS_BUTTON = ./src/events/button/event_button_mouse_move.c \
./src/events/button/event_button_mouse_pressed.c \
./src/events/button/event_button_mouse_released.c
SRC_EVENTS_GENERAL = ./src/events/general/event_general_key_pressed.c
SRC_EVENTS_SCENE = ./src/events/scene/event_scene_key_pressed.c \
./src/events/scene/event_scene_mouse_moved.c \
./src/events/scene/event_scene_mouse_pressed.c \
./src/events/scene/event_scene_mouse_released.c \
./src/events/scene/event_scene_mouse_wheel_scrolled.c \
./src/events/scene/event_scene_text_entered.c
SRC_EVENTS_TEXTFIELD = ./src/events/textfield/event_textfield_text_entered.c \
./src/events/textfield/event_textfield_mouse_pressed.c
SRC_EVENTS_LABEL = ./src/events/label/event_label_mouse_moved.c \
./src/events/label/event_label_mouse_pressed.c \
./src/events/label/event_label_mouse_released.c \
./src/events/label/event_label_key_pressed.c \
./src/events/label/event_label_mouse_wheel_scrolled.c \
./src/events/label/event_label_text_entered.c
SRC_EVENTS = ./src/events/event_dispatcher.c
SRC_FRAME = ./src/frame/frame_create.c \
./src/frame/frame_destroy.c \
./src/frame/frame_set_cursor.c
SRC_LABEL = ./src/label/label_create.c \
./src/label/label_render.c \
./src/label/label_add_to_scene.c \
./src/label/label_set_pos.c \
./src/label/label_set_str.c \
./src/label/label_get_str.c \
./src/label/label_destroy.c \
./src/label/label_get_by_id.c \
./src/label/label_set_color.c \
./src/label/label_set_offset.c \
./src/label/label_set_layer.c
SRC_LIST = ./src/list/list_create.c \
./src/list/list_delete.c \
./src/list/list_get_by_id.c \
./src/list/list_length.c \
./src/list/list_push.c \
./src/list/list_destroy.c \
./src/list/list_each.c
SRC_PIXELBUFFER = ./src/pixelbuffer/pbuffer_add_to_scene.c \
./src/pixelbuffer/pbuffer_clear.c \
./src/pixelbuffer/pbuffer_create.c \
./src/pixelbuffer/pbuffer_render.c \
./src/pixelbuffer/pbuffer_set_pixel.c \
./src/pixelbuffer/pbuffer_set_pos.c \
./src/pixelbuffer/pbuffer_destroy.c \
./src/pixelbuffer/pbuffer_get_by_id.c \
./src/pixelbuffer/pbuffer_set_offset.c \
./src/pixelbuffer/pbuffer_set_layer.c
SRC_SCENE = ./src/scene/scene_add_to_frame.c \
./src/scene/scene_create.c \
./src/scene/scene_get_by_id.c \
./src/scene/scene_render.c \
./src/scene/scene_set_to.c \
./src/scene/scene_destroy.c \
./src/scene/scene_refresh.c
SRC_SOUND = ./src/sound/sound_create.c \
./src/sound/sound_destroy.c \
./src/sound/sound_play.c \
./src/sound/sound_set_new.c
SRC_SPRITE = ./src/sprite/sprite_add_to_scene.c \
./src/sprite/sprite_create.c \
./src/sprite/sprite_get_by_id.c \
./src/sprite/sprite_render.c \
./src/sprite/sprite_set_pos.c \
./src/sprite/sprite_set_scale.c \
./src/sprite/sprite_set_size.c \
./src/sprite/sprite_set_speed.c \
./src/sprite/sprite_destroy.c \
./src/sprite/sprite_set_offset.c \
./src/sprite/sprite_set_layer.c
SRC_SPRITE_ANIMATION = ./src/sprite/animation/sprite_anim_add.c \
./src/sprite/animation/sprite_anim_create.c \
./src/sprite/animation/sprite_anim_get_active.c \
./src/sprite/animation/sprite_anim_get_by_id.c \
./src/sprite/animation/sprite_anim_get_default.c \
./src/sprite/animation/sprite_anim_play.c \
./src/sprite/animation/sprite_anim_render.c \
./src/sprite/animation/sprite_anim_stop.c \
./src/sprite/animation/sprite_anim_destroy.c
SRC_TEXTFIELD = ./src/textfield/textfield_create.c \
./src/textfield/textfield_render.c \
./src/textfield/textfield_set_focus.c \
./src/textfield/textfield_add_to_scene.c \
./src/textfield/textfield_destroy.c \
./src/textfield/textfield_get_by_id.c \
./src/textfield/textfield_hitbox.c \
./src/textfield/textfield_set_max_length.c \
./src/textfield/textfield_set_pos.c \
./src/textfield/textfield_set_offset.c \
./src/textfield/textfield_set_layer.c
SRC_UTIL = ./src/util/bs_set_str_to.c \
./src/util/bs_str_are_equals.c \
./src/util/bs_strcpy.c \
./src/util/bs_strlen.c \
./src/util/bs_init_render_states.c
ALL_SRC = $(SRC_BUTTON) $(SRC_EVENTS_BUTTON) $(SRC_EVENTS_GENERAL) \
$(SRC_EVENTS_SCENE) $(SRC_EVENTS_TEXTFIELD) $(SRC_EVENTS) \
$(SRC_FRAME) $(SRC_LABEL) $(SRC_LIST) $(SRC_PIXELBUFFER) \
$(SRC_SCENE) $(SRC_SOUND) $(SRC_SPRITE) $(SRC_SPRITE_ANIMATION) \
$(SRC_TEXTFIELD) $(SRC_UTIL) $(SRC_EVENTS_LABEL)
OBJ = $(ALL_SRC:.c=.o)
FLAGS = -Wunused-parameter -Wall -W -Wextra -pedantic \
-I./include/ -lcsfml-graphics -lcsfml-window \
-lcsfml-system -lcsfml-audio -O3
# Lib
all: $(NAME)
$(NAME): $(ALL_SRC)
gcc -c $(ALL_SRC) -I./include/ $(FLAGS)
ar -rc $(NAME) *.o
%.o: %.c
gcc -o $@ -c $< $(FLAGS)
re: fclean all clean
# Tests
SRC_TEST = ./tests/list/test_list_push.c \
./tests/list/test_list_create.c \
./tests/list/test_list_each.c \
./tests/list/test_list_length.c \
./tests/list/test_list_get_by_id.c \
./tests/list/test_list_destroy.c \
./tests/list/test_list_delete.c \
./tests/utils/test_bs_set_str_to.c \
./tests/utils/test_bs_strlen.c \
./tests/utils/test_bs_strcpy.c \
./tests/utils/test_bs_str_are_equals.c \
./tests/utils/test_bs_init_render_states.c \
./tests/frame/test_bs_frame_create.c \
./tests/frame/test_bs_frame_set_cursor.c \
./tests/scene/test_bs_scene_create.c \
./tests/scene/test_bs_scene_get_by_id.c \
./tests/scene/test_bs_scene_add_to_frame.c \
./tests/scene/test_bs_scene_set_to.c \
./tests/scene/test_bs_scene_render.c \
./tests/button/test_bs_button_create.c \
./tests/button/test_bs_button_add_to_scene.c \
./tests/button/test_bs_button_get_by_id.c \
./tests/button/test_bs_button_render.c \
./tests/button/test_bs_button_hitbox.c \
./tests/button/test_bs_button_set_pos.c \
./tests/button/test_bs_button_set_size.c \
./tests/button/test_bs_button_set_sound_click.c \
./tests/button/test_bs_button_set_sound_hover_in.c \
./tests/button/test_bs_button_set_sound_hover_out.c \
./tests/button/test_bs_button_set_texture_base.c \
./tests/button/test_bs_button_set_texture_clicked.c \
./tests/button/test_bs_button_set_texture_hover.c \
./tests/label/test_bs_label_create.c \
./tests/label/test_bs_label_add_to_scene.c \
./tests/label/test_bs_label_get_by_id.c \
./tests/label/test_bs_label_get_str.c
tests_run: $(ALL_SRC)
make re
gcc $(ALL_SRC) $(SRC_TEST) -o all_tests -lcriterion --coverage $(FLAGS) -I../include/
./all_tests
# Cleaning
clean:
rm -f $(OBJ) *.o *~ \#*\# *.gcda *.gcno *.gcov
fclean: clean
rm -f $(NAME)
# Example
SRC_EXAMPLE = ./example/main.c
EXAMPLE_OBJ = $(SRC_EXAMPLE:.c=.o)
ex: re example clean
example: $(EXAMPLE_OBJ)
gcc $(EXAMPLE_OBJ) -o ex -L. -lbs_scene -I./include/ -lcsfml-graphics -lcsfml-window -lcsfml-system -lcsfml-audio -g3
#Other
wc:
wc $(ALL_SRC)