framer
Slide-show application for nerds ☝️🤓
01 02 03 04 05 06 07 08 09 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
#define NOB_IMPLEMENTATION #include "nob.h" #define RAYLIB_PATH "./vendor/raylib-5.5_linux_amd64/" #define BUILD_PATH "./build/" #define SRC_PATH "./src/" #define INCLUDES "-I", RAYLIB_PATH "include/", "-I", "." #define LIBRARIES "-L", RAYLIB_PATH "lib/", \ "-Wl,-rpath=" RAYLIB_PATH "lib/", \ "-lm", "-l:libraylib.so" #define CC "clang" #define CFLAGS "-Wall", "-Wextra", INCLUDES, LIBRARIES int main(int argc, char **argv) { NOB_GO_REBUILD_URSELF(argc, argv); Nob_Cmd cmd = {0}; const char *output_path = BUILD_PATH "framer"; nob_cmd_append(&cmd, CC, CFLAGS); nob_cmd_append(&cmd, "-o", output_path); nob_cmd_append(&cmd, SRC_PATH "main.c"); if (!nob_cmd_run_sync_and_reset(&cmd)) return EXIT_FAILURE; const char *libplug_path = BUILD_PATH "libplug.so"; nob_cmd_append(&cmd, CC, CFLAGS, "-shared", "-fPIC"); nob_cmd_append(&cmd, "-o", libplug_path); nob_cmd_append(&cmd, SRC_PATH "plug.c"); if (!nob_cmd_run_sync_and_reset(&cmd)) return EXIT_FAILURE; return EXIT_SUCCESS; }