aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorfrosty <gabriel@bwaaa.monster>2026-09-19 22:59:12 -0400
committerfrosty <gabriel@bwaaa.monster>2026-09-19 22:59:12 -0400
commit9b34d3cb8ea7d7651fc65d264b0dcfd867cc044b (patch)
treef35d63562b40d55771447c222f80b811851c0834 /Makefile
parentaa3d05247f4c564c0fe236602640ad9d0d24989b (diff)
chore: change how versions are handled
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile15
1 files changed, 14 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index b63fc83..910cd50 100644
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,14 @@ PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
DESTDIR ?=
+GIT_HASH := $(shell git rev-parse --short HEAD)
+GIT_DATE := $(shell git log -1 --format='%ad' --date='format:%y.%m.%d')
+GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
+GIT_REMOTE := $(shell git remote get-url origin)
+GIT_TAG := $(shell git describe --tags --exact-match HEAD 2>/dev/null)
+
+VERSION := $(if $(GIT_TAG),$(GIT_TAG),$(GIT_DATE)+$(GIT_HASH)_$(GIT_BRANCH))
+
TARGET := bin/yapssg
SOURCES := src/Main.c $(wildcard src/*/*.c)
OBJECTS := $(patsubst src/%.c,obj/%.o,$(SOURCES))
@@ -12,7 +20,7 @@ CPPFLAGS += -Isrc $(shell $(PKG_CONFIG) --cflags libxml-2.0 luajit)
CFLAGS ?= -O2 -Wall -Wextra -Werror -std=c99
LDLIBS += $(shell $(PKG_CONFIG) --libs libxml-2.0 luajit)
-.PHONY: all clean install
+.PHONY: all clean install FORCE
all: $(TARGET)
@@ -23,6 +31,11 @@ obj/%.o: src/%.c
mkdir -p $(@D)
$(CC) $(CPPFLAGS) $(CFLAGS) -MMD -MP -c $< -o $@
+obj/Version/Version.o: CPPFLAGS += -DYAPSSG_VERSION=\"$(VERSION)\"
+obj/Version/Version.o: FORCE
+
+FORCE:
+
bin:
mkdir -p $@