|
@@ -7,62 +7,43 @@ bool build_musializer(void)
|
|
|
Nob_Procs procs = {0};
|
|
|
|
|
|
#ifdef MUSIALIZER_HOTRELOAD
|
|
|
- procs.count = 0;
|
|
|
- cmd.count = 0;
|
|
|
- // TODO: add a way to replace `cc` with something else GCC compatible on POSIX
|
|
|
- // Like `clang` for instance
|
|
|
- nob_cmd_append(&cmd, "cc");
|
|
|
- nob_cmd_append(&cmd, "-Wall", "-Wextra", "-ggdb");
|
|
|
- nob_cmd_append(&cmd, "-I.");
|
|
|
- nob_cmd_append(&cmd, "-I./raylib/raylib-"RAYLIB_VERSION"/src/");
|
|
|
- nob_cmd_append(&cmd, "-fPIC", "-shared");
|
|
|
- nob_cmd_append(&cmd, "-o", "./build/libplug.so");
|
|
|
- nob_cmd_append(&cmd,
|
|
|
- "./src/plug.c",
|
|
|
- "./src/ffmpeg_linux.c");
|
|
|
- nob_cmd_append(&cmd,
|
|
|
- nob_temp_sprintf("-L./build/raylib/%s", MUSIALIZER_TARGET_NAME),
|
|
|
- "-l:libraylib.so");
|
|
|
- nob_cmd_append(&cmd, "-lm", "-ldl", "-lpthread");
|
|
|
- nob_da_append(&procs, nob_cmd_run_async(cmd));
|
|
|
-
|
|
|
- cmd.count = 0;
|
|
|
- nob_cmd_append(&cmd, "cc");
|
|
|
- nob_cmd_append(&cmd, "-Wall", "-Wextra", "-ggdb");
|
|
|
- nob_cmd_append(&cmd, "-I.");
|
|
|
- nob_cmd_append(&cmd, "-I./raylib/raylib-"RAYLIB_VERSION"/src/");
|
|
|
- nob_cmd_append(&cmd, "-o", "./build/musializer");
|
|
|
- nob_cmd_append(&cmd,
|
|
|
- "./src/musializer.c",
|
|
|
- "./src/hotreload_posix.c");
|
|
|
- nob_cmd_append(&cmd,
|
|
|
- "-Wl,-rpath=./build/",
|
|
|
- "-Wl,-rpath=./",
|
|
|
- nob_temp_sprintf("-Wl,-rpath=./build/raylib/%s", MUSIALIZER_TARGET_NAME),
|
|
|
- // NOTE: just in case somebody wants to run musializer from within the ./build/ folder
|
|
|
- nob_temp_sprintf("-Wl,-rpath=./raylib/%s", MUSIALIZER_TARGET_NAME));
|
|
|
- nob_cmd_append(&cmd,
|
|
|
- nob_temp_sprintf("-L./build/raylib/%s", MUSIALIZER_TARGET_NAME),
|
|
|
- "-l:libraylib.so");
|
|
|
- nob_cmd_append(&cmd, "-lm", "-ldl", "-lpthread");
|
|
|
- nob_da_append(&procs, nob_cmd_run_async(cmd));
|
|
|
- if (!nob_procs_wait(procs)) nob_return_defer(false);
|
|
|
+ // TODO: add a way to replace `cc` with something else GCC compatible on POSIX
|
|
|
+ // Like `clang` for instance
|
|
|
+ nob_cmd_append(&cmd, "cc",
|
|
|
+ "-Wall", "-Wextra", "-ggdb",
|
|
|
+ "-I.", "-I./raylib/raylib-"RAYLIB_VERSION"/src/",
|
|
|
+ "-fPIC", "-shared",
|
|
|
+ "-o", "./build/libplug.so",
|
|
|
+ "./src/plug.c", "./src/ffmpeg_linux.c",
|
|
|
+ nob_temp_sprintf("-L./build/raylib/%s", MUSIALIZER_TARGET_NAME), "-l:libraylib.so",
|
|
|
+ "-lm", "-ldl", "-lpthread");
|
|
|
+ nob_da_append(&procs, nob_cmd_run_async_and_reset(&cmd));
|
|
|
+
|
|
|
+ nob_cmd_append(&cmd, "cc",
|
|
|
+ "-Wall", "-Wextra", "-ggdb",
|
|
|
+ "-I.", "-I./raylib/raylib-"RAYLIB_VERSION"/src/",
|
|
|
+ "-o", "./build/musializer",
|
|
|
+ "./src/musializer.c", "./src/hotreload_posix.c",
|
|
|
+ "-Wl,-rpath=./build/",
|
|
|
+ "-Wl,-rpath=./",
|
|
|
+ nob_temp_sprintf("-Wl,-rpath=./build/raylib/%s", MUSIALIZER_TARGET_NAME),
|
|
|
+ // NOTE: just in case somebody wants to run musializer from within the ./build/ folder
|
|
|
+ nob_temp_sprintf("-Wl,-rpath=./raylib/%s", MUSIALIZER_TARGET_NAME),
|
|
|
+ nob_temp_sprintf("-L./build/raylib/%s", MUSIALIZER_TARGET_NAME),
|
|
|
+ "-l:libraylib.so", "-lm", "-ldl", "-lpthread");
|
|
|
+ nob_da_append(&procs, nob_cmd_run_async_and_reset(&cmd));
|
|
|
+
|
|
|
+ if (!nob_procs_wait_and_reset(&procs)) nob_return_defer(false);
|
|
|
#else
|
|
|
- cmd.count = 0;
|
|
|
- nob_cmd_append(&cmd, "cc");
|
|
|
- nob_cmd_append(&cmd, "-Wall", "-Wextra", "-ggdb");
|
|
|
- nob_cmd_append(&cmd, "-I.");
|
|
|
- nob_cmd_append(&cmd, "-I./raylib/raylib-"RAYLIB_VERSION"/src/");
|
|
|
- nob_cmd_append(&cmd, "-o", "./build/musializer");
|
|
|
- nob_cmd_append(&cmd,
|
|
|
- "./src/plug.c",
|
|
|
- "./src/ffmpeg_linux.c",
|
|
|
- "./src/musializer.c");
|
|
|
- nob_cmd_append(&cmd,
|
|
|
- nob_temp_sprintf("-L./build/raylib/%s", MUSIALIZER_TARGET_NAME),
|
|
|
- "-l:libraylib.a");
|
|
|
- nob_cmd_append(&cmd, "-lm", "-ldl", "-lpthread");
|
|
|
- if (!nob_cmd_run_sync(cmd)) nob_return_defer(false);
|
|
|
+ nob_cmd_append(&cmd, "cc",
|
|
|
+ "-Wall", "-Wextra", "-ggdb",
|
|
|
+ "-I.",
|
|
|
+ "-I./raylib/raylib-"RAYLIB_VERSION"/src/",
|
|
|
+ "-o", "./build/musializer",
|
|
|
+ "./src/plug.c", "./src/ffmpeg_linux.c", "./src/musializer.c",
|
|
|
+ nob_temp_sprintf("-L./build/raylib/%s", MUSIALIZER_TARGET_NAME), "-l:libraylib.a",
|
|
|
+ "-lm", "-ldl", "-lpthread");
|
|
|
+ if (!nob_cmd_run_sync_and_reset(&cmd)) nob_return_defer(false);
|
|
|
#endif // MUSIALIZER_HOTRELOAD
|
|
|
|
|
|
defer:
|
|
@@ -97,19 +78,16 @@ bool build_raylib(void)
|
|
|
nob_da_append(&object_files, output_path);
|
|
|
|
|
|
if (nob_needs_rebuild(output_path, &input_path, 1)) {
|
|
|
- cmd.count = 0;
|
|
|
- nob_cmd_append(&cmd, "cc");
|
|
|
- nob_cmd_append(&cmd, "-ggdb", "-DPLATFORM_DESKTOP", "-fPIC", "-DSUPPORT_FILEFORMAT_FLAC=1");
|
|
|
- nob_cmd_append(&cmd, "-I./raylib/raylib-"RAYLIB_VERSION"/src/external/glfw/include");
|
|
|
- nob_cmd_append(&cmd, "-c", input_path);
|
|
|
- nob_cmd_append(&cmd, "-o", output_path);
|
|
|
- Nob_Proc proc = nob_cmd_run_async(cmd);
|
|
|
- nob_da_append(&procs, proc);
|
|
|
+ nob_cmd_append(&cmd, "cc",
|
|
|
+ "-ggdb", "-DPLATFORM_DESKTOP", "-fPIC", "-DSUPPORT_FILEFORMAT_FLAC=1",
|
|
|
+ "-I./raylib/raylib-"RAYLIB_VERSION"/src/external/glfw/include",
|
|
|
+ "-c", input_path,
|
|
|
+ "-o", output_path);
|
|
|
+ nob_da_append(&procs, nob_cmd_run_async_and_reset(&cmd));
|
|
|
}
|
|
|
}
|
|
|
- cmd.count = 0;
|
|
|
|
|
|
- if (!nob_procs_wait(procs)) nob_return_defer(false);
|
|
|
+ if (!nob_procs_wait_and_reset(&procs)) nob_return_defer(false);
|
|
|
|
|
|
#ifndef MUSIALIZER_HOTRELOAD
|
|
|
const char *libraylib_path = nob_temp_sprintf("%s/libraylib.a", build_path);
|
|
@@ -120,20 +98,18 @@ bool build_raylib(void)
|
|
|
const char *input_path = nob_temp_sprintf("%s/%s.o", build_path, raylib_modules[i]);
|
|
|
nob_cmd_append(&cmd, input_path);
|
|
|
}
|
|
|
- if (!nob_cmd_run_sync(cmd)) nob_return_defer(false);
|
|
|
+ if (!nob_cmd_run_sync_and_reset(&cmd)) nob_return_defer(false);
|
|
|
}
|
|
|
#else
|
|
|
const char *libraylib_path = nob_temp_sprintf("%s/libraylib.so", build_path);
|
|
|
|
|
|
if (nob_needs_rebuild(libraylib_path, object_files.items, object_files.count)) {
|
|
|
- nob_cmd_append(&cmd, "cc");
|
|
|
- nob_cmd_append(&cmd, "-shared");
|
|
|
- nob_cmd_append(&cmd, "-o", libraylib_path);
|
|
|
+ nob_cmd_append(&cmd, "cc", "-shared", "-o", libraylib_path);
|
|
|
for (size_t i = 0; i < NOB_ARRAY_LEN(raylib_modules); ++i) {
|
|
|
const char *input_path = nob_temp_sprintf("%s/%s.o", build_path, raylib_modules[i]);
|
|
|
nob_cmd_append(&cmd, input_path);
|
|
|
}
|
|
|
- if (!nob_cmd_run_sync(cmd)) nob_return_defer(false);
|
|
|
+ if (!nob_cmd_run_sync_and_reset(&cmd)) nob_return_defer(false);
|
|
|
}
|
|
|
#endif // MUSIALIZER_HOTRELOAD
|
|
|
|
|
@@ -156,7 +132,7 @@ bool build_dist()
|
|
|
// There are some static executables for Linux
|
|
|
Nob_Cmd cmd = {0};
|
|
|
nob_cmd_append(&cmd, "tar", "fvcz", "./musializer-linux-x86_64.tar.gz", "./musializer-linux-x86_64");
|
|
|
- bool ok = nob_cmd_run_sync(cmd);
|
|
|
+ bool ok = nob_cmd_run_sync_and_reset(&cmd);
|
|
|
nob_cmd_free(cmd);
|
|
|
if (!ok) return false;
|
|
|
|