summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Makefile20
-rw-r--r--src/exchange.c6
2 files changed, 19 insertions, 7 deletions
diff --git a/src/Makefile b/src/Makefile
index 339522d..cfb66b7 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,13 +1,23 @@
-INSTALL = install
-
VERSION = $(shell git describe --dirty --always)
+DATE_FMT = +%b %d %Y %H:%M:%S UTC
+
+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 -u "$(DATE_FMT)")
+endif
+
+INSTALL = install
-CFLAGS += -Wall -DVERSION="\"$(VERSION)\""
+CFLAGS += -Wall -DVERSION="\"$(VERSION)\"" -DBUILD_DATE="\"$(BUILD_DATE)\""
LDFLAGS +=
TARGETS := exchange
-MAINS := $(addsuffix .o, $(TARGETS))
-OBJ := $(MAINS)
+MAINS := $(addsuffix .o, $(TARGETS))
+OBJ := $(MAINS)
.PHONY: all
all: $(TARGETS)
diff --git a/src/exchange.c b/src/exchange.c
index e525e8f..c818606 100644
--- a/src/exchange.c
+++ b/src/exchange.c
@@ -38,8 +38,10 @@ Available Options:\n\
}
void version() {
- printf("%s %s\n", program_name, VERSION);
- printf("Build on %s %s.\n", __DATE__, __TIME__);
+ printf("%s %s\n", program_name, VERSION);
+#ifdef BUILD_DATE
+ printf("Build on %s.\n", BUILD_DATE);
+#endif
}
#endif // !SMALL