diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 15 |
1 files changed, 14 insertions, 1 deletions
@@ -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 $@ |
