1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
--- a/Makefile
+++ b/Makefile
@@ -2,11 +2,11 @@ include version.mk
include config.mk
include colors.mk
-HLWMSRC = $(wildcard src/*.cpp)
+HLWMSRC = $(sort $(wildcard src/*.cpp))
HLWMOBJ = $(HLWMSRC:.cpp=.o)
HLWMTARGET = herbstluftwm
-HCSRC = $(wildcard ipc-client/*.c)
+HCSRC = $(sort $(wildcard ipc-client/*.c))
HCOBJ = $(HCSRC:.c=.o)
HCTARGET = herbstclient
@@ -18,6 +18,15 @@
HERBSTLUFTWMDOC = doc/herbstluftwm.txt
TUTORIAL = doc/herbstluftwm-tutorial.txt
+DATE_FMT = %Y-%m-%d
+ifdef SOURCE_DATE_EPOCH
+ BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u "+$(DATE_FMT)")
+else
+ BUILD_DATE ?= $(shell date "+$(DATE_FMT)")
+endif
+
+export CPPFLAGS += -DBUILD_DATE="\"$(BUILD_DATE)\""
+
.PHONY: depend all all-nodoc doc install install-nodoc info www
.PHONY: cleandoc cleanwww cleandeps clean
@@ -93,7 +102,7 @@
doc/%.1 doc/%.7: doc/%.txt version.mk
$(call colorecho,DOC,$@)
- $(VERBOSE) $(A2X) -f manpage -a "herbstluftwmversion=herbstluftwm $(VERSION)" -a "date=`date +%Y-%m-%d`" $<
+ $(VERBOSE) $(A2X) -f manpage -a "herbstluftwmversion=herbstluftwm $(VERSION)" -a "date=$(BUILD_DATE)" $<
doc/%.html: doc/%.txt version.mk
$(call colorecho,DOC,$@)
--- a/ipc-client/main.c
+++ b/ipc-client/main.c
@@ -17,7 +17,7 @@
#include "client-utils.h"
#define HERBSTCLIENT_VERSION_STRING \
- "herbstclient " HERBSTLUFT_VERSION " (built on " __DATE__ ")\n"
+ "herbstclient " HERBSTLUFT_VERSION " (built on " BUILD_DATE ")\n"
void print_help(char* command, FILE* file);
void init_hook_regex(int argc, char* argv[]);
--- a/src/globals.h
+++ b/src/globals.h
@@ -12,7 +12,7 @@
#define HERBSTLUFT_AUTOSTART "herbstluftwm/autostart"
#define WINDOW_MANAGER_NAME "herbstluftwm"
#define HERBSTLUFT_VERSION_STRING \
- WINDOW_MANAGER_NAME " " HERBSTLUFT_VERSION " (built on " __DATE__ ")"
+ WINDOW_MANAGER_NAME " " HERBSTLUFT_VERSION " (built on " BUILD_DATE ")"
#define HERBST_FRAME_CLASS "_HERBST_FRAME"
#define HERBST_DECORATION_CLASS "_HERBST_DECORATION"
|