framer

Slide-show application for nerds ☝️🤓

NameSizeMode
..
nob.c 1024B -rw-r--r--
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;
}