aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
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 $@