From 0da22db6fadfc1d55acc35715e0bb065ed17c289 Mon Sep 17 00:00:00 2001 From: lohhiiccc Date: Mon, 18 May 2026 11:52:40 +0200 Subject: [PATCH] feat: lib ft_ssl version header --- .gitignore | 1 + src/Makefile.am | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/.gitignore b/.gitignore index 9f8ba6f..aecb918 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ m4/ ft_getopt.pc .libs/ compile_commands.json +include/libft_ssl_version.h diff --git a/src/Makefile.am b/src/Makefile.am index a9e83c3..ac65efc 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,42 @@ lib_LTLIBRARIES = libft_ssl.la +LIBFT_SSL_VERSION = 0.0.1 +VERSION_HEADER = $(top_srcdir)/include/libft_ssl_version.h + +BUILT_SOURCES = $(VERSION_HEADER) +CLEANFILES = $(VERSION_HEADER) + +$(VERSION_HEADER): FORCE + @NEW_HEADER=$$(mktemp); \ + LIBFT_SSL_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'); \ + LIBFT_SSL_GIT_COMMIT=$$(git -C $(top_srcdir) rev-parse --short HEAD 2>/dev/null \ + || echo "nogit"); \ + if test "$$LIBFT_SSL_GIT_COMMIT" = "nogit"; then \ + HAS_GIT=0; \ + else \ + HAS_GIT=1; \ + fi; \ + echo "/* Auto-generated - DO NOT EDIT */" > $$NEW_HEADER; \ + echo "#ifndef LIBFT_SSL_VERSION_GEN_H" >> $$NEW_HEADER; \ + echo "#define LIBFT_SSL_VERSION_GEN_H" >> $$NEW_HEADER; \ + echo "#define LIBFT_SSL_VERSION \"$(LIBFT_SSL_VERSION)\"" >> $$NEW_HEADER; \ + echo "#define LIBFT_SSL_BUILD_DATE \"$$LIBFT_SSL_BUILD_DATE\"" >> $$NEW_HEADER; \ + echo "#define LIBFT_SSL_GIT_COMMIT \"$$LIBFT_SSL_GIT_COMMIT\"" >> $$NEW_HEADER; \ + echo "#define LIBFT_SSL_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 + libft_ssl_la_SOURCES = libft_ssl.c \ md5/md5.c \ md5/md5_init.c \