New footer that includes current commit

This commit is contained in:
kamkow1
2025-06-18 01:51:04 +02:00
parent 5db22711be
commit a90517c4da
8 changed files with 59 additions and 6 deletions

32
build.c
View File

@ -16,7 +16,11 @@ int main(int argc, char ** argv)
RULE("./aboba",
"./main.c",
"./routes.c",
"./routes.h",
"./baked.c",
"./baked.h",
"./clonestr.h",
"./commit.h"
"./mongoose.o",
"./gpp1",
@ -47,6 +51,34 @@ int main(int argc, char ** argv)
CMD("cc", "-DHAVE_STRDUP", "-DHAVE_FNMATCH_H", "-o", "gpp1", "gpp/gpp.c");
}
RULE("./commit.h") {
String_Builder commit = {0};
defer { sb_free(&commit); }
Cmd commit_get_cmd = {0};
defer { cmd_free(&commit_get_cmd); }
cmd_append(&commit_get_cmd, "git");
cmd_append(&commit_get_cmd, "rev-parse");
cmd_append(&commit_get_cmd, "HEAD");
cmd_run_collect(&commit_get_cmd, &commit);
commit.items[commit.count - 2] = '\0'; // \n -> \0
LOGI("Commit %s\n", commit.items);
String_Builder header = {0};
defer { sb_free(&header); }
sb_append_nstr(&header, "#ifndef COMMIT_H_\n");
sb_append_nstr(&header, "#define COMMIT_H_\n");
sb_append_nstr(&header, fmt("#define COMMIT_STRING \"%s\"\n", commit.items));
sb_append_nstr(&header, "#endif // COMMIT_H_\n");
FILE *out = fopen("./commit.h", "w");
if (out) {
fwrite(header.items, header.count, 1, out);
fclose(out);
}
}
#if DEBUG
CMD("cc", "-fPIC", "-ggdb", "-I.", "-DDEBUG=1", "-D_GNU_SOURCE", "-DGEBS_NO_PREFIX",
"-DINCBIN_PREFIX=", "-DINCBIN_STYLE=INCBIN_STYLE_SNAKE", "-Wl,-z,execstack", "-o", "./aboba",