Archived
1
0
Fork 0

Adding version generation script for Makefile.

This commit is contained in:
Henrik Hautakoski 2013-08-22 10:01:54 +02:00
parent 39b8fb640f
commit d779db6715
3 changed files with 35 additions and 1 deletions

1
.gitignore vendored
View file

@ -1,5 +1,6 @@
.* .*
*.o *.o
VERSION_FILE
dlight dlight
dlight-* dlight-*
config config

View file

@ -1,4 +1,10 @@
all::
VERSION_FILE : FORCE
@$(SHELL) VERSION-GEN $@
-include VERSION_FILE
CC = gcc CC = gcc
LDFLAGS = -lxml2 -lcurl -lpcre LDFLAGS = -lxml2 -lcurl -lpcre
CFLAGS = -g -Wall -I/usr/include/libxml2 CFLAGS = -g -Wall -I/usr/include/libxml2
@ -9,7 +15,7 @@ ifeq ($(DEBUG), 1)
CFLAGS +=-D__DEBUG__ CFLAGS +=-D__DEBUG__
endif endif
all : $(PROGRAMS) all:: $(PROGRAMS)
install : $(PROGRAMS) install : $(PROGRAMS)
cp $^ $(HOME)/bin/ cp $^ $(HOME)/bin/
@ -24,5 +30,14 @@ dlight-filter-check: filter-check.o filter.o error.o version.o
dlight-% : %.o dlight-% : %.o
$(CC) $(LDFLAGS) -o $@ $^ $(CC) $(LDFLAGS) -o $@ $^
version.o : VERSION_FILE FORCE
version.o : EXTRA_CFLAGS = -DDLIGHT_VERSION=\"$(VERSION)\"
%.o : %.c
$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $<
clean : clean :
$(RM) *.o $(PROGRAMS) $(RM) *.o $(PROGRAMS)
$(RM) VERSION_FILE
FORCE:

18
VERSION-GEN Normal file
View file

@ -0,0 +1,18 @@
#!/bin/sh
VERSION=$(git describe --always --tags --match "v[0-9]*" HEAD 2>/dev/null)
if [ -n "$(git status --porcelain)" ]; then
VERSION="${VERSION}-dirty"
fi
if [ -f "${1}" ]; then
OLD=$(cat ${1} | sed 's/VERSION = //')
else
OLD=unset
fi
if [ "${VERSION}" != "${OLD}" ]; then
#echo >&2 "VERSION = ${VERSION}"
echo "VERSION = ${VERSION}" > ${1}
fi