summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Makefile17
-rw-r--r--dyndhcpd.c1
3 files changed, 11 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index 22d4a5c..7aa2e29 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@
dyndhcpd
config.h
README.html
+version.h
diff --git a/Makefile b/Makefile
index a1d4e47..d6e87d5 100644
--- a/Makefile
+++ b/Makefile
@@ -6,21 +6,22 @@ INSTALL := install
RM := rm
CP := cp
CFLAGS += -O2 -Wall -Werror
-VERSION := $(shell git describe --tags --long 2>/dev/null)
# this is just a fallback in case you do not use git but downloaded
# a release tarball...
-ifeq ($(VERSION),)
VERSION := 0.0.2
-endif
all: dyndhcpd README.html
config.h:
$(CP) config.def.h config.h
-dyndhcpd: dyndhcpd.c config.h
- $(CC) $(CFLAGS) -o dyndhcpd dyndhcpd.c \
- -DVERSION="\"$(VERSION)\""
+version.h: $(wildcard .git/HEAD .git/index .git/refs/tags/*) Makefile
+ echo "#ifndef VERSION" > $@
+ echo "#define VERSION \"$(shell git describe --tags --long 2>/dev/null || echo ${VERSION})\"" >> $@
+ echo "#endif" >> $@
+
+dyndhcpd: dyndhcpd.c config.h version.h
+ $(CC) $(CFLAGS) -o dyndhcpd dyndhcpd.c
README.html: README.md
$(MD) README.md > README.html
@@ -37,7 +38,7 @@ install-doc: README.html
$(INSTALL) -D -m0644 README.html $(DESTDIR)/usr/share/doc/dyndhcpd/README.html
clean:
- $(RM) -f *.o *~ dyndhcpd README.html
+ $(RM) -f *.o *~ dyndhcpd README.html version.h
distclean:
- $(RM) -f *.o *~ dyndhcpd README.html config.h
+ $(RM) -f *.o *~ dyndhcpd README.html version.h config.h
diff --git a/dyndhcpd.c b/dyndhcpd.c
index be21af6..83bfb0c 100644
--- a/dyndhcpd.c
+++ b/dyndhcpd.c
@@ -18,6 +18,7 @@
#include <string.h>
#include "config.h"
+#include "version.h"
/*** str_replace ***/
char * str_replace(char * original, const char * pattern, const char * replacement) {