New footer that includes current commit
This commit is contained in:
32
build.c
32
build.c
@ -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",
|
||||
|
Reference in New Issue
Block a user