12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #define NOB_IMPLEMENTATION
- #define NOB_STRIP_PREFIX
- #include "thirdparty/nob.h"
- #define BUILD_FOLDER "build/"
- #define SRC_FOLDER "src/"
- #define EXAMPLES_FOLDER "examples/"
- #define THIRDPARTY_FOLDER "thirdparty/"
- static Cmd cmd = {0};
- static Procs procs = {0};
- static void compile(void)
- {
- cmd_append(&cmd, "cc");
- cmd_append(&cmd, "-Wall");
- cmd_append(&cmd, "-Wextra");
- cmd_append(&cmd, "-Wswitch-enum");
- cmd_append(&cmd, "-I.");
- cmd_append(&cmd, "-I"THIRDPARTY_FOLDER);
- }
- int main(int argc, char **argv)
- {
- NOB_GO_REBUILD_URSELF(argc, argv);
- if (!mkdir_if_not_exists(BUILD_FOLDER)) return 1;
- compile();
- cmd_append(&cmd, "-ggdb");
- cmd_append(&cmd, "-o", BUILD_FOLDER"lag");
- cmd_append(&cmd, SRC_FOLDER"lag.c");
- if (!cmd_run(&cmd)) return 1;
- cmd_append(&cmd, BUILD_FOLDER"lag");
- if (!cmd_run(&cmd, .stdout_path = "./la.h")) return 1;
- {
- compile();
- cmd_append(&cmd, "-pedantic");
- cmd_append(&cmd, "-std=c11");
- cmd_append(&cmd, "-ggdb");
- cmd_append(&cmd, "-o", BUILD_FOLDER"ball");
- cmd_append(&cmd, EXAMPLES_FOLDER"ball.c");
- cmd_append(&cmd, "-lm");
- if (!cmd_run(&cmd, .async = &procs)) return 1;
- compile();
- cmd_append(&cmd, "-DLA_IMPLEMENTATION");
- cmd_append(&cmd, "-x", "c++");
- cmd_append(&cmd, "-o", BUILD_FOLDER"la.cxx.o");
- cmd_append(&cmd, "-c");
- cmd_append(&cmd, "la.h");
- if (!cmd_run(&cmd, .async = &procs)) return 1;
- compile();
- cmd_append(&cmd, "-pedantic");
- cmd_append(&cmd, "-std=c11");
- cmd_append(&cmd, "-DLA_IMPLEMENTATION");
- cmd_append(&cmd, "-x", "c");
- cmd_append(&cmd, "-o", BUILD_FOLDER"la.c.o");
- cmd_append(&cmd, "-c");
- cmd_append(&cmd, "la.h");
- if (!cmd_run(&cmd, .async = &procs)) return 1;
- if (!procs_flush(&procs)) return 1;
- }
- return 0;
- }
|