New version scheme

VERSION string between releases is last release suffixed with '+'.
Additionally, use output of git-describe instead of VERSION string, if it is
not empty.
This commit is contained in:
Bert Münnich 2018-06-09 11:33:30 +02:00
parent b78aaee9d7
commit 8bf1adcd9a
2 changed files with 13 additions and 3 deletions

View File

@ -1,4 +1,4 @@
VERSION = git-20180411 VERSION = 24+
srcdir = . srcdir = .
VPATH = $(srcdir) VPATH = $(srcdir)
@ -20,7 +20,7 @@ HAVE_GIFLIB = 1
HAVE_LIBEXIF = 1 HAVE_LIBEXIF = 1
ALL_CFLAGS = $(DEF_CFLAGS) $(CFLAGS) ALL_CFLAGS = $(DEF_CFLAGS) $(CFLAGS)
REQ_CPPFLAGS = -I. -D_XOPEN_SOURCE=700 -DVERSION=\"$(VERSION)\" \ REQ_CPPFLAGS = -I. -D_XOPEN_SOURCE=700 \
-DHAVE_GIFLIB=$(HAVE_GIFLIB) -DHAVE_LIBEXIF=$(HAVE_LIBEXIF) -DHAVE_GIFLIB=$(HAVE_GIFLIB) -DHAVE_LIBEXIF=$(HAVE_LIBEXIF)
ALL_CPPFLAGS = $(REQ_CPPFLAGS) $(DEF_CPPFLAGS) $(CPPFLAGS) ALL_CPPFLAGS = $(REQ_CPPFLAGS) $(DEF_CPPFLAGS) $(CPPFLAGS)
@ -46,6 +46,7 @@ sxiv: $(OBJS)
$(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $(OBJS) $(LDLIBS) $(CC) $(LDFLAGS) $(ALL_CFLAGS) -o $@ $(OBJS) $(LDLIBS)
$(OBJS): Makefile sxiv.h commands.lst config.h $(OBJS): Makefile sxiv.h commands.lst config.h
options.o: version.h
window.o: icon/data.h window.o: icon/data.h
.c.o: .c.o:
@ -56,6 +57,14 @@ config.h:
@echo "GEN $@" @echo "GEN $@"
cp $(srcdir)/config.def.h $@ cp $(srcdir)/config.def.h $@
version.h: Makefile .git/index
@echo "GEN $@"
VERSION="$$(cd $(srcdir); git describe 2>/dev/null)"; \
[ -z "$$VERSION" ] && VERSION="$(VERSION)"; \
echo "#define VERSION \"$$VERSION\"" >$@
.git/index:
clean: clean:
rm -f *.o sxiv rm -f *.o sxiv

View File

@ -19,6 +19,7 @@
#include "sxiv.h" #include "sxiv.h"
#define _IMAGE_CONFIG #define _IMAGE_CONFIG
#include "config.h" #include "config.h"
#include "version.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -36,7 +37,7 @@ void print_usage(void)
void print_version(void) void print_version(void)
{ {
printf("sxiv %s - Simple X Image Viewer\n", VERSION); puts("sxiv " VERSION);
} }
void parse_options(int argc, char **argv) void parse_options(int argc, char **argv)