Generate/update a version.h header file.

This is dedicated to Lubomir ;)

Should work (tm).  Not sure though if you want target
'gen_version_file' as a pre-requisite to $(NAME) or some other target.

[Dirk Hohndel: minor adjustments to make it work with gtk-gui.c]

Signed-off-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Cristian Ionescu-Idbohrn 2013-02-26 18:24:02 +01:00 committed by Dirk Hohndel
parent 686a27aee9
commit 42fa5a6368
3 changed files with 18 additions and 5 deletions

1
.gitignore vendored
View file

@ -5,6 +5,7 @@
*.dmg *.dmg
*.patch *.patch
*.xml *.xml
version.h
!dives/*.xml !dives/*.xml
*~ *~
po/*.mo po/*.mo

View file

@ -25,6 +25,12 @@ DESKTOPFILE = $(NAME).desktop
MANFILES = $(NAME).1 MANFILES = $(NAME).1
XSLTFILES = xslt/*.xslt XSLTFILES = xslt/*.xslt
VERSION_FILE = version.h
# There's only one line in $(VERSION_FILE); use the shell builtin `read'
STORED_VERSION_STRING = \
$(subst ",,$(shell read ignore ignore v <$(VERSION_FILE) && echo $$v))
#" workaround editor syntax highlighting quirk
UNAME := $(shell $(CC) -dumpmachine 2>&1 | grep -E -o "linux|darwin|win") UNAME := $(shell $(CC) -dumpmachine 2>&1 | grep -E -o "linux|darwin|win")
GET_VERSION = ./scripts/get-version GET_VERSION = ./scripts/get-version
VERSION_STRING := $(shell $(GET_VERSION) linux || echo "v$(VERSION)") VERSION_STRING := $(shell $(GET_VERSION) linux || echo "v$(VERSION)")
@ -157,7 +163,13 @@ OBJS = main.o dive.o time.o profile.o info.o equipment.o divelist.o deco.o plann
DEPS = $(wildcard .dep/*.dep) DEPS = $(wildcard .dep/*.dep)
$(NAME): $(OBJS) $(MSGOBJS) $(INFOPLIST) gen_version_file:
ifneq ($(STORED_VERSION_STRING),$(VERSION_STRING))
$(info updating $(VERSION_FILE) to $(VERSION_STRING))
@echo \#define VERSION_STRING \"$(VERSION_STRING)\" >$(VERSION_FILE)
endif
$(NAME): gen_version_file $(OBJS) $(MSGOBJS) $(INFOPLIST)
$(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS) $(CC) $(LDFLAGS) -o $(NAME) $(OBJS) $(LIBS)
install: $(NAME) install: $(NAME)
@ -256,8 +268,7 @@ prepare-po-files:
EXTRA_FLAGS = $(GTKCFLAGS) $(GLIB2CFLAGS) $(XML2CFLAGS) \ EXTRA_FLAGS = $(GTKCFLAGS) $(GLIB2CFLAGS) $(XML2CFLAGS) \
$(XSLT) $(ZIP) $(LIBDIVECOMPUTERCFLAGS) \ $(XSLT) $(ZIP) $(LIBDIVECOMPUTERCFLAGS) \
$(LIBSOUPCFLAGS) $(OSMGPSMAPFLAGS) $(GCONF2CFLAGS) \ $(LIBSOUPCFLAGS) $(OSMGPSMAPFLAGS) $(GCONF2CFLAGS)
-DVERSION_STRING='"$(VERSION_STRING)"'
%.o: %.c %.o: %.c
@echo ' CC' $< @echo ' CC' $<
@ -290,7 +301,8 @@ doc:
$(MAKE) -C Documentation doc $(MAKE) -C Documentation doc
clean: clean:
rm -f $(OBJS) *~ $(NAME) $(NAME).exe po/*~ po/subsurface-new.pot rm -f $(OBJS) *~ $(NAME) $(NAME).exe po/*~ po/subsurface-new.pot \
$(VERSION_FILE)
rm -rf share .dep rm -rf share .dep
-include $(DEPS) -include $(DEPS)

View file

@ -22,7 +22,7 @@
#include "uemis.h" #include "uemis.h"
#include "device.h" #include "device.h"
#include "webservice.h" #include "webservice.h"
#include "version.h"
#include "libdivecomputer.h" #include "libdivecomputer.h"
#include <gdk-pixbuf/gdk-pixbuf.h> #include <gdk-pixbuf/gdk-pixbuf.h>