-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
58 lines (37 loc) · 1.25 KB
/
Makefile
File metadata and controls
58 lines (37 loc) · 1.25 KB
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
CFLAGS:=-Wall -Wextra -Wpedantic
SRC_D:=./src
CLE_N:=${SRC_D}/cle
GUI_N:=${SRC_D}/gui
GIF_N:=${SRC_D}/gif
CLE_O:=${CLE_N}.o
GUI_O:=${GUI_N}.o
GIF_O:=${GIF_N}.o
CLE_C:=${CLE_N}.cpp
GUI_C:=${GUI_N}.cpp
GIF_C:=${GIF_N}.cpp
CLE_H:=${CLE_N}.hpp
GUI_H:=${GUI_N}.hpp
GIF_H:=${GIF_N}.hpp
CLE_DEP:=sdl2
GUI_DEP:=sdl2 SDL2_ttf
GIF_DEP:=sdl2 SDL2_ttf
CLE_DEP_LD:=$(shell pkg-config --libs ${CLE_DEP})
GUI_DEP_LD:=$(shell pkg-config --libs ${GUI_DEP})
GIF_DEP_LD:=$(shell pkg-config --libs ${GIF_DEP}) -lSDL_gifwrap -lgif
CLE_DEP_FLAG:=$(shell pkg-config --cflags ${CLE_DEP})
GUI_DEP_FLAG:=$(shell pkg-config --cflags ${GUI_DEP})
GIF_DEP_FLAG:=$(shell pkg-config --cflags ${GIF_DEP})
CLE:=${CLE_O} ${CLE_DEP_LD} ${CLE_DEP_FLAG}
GUI:=${GUI_O} ${GUI_DEP_LD} ${GUI_DEP_FLAG}
GIF:=${GIF_O} ${GIF_DEP_LD} ${GIF_DEP_FLAG}
all: ${GUI_O} ${GIF_O} ${CLE_O}
c++ ${CFLAGS} ${CLE} ${GIF} ${GUI} -o ./cle
clean:
rm ./src/*.o
@PHONY: all clean
${GIF_O}: ${CLE_O} ${GUI_O}
c++ -D_GIF -D_GUI ${CFLAGS} ${GIF_DEP_FLAG} -c ${GIF_C} -o ${GIF_O}
${CLE_O}:
c++ $(if wildcard(${GUI_O}),-D_GUI) $(if wildcard(${GIF_O}),-D_GIF) ${CFLAGS} ${CLE_DEP_FLAG} -c ${CLE_C} -o ${CLE_O}
${GUI_O}: ${CLE_O}
c++ -D_GUI $(if wildcard(${GIF_O}),-D_GIF) ${CFLAGS} ${GUI_DEP_FLAG} -c ${GUI_C} -o ${GUI_O}