Skip to content

Commit f9a39b1

Browse files
committed
[nob] Make cmd and procs local again
1 parent cc0fc61 commit f9a39b1

File tree

1 file changed

+56
-56
lines changed

1 file changed

+56
-56
lines changed

nob.c

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -5,85 +5,82 @@
55

66
#define COMMON_CFLAGS "-Wall", "-Wextra", "-pedantic", "-ggdb", "-I.", "-I./build/", "-I./dev-deps/"
77

8-
Cmd cmd = {0};
9-
Procs procs = {0};
10-
11-
bool build_tools(void)
8+
bool build_tools(Cmd *cmd)
129
{
1310
if (!mkdir_if_not_exists("build")) return false;
1411
if (!mkdir_if_not_exists("build/tools")) return false;
1512

16-
cmd_append(&cmd, "clang", COMMON_CFLAGS, "-o", "./build/tools/png2c", "./tools/png2c.c", "-lm");
17-
if (!cmd_run_sync_and_reset(&cmd)) return false;
13+
cmd_append(cmd, "clang", COMMON_CFLAGS, "-o", "./build/tools/png2c", "./tools/png2c.c", "-lm");
14+
if (!cmd_run_sync_and_reset(cmd)) return false;
1815

19-
cmd_append(&cmd, "clang", COMMON_CFLAGS, "-o", "./build/tools/obj2c", "./tools/obj2c.c", "-lm");
20-
if (!cmd_run_sync_and_reset(&cmd)) return false;
16+
cmd_append(cmd, "clang", COMMON_CFLAGS, "-o", "./build/tools/obj2c", "./tools/obj2c.c", "-lm");
17+
if (!cmd_run_sync_and_reset(cmd)) return false;
2118

2219
return true;
2320
}
2421

25-
bool build_assets(void)
22+
bool build_assets(Cmd *cmd)
2623
{
2724
if (!mkdir_if_not_exists("build")) return false;
2825
if (!mkdir_if_not_exists("build/assets")) return false;
2926

30-
cmd_append(&cmd, "./build/tools/png2c", "-n", "tsodinPog", "-o", "./build/assets/tsodinPog.c", "./assets/tsodinPog.png");
31-
if (!cmd_run_sync_and_reset(&cmd)) return false;
27+
cmd_append(cmd, "./build/tools/png2c", "-n", "tsodinPog", "-o", "./build/assets/tsodinPog.c", "./assets/tsodinPog.png");
28+
if (!cmd_run_sync_and_reset(cmd)) return false;
3229

33-
cmd_append(&cmd, "./build/tools/png2c", "-n", "tsodinCup", "-o", "./build/assets/tsodinCup.c", "./assets/tsodinCup.png");
34-
if (!cmd_run_sync_and_reset(&cmd)) return false;
30+
cmd_append(cmd, "./build/tools/png2c", "-n", "tsodinCup", "-o", "./build/assets/tsodinCup.c", "./assets/tsodinCup.png");
31+
if (!cmd_run_sync_and_reset(cmd)) return false;
3532

36-
cmd_append(&cmd, "./build/tools/png2c", "-n", "oldstone", "-o", "./build/assets/oldstone.c", "./assets/oldstone.png");
37-
if (!cmd_run_sync_and_reset(&cmd)) return false;
33+
cmd_append(cmd, "./build/tools/png2c", "-n", "oldstone", "-o", "./build/assets/oldstone.c", "./assets/oldstone.png");
34+
if (!cmd_run_sync_and_reset(cmd)) return false;
3835

39-
cmd_append(&cmd, "./build/tools/png2c", "-n", "lavastone", "-o", "./build/assets/lavastone.c", "./assets/lavastone.png");
40-
if (!cmd_run_sync_and_reset(&cmd)) return false;
36+
cmd_append(cmd, "./build/tools/png2c", "-n", "lavastone", "-o", "./build/assets/lavastone.c", "./assets/lavastone.png");
37+
if (!cmd_run_sync_and_reset(cmd)) return false;
4138

42-
cmd_append(&cmd, "./build/tools/obj2c", "-o", "./build/assets/tsodinCupLowPoly.c", "./assets/tsodinCupLowPoly.obj");
43-
if (!cmd_run_sync_and_reset(&cmd)) return false;
39+
cmd_append(cmd, "./build/tools/obj2c", "-o", "./build/assets/tsodinCupLowPoly.c", "./assets/tsodinCupLowPoly.obj");
40+
if (!cmd_run_sync_and_reset(cmd)) return false;
4441

45-
cmd_append(&cmd, "./build/tools/obj2c", "-s", "0.40", "-o", "./build/assets/utahTeapot.c", "./assets/utahTeapot.obj");
46-
if (!cmd_run_sync_and_reset(&cmd)) return false;
42+
cmd_append(cmd, "./build/tools/obj2c", "-s", "0.40", "-o", "./build/assets/utahTeapot.c", "./assets/utahTeapot.obj");
43+
if (!cmd_run_sync_and_reset(cmd)) return false;
4744

48-
cmd_append(&cmd, "./build/tools/obj2c", "-s", "1.5", "-o", "./build/assets/penger.c", "./assets/penger_obj/penger.obj");
49-
if (!cmd_run_sync_and_reset(&cmd)) return false;
45+
cmd_append(cmd, "./build/tools/obj2c", "-s", "1.5", "-o", "./build/assets/penger.c", "./assets/penger_obj/penger.obj");
46+
if (!cmd_run_sync_and_reset(cmd)) return false;
5047

5148
return true;
5249
}
5350

54-
bool build_tests(void)
51+
bool build_tests(Cmd *cmd)
5552
{
56-
cmd_append(&cmd, "clang", COMMON_CFLAGS, "-fsanitize=memory", "-o", "./build/test", "test.c", "-lm");
57-
if (!cmd_run_sync_and_reset(&cmd)) return false;
53+
cmd_append(cmd, "clang", COMMON_CFLAGS, "-fsanitize=memory", "-o", "./build/test", "test.c", "-lm");
54+
if (!cmd_run_sync_and_reset(cmd)) return false;
5855
return true;
5956
}
6057

61-
void build_wasm_demo(const char *name)
58+
void build_wasm_demo(Cmd *cmd, Procs *procs, const char *name)
6259
{
63-
cmd_append(&cmd, "clang", COMMON_CFLAGS, "-O2", "-fno-builtin", "--target=wasm32", "--no-standard-libraries", "-Wl,--no-entry", "-Wl,--export=vc_render", "-Wl,--export=__heap_base", "-Wl,--allow-undefined", "-o", temp_sprintf("./build/demos/%s.wasm", name), "-DVC_PLATFORM=VC_WASM_PLATFORM", temp_sprintf("./demos/%s.c", name));
64-
da_append(&procs, cmd_run_async_and_reset(&cmd));
60+
cmd_append(cmd, "clang", COMMON_CFLAGS, "-O2", "-fno-builtin", "--target=wasm32", "--no-standard-libraries", "-Wl,--no-entry", "-Wl,--export=vc_render", "-Wl,--export=__heap_base", "-Wl,--allow-undefined", "-o", temp_sprintf("./build/demos/%s.wasm", name), "-DVC_PLATFORM=VC_WASM_PLATFORM", temp_sprintf("./demos/%s.c", name));
61+
da_append(procs, cmd_run_async_and_reset(cmd));
6562
}
6663

67-
void build_term_demo(const char *name)
64+
void build_term_demo(Cmd *cmd, Procs *procs, const char *name)
6865
{
69-
cmd_append(&cmd, "clang", COMMON_CFLAGS, "-O2", "-o", temp_sprintf("./build/demos/%s.term", name), "-DVC_PLATFORM=VC_TERM_PLATFORM", "-D_XOPEN_SOURCE=600", temp_sprintf("./demos/%s.c", name), "-lm");
70-
da_append(&procs, cmd_run_async_and_reset(&cmd));
66+
cmd_append(cmd, "clang", COMMON_CFLAGS, "-O2", "-o", temp_sprintf("./build/demos/%s.term", name), "-DVC_PLATFORM=VC_TERM_PLATFORM", "-D_XOPEN_SOURCE=600", temp_sprintf("./demos/%s.c", name), "-lm");
67+
da_append(procs, cmd_run_async_and_reset(cmd));
7168
}
7269

73-
void build_sdl_demo(const char *name)
70+
void build_sdl_demo(Cmd *cmd, Procs *procs, const char *name)
7471
{
75-
cmd_append(&cmd, "clang", COMMON_CFLAGS, "-O2", "-o", temp_sprintf("./build/demos/%s.sdl", name), "-DVC_PLATFORM=VC_SDL_PLATFORM", temp_sprintf("./demos/%s.c", name), "-lm", "-lSDL2", NULL);
76-
da_append(&procs, cmd_run_async_and_reset(&cmd));
72+
cmd_append(cmd, "clang", COMMON_CFLAGS, "-O2", "-o", temp_sprintf("./build/demos/%s.sdl", name), "-DVC_PLATFORM=VC_SDL_PLATFORM", temp_sprintf("./demos/%s.c", name), "-lm", "-lSDL2", NULL);
73+
da_append(procs, cmd_run_async_and_reset(cmd));
7774
}
7875

79-
void build_vc_demo(const char *name)
76+
void build_vc_demo(Cmd *cmd, Procs *procs, const char *name)
8077
{
81-
build_wasm_demo(name);
82-
build_term_demo(name);
83-
build_sdl_demo(name);
78+
build_wasm_demo(cmd, procs, name);
79+
build_term_demo(cmd, procs, name);
80+
build_sdl_demo(cmd, procs, name);
8481
}
8582

86-
bool build_all_vc_demos(void)
83+
bool build_all_vc_demos(Cmd *cmd, Procs *procs)
8784
{
8885
if (!mkdir_if_not_exists("build")) return false;
8986
if (!mkdir_if_not_exists("build/demos")) return false;
@@ -102,12 +99,12 @@ bool build_all_vc_demos(void)
10299
size_t thread_count = 6;
103100

104101
for (size_t i = 0; i < ARRAY_LEN(names); ++i) {
105-
build_vc_demo(names[i]);
106-
if (procs.count >= thread_count) {
107-
if (!nob_procs_wait_and_reset(&procs)) return false;
102+
build_vc_demo(cmd, procs, names[i]);
103+
if (procs->count >= thread_count) {
104+
if (!nob_procs_wait_and_reset(procs)) return false;
108105
}
109106
}
110-
if (!nob_procs_wait_and_reset(&procs)) return false;
107+
if (!nob_procs_wait_and_reset(procs)) return false;
111108

112109
for (size_t i = 0; i < ARRAY_LEN(names); ++i) {
113110
const char *src_path = temp_sprintf("./build/demos/%s.wasm", names[i]);
@@ -143,30 +140,33 @@ int main(int argc, char **argv)
143140
{
144141
NOB_GO_REBUILD_URSELF(argc, argv);
145142

143+
Cmd cmd = {0};
144+
Procs procs = {0};
145+
146146
const char *program = shift_args(&argc, &argv);
147147

148148
if (argc > 0) {
149149
const char *subcmd = shift_args(&argc, &argv);
150150
if (strcmp(subcmd, "tools") == 0) {
151-
if (!build_tools()) return 1;
151+
if (!build_tools(&cmd)) return 1;
152152
} else if (strcmp(subcmd, "assets") == 0) {
153-
if (!build_assets()) return 1;
153+
if (!build_assets(&cmd)) return 1;
154154
} else if (strcmp(subcmd, "tests") == 0 || strcmp(subcmd, "test") == 0) {
155-
if (!build_tests()) return 1;
155+
if (!build_tests(&cmd)) return 1;
156156
if (argc > 0) {
157157
cmd_append(&cmd, "./build/test");
158158
da_append_many(&cmd, argv, argc);
159159
if (!cmd_run_sync_and_reset(&cmd)) return 1;
160160
}
161161
} else if (strcmp(subcmd, "demos") == 0) {
162162
if (argc <= 0) {
163-
if (!build_all_vc_demos()) return 1;
163+
if (!build_all_vc_demos(&cmd, &procs)) return 1;
164164
return 0;
165165
}
166166

167167
const char *name = shift(argv, argc);
168168
if (argc <= 0) {
169-
build_vc_demo(name);
169+
build_vc_demo(&cmd, &procs, name);
170170
if (!procs_wait_and_reset(&procs)) return 1;
171171
const char *src_path = temp_sprintf("./build/demos/%s.wasm", name);
172172
const char *dst_path = temp_sprintf("./wasm/%s.wasm", name);
@@ -176,7 +176,7 @@ int main(int argc, char **argv)
176176

177177
const char *platform = shift(argv, argc);
178178
if (strcmp(platform, "sdl") == 0) {
179-
build_sdl_demo(name);
179+
build_sdl_demo(&cmd, &procs, name);
180180
if (!procs_wait_and_reset(&procs)) return 1;
181181
if (argc <= 0) return 0;
182182
const char *run = shift(argv, argc);
@@ -189,7 +189,7 @@ int main(int argc, char **argv)
189189
if (!cmd_run_sync_and_reset(&cmd)) return 1;
190190
return 0;
191191
} else if (strcmp(platform, "term") == 0) {
192-
build_term_demo(name);
192+
build_term_demo(&cmd, &procs, name);
193193
if (!procs_wait_and_reset(&procs)) return 1;
194194
if (argc <= 0) return 0;
195195
const char *run = shift(argv, argc);
@@ -202,7 +202,7 @@ int main(int argc, char **argv)
202202
if (!cmd_run_sync_and_reset(&cmd)) return 1;
203203
return 0;
204204
} else if (strcmp(platform, "wasm") == 0) {
205-
build_wasm_demo(name);
205+
build_wasm_demo(&cmd, &procs, name);
206206
if (!procs_wait_and_reset(&procs)) return 1;
207207
const char *src_path = temp_sprintf("./build/demos/%s.wasm", name);
208208
const char *dst_path = temp_sprintf("./wasm/%s.wasm", name);
@@ -220,10 +220,10 @@ int main(int argc, char **argv)
220220
return 1;
221221
}
222222
} else {
223-
if (!build_tools()) return 1;
224-
if (!build_assets()) return 1;
225-
if (!build_tests()) return 1;
226-
if (!build_all_vc_demos()) return 1;
223+
if (!build_tools(&cmd)) return 1;
224+
if (!build_assets(&cmd)) return 1;
225+
if (!build_tests(&cmd)) return 1;
226+
if (!build_all_vc_demos(&cmd, &procs)) return 1;
227227
}
228228

229229
return 0;

0 commit comments

Comments
 (0)