progress_bar/nob.c
2025-09-21 19:03:01 +03:00

41 lines
1.3 KiB
C

#define NOB_IMPLEMENTATION
#define NOB_STRIP_PREFIX
#include "nob.h"
#define BUILD_FOLDER "build/"
#define SRC_FOLDER "src/"
#define SRC_FILE "src/main.c"
int main(int argc, char **argv)
{
NOB_GO_REBUILD_URSELF(argc, argv);
Nob_Cmd cmd = {0};
if (!nob_mkdir_if_not_exists(BUILD_FOLDER)) return 1;
if (!nob_mkdir_if_not_exists(SRC_FOLDER)) return 1;
if(!file_exists(SRC_FILE)) {
String_Builder sb = {0};
sb_append_cstr(&sb, "#include <stdio.h>\n");
sb_append_cstr(&sb, "#define NOB_IMPLEMENTATION\n");
sb_append_cstr(&sb, "#define NOB_STRIP_PREFIX\n");
sb_append_cstr(&sb, "#include \"../nob.h\"\n");
sb_append_cstr(&sb, "\nint main()\n");
sb_append_cstr(&sb, "{\n printf(\"Hello, world\\n\");\n");
sb_append_cstr(&sb, " return 0;\n}\n");
/* const char *data = "#include <stdio.h>\n\nint main(){\n printf(\"Hello, world\\n\");\n return 0;\n}\n"; */
write_entire_file(SRC_FILE, sb.items, sb.count);
}
nob_cmd_append(&cmd, "cc");
nob_cmd_append(&cmd, "-Wall", "-Wextra");
nob_cmd_append(&cmd, "-o", BUILD_FOLDER"main", SRC_FOLDER"main.c");
if(!nob_cmd_run(&cmd)) return 1;
nob_cmd_append(&cmd, BUILD_FOLDER"main");
if(!nob_cmd_run(&cmd)) return 1;
return 0;
}