feat: version_gen.h

This commit is contained in:
lohhiiccc 2026-05-18 11:52:00 +02:00
parent 9f179fa596
commit 3d8590a62e
2 changed files with 38 additions and 0 deletions

1
.gitignore vendored
View file

@ -9,6 +9,7 @@
*.d
*.lo
.dirstamp
include/version_gen.h
# Automake test results
*.log

View file

@ -1,5 +1,42 @@
lib_LTLIBRARIES = libcli.la
LIBCLI_VERSION = 0.0.1
VERSION_HEADER = $(top_srcdir)/include/version_gen.h
BUILT_SOURCES = $(VERSION_HEADER)
CLEANFILES = $(VERSION_HEADER)
$(VERSION_HEADER): FORCE
@NEW_HEADER=$$(mktemp); \
LIBCLI_BUILD_DATE=$$(git -C $(top_srcdir) log -1 --format=%cd \
--date=format:'%Y-%m-%d %H:%M:%S' 2>/dev/null \
|| date -u '+%Y-%m-%d %H:%M:%S'); \
LIBCLI_GIT_COMMIT=$$(git -C $(top_srcdir) rev-parse --short HEAD 2>/dev/null \
|| echo "nogit"); \
if test "$$LIBCLI_GIT_COMMIT" = "nogit"; then \
HAS_GIT=0; \
else \
HAS_GIT=1; \
fi; \
echo "/* Auto-generated - DO NOT EDIT */" > $$NEW_HEADER; \
echo "#ifndef LIBCLI_VERSION_GEN_H" >> $$NEW_HEADER; \
echo "#define LIBCLI_VERSION_GEN_H" >> $$NEW_HEADER; \
echo "#define LIBCLI_VERSION \"$(LIBCLI_VERSION)\"" >> $$NEW_HEADER; \
echo "#define LIBCLI_BUILD_DATE \"$$LIBCLI_BUILD_DATE\"" >> $$NEW_HEADER; \
echo "#define LIBCLI_GIT_COMMIT \"$$LIBCLI_GIT_COMMIT\"" >> $$NEW_HEADER; \
echo "#define LIBCLI_HAS_GIT_COMMIT $$HAS_GIT" >> $$NEW_HEADER; \
echo "" >> $$NEW_HEADER; \
echo "#endif" >> $$NEW_HEADER; \
if test ! -f $(VERSION_HEADER) || ! cmp -s $$NEW_HEADER $(VERSION_HEADER); then \
mv $$NEW_HEADER $(VERSION_HEADER); \
echo "[OK] Version header generated"; \
else \
rm -f $$NEW_HEADER; \
fi
FORCE:
.PHONY: FORCE
libcli_la_SOURCES = \
parse.c \
help.c \