Files
aboba/build.c
2025-06-14 22:48:15 +02:00

56 lines
1.8 KiB
C

#define GEBS_NO_PREFIX
#define GEBS_IMPLEMENTATION
#include "gebs/gebs.h"
char *prog = NULL;
#define DEBUG 1
int main(int argc, char ** argv)
{
rebuild_self(argc, argv, "cc", "-o", "build", "build.c");
prog = SHIFT(&argc, &argv);
char *cmd = SHIFT(&argc, &argv);
if (strcmp(cmd, "make") == 0) {
RULE("./aboba",
"./main.c",
"./routes.c",
"./baked.c",
"./mongoose.o",
"./gpp1",
"./tmpls/home.t",
"./tmpls/page-missing.t"
) {
RULE("./mongoose.o", "./mongoose/mongoose.c") {
#if DEBUG
CMD("cc", "-ggdb", "-c", "-D_GNU_SOURCE", "-o", "./mongoose.o", "./mongoose/mongoose.c");
#else
CMD("cc", "-c", "-D_GNU_SOURCE", "-o", "./mongoose.o", "./mongoose/mongoose.c");
#endif
}
RULE("./gpp1", "./gpp/gpp.c") {
CMD("cc", "-DHAVE_STRDUP", "-DHAVE_FNMATCH_H", "-o", "gpp1", "gpp/gpp.c");
}
#if DEBUG
CMD("cc", "-ggdb", "-I.", "-D_GNU_SOURCE", "-DGEBS_NO_PREFIX",
"-DINCBIN_PREFIX=", "-DINCBIN_STYLE=INCBIN_STYLE_SNAKE", "-o", "./aboba",
"./main.c", "./routes.c", "./baked.c", "./mongoose.o");
#else
CMD("cc", "-I.", "-D_GNU_SOURCE", "-DGEBS_NO_PREFIX",
"-DINCBIN_PREFIX=", "-DINCBIN_STYLE=INCBIN_STYLE_SNAKE", "-o", "./aboba",
"./main.c", "./routes.c", "./baked.c", "./mongoose.o");
#endif
}
} else if (strcmp(cmd, "clean") == 0) {
remove1("./build");
remove1("./aboba");
remove("./mongoose.o");
}
return 0;
}