-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
141 lines (122 loc) · 3.91 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
# GNU Make workspace makefile autogenerated by Premake
.NOTPARALLEL:
ifndef config
config=debug
endif
ifndef verbose
SILENT = @
endif
ifeq ($(config),debug)
GLFW_config = debug
Glad_config = debug
ImGui_config = debug
Box2D_config = debug
yaml_cpp_config = debug
osdialog_config = debug
Stengine_config = debug
Steditor_config = debug
Sandbox_config = debug
endif
ifeq ($(config),release)
GLFW_config = release
Glad_config = release
ImGui_config = release
Box2D_config = release
yaml_cpp_config = release
osdialog_config = release
Stengine_config = release
Steditor_config = release
Sandbox_config = release
endif
ifeq ($(config),dist)
GLFW_config = dist
Glad_config = dist
ImGui_config = dist
Box2D_config = dist
yaml_cpp_config = dist
osdialog_config = dist
Stengine_config = dist
Steditor_config = dist
Sandbox_config = dist
endif
PROJECTS := GLFW Glad ImGui Box2D yaml-cpp osdialog Stengine Steditor Sandbox
.PHONY: all clean help $(PROJECTS) Dependencies
all: $(PROJECTS)
Dependencies: Box2D GLFW Glad ImGui osdialog yaml-cpp
GLFW:
ifneq (,$(GLFW_config))
@echo "==== Building GLFW ($(GLFW_config)) ===="
@${MAKE} --no-print-directory -C Stengine/vendor/GLFW -f Makefile config=$(GLFW_config)
endif
Glad:
ifneq (,$(Glad_config))
@echo "==== Building Glad ($(Glad_config)) ===="
@${MAKE} --no-print-directory -C Stengine/vendor/Glad -f Makefile config=$(Glad_config)
endif
ImGui:
ifneq (,$(ImGui_config))
@echo "==== Building ImGui ($(ImGui_config)) ===="
@${MAKE} --no-print-directory -C Stengine/vendor/imgui -f Makefile config=$(ImGui_config)
endif
Box2D:
ifneq (,$(Box2D_config))
@echo "==== Building Box2D ($(Box2D_config)) ===="
@${MAKE} --no-print-directory -C Stengine/vendor/Box2D -f Makefile config=$(Box2D_config)
endif
yaml-cpp:
ifneq (,$(yaml_cpp_config))
@echo "==== Building yaml-cpp ($(yaml_cpp_config)) ===="
@${MAKE} --no-print-directory -C Stengine/vendor/yaml-cpp -f Makefile config=$(yaml_cpp_config)
endif
osdialog:
ifneq (,$(osdialog_config))
@echo "==== Building osdialog ($(osdialog_config)) ===="
@${MAKE} --no-print-directory -C Stengine/vendor/osdialog -f Makefile config=$(osdialog_config)
endif
Stengine: GLFW Glad ImGui Box2D yaml-cpp osdialog
ifneq (,$(Stengine_config))
@echo "==== Building Stengine ($(Stengine_config)) ===="
@${MAKE} --no-print-directory -C Stengine -f Makefile config=$(Stengine_config)
endif
Steditor: Stengine GLFW Glad ImGui Box2D yaml-cpp osdialog
ifneq (,$(Steditor_config))
@echo "==== Building Steditor ($(Steditor_config)) ===="
@${MAKE} --no-print-directory -C Steditor -f Makefile config=$(Steditor_config)
endif
Sandbox: Stengine GLFW Glad ImGui Box2D yaml-cpp osdialog
ifneq (,$(Sandbox_config))
@echo "==== Building Sandbox ($(Sandbox_config)) ===="
@${MAKE} --no-print-directory -C Sandbox -f Makefile config=$(Sandbox_config)
endif
clean:
@${MAKE} --no-print-directory -C Stengine/vendor/GLFW -f Makefile clean
@${MAKE} --no-print-directory -C Stengine/vendor/Glad -f Makefile clean
@${MAKE} --no-print-directory -C Stengine/vendor/imgui -f Makefile clean
@${MAKE} --no-print-directory -C Stengine/vendor/Box2D -f Makefile clean
@${MAKE} --no-print-directory -C Stengine/vendor/yaml-cpp -f Makefile clean
@${MAKE} --no-print-directory -C Stengine/vendor/osdialog -f Makefile clean
@${MAKE} --no-print-directory -C Stengine -f Makefile clean
@${MAKE} --no-print-directory -C Steditor -f Makefile clean
@${MAKE} --no-print-directory -C Sandbox -f Makefile clean
help:
@echo "Usage: make [config=name] [target]"
@echo ""
@echo "CONFIGURATIONS:"
@echo " debug"
@echo " release"
@echo " dist"
@echo ""
@echo "TARGETS:"
@echo " all (default)"
@echo " clean"
@echo " GLFW"
@echo " Glad"
@echo " ImGui"
@echo " Box2D"
@echo " yaml-cpp"
@echo " osdialog"
@echo " Stengine"
@echo " Steditor"
@echo " Sandbox"
@echo ""
@echo "For more information, see https://github.com/premake/premake-core/wiki"