summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--Makefile15
-rw-r--r--nullshell.c1
3 files changed, 11 insertions, 8 deletions
diff --git a/.gitignore b/.gitignore
index a0b9981..32c39d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
-nullshell
config.h
+nullshell
README.html
+version.h
diff --git a/Makefile b/Makefile
index 03ae732..e50dfe9 100644
--- a/Makefile
+++ b/Makefile
@@ -7,18 +7,19 @@ MD := markdown
INSTALL := install
RM := rm
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: nullshell README.html
-nullshell: nullshell.c config.h
- $(CC) $(CFLAGS) $(LDFLAGS) nullshell.c -o nullshell \
- -DVERSION="\"$(VERSION)\""
+nullshell: nullshell.c config.h version.h
+ $(CC) $(CFLAGS) $(LDFLAGS) nullshell.c -o nullshell
+
+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" >> $@
config.h:
$(CP) config.def.h config.h
@@ -36,4 +37,4 @@ install-doc: README.html
$(INSTALL) -D -m0755 README.html $(DESTDIR)$(PREFIX)/share/doc/nullshell/README.html
clean:
- $(RM) -f README.html nullshell
+ $(RM) -f README.html nullshell version.h
diff --git a/nullshell.c b/nullshell.c
index 7986cbf..52a5a81 100644
--- a/nullshell.c
+++ b/nullshell.c
@@ -14,6 +14,7 @@
#include <unistd.h>
#include "config.h"
+#include "version.h"
int main(int argc, char **argv) {
time_t now;