changeset 248:35b17d54773d

helpers: build-date helper program written
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 03 Aug 2017 04:24:06 +0000
parents 294c26c07561
children 17f3647752ba
files .hgignore helpers/Makefile helpers/build-date.c
diffstat 3 files changed, 33 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Mon Jul 24 06:52:58 2017 +0000
+++ b/.hgignore	Thu Aug 03 04:24:06 2017 +0000
@@ -1,6 +1,7 @@
 syntax: regexp
 
 ^build-
+^helpers/build-date$
 ^helpers/makeline$
 ^helpers/srec4ram$
 ^helpers/str2ind-ver$
--- a/helpers/Makefile	Mon Jul 24 06:52:58 2017 +0000
+++ b/helpers/Makefile	Thu Aug 03 04:24:06 2017 +0000
@@ -1,9 +1,12 @@
 CC=	gcc
 CFLAGS=	-O2
-PROGS=	makeline srec4ram str2ind-ver
+PROGS=	build-date makeline srec4ram str2ind-ver
 
 all:	${PROGS}
 
+build-date:	build-date.c
+	${CC} ${CFLAGS} -o $@ $@.c
+
 makeline:	makeline.c
 	${CC} ${CFLAGS} -o $@ $@.c
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/helpers/build-date.c	Thu Aug 03 04:24:06 2017 +0000
@@ -0,0 +1,28 @@
+/*
+ * This program runs at firmware build time to produce a C file for the
+ * fw build that includes the build date and time stamp.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+
+main(argc, argv)
+	char **argv;
+{
+	time_t now;
+	struct tm *tm;
+
+	if (argc != 2) {
+		fprintf(stderr, "usage: %s config_name\n", argv[0]);
+		exit(1);
+	}
+	time(&now);
+	tm = gmtime(&now);
+	printf("const char firmware_version_str[] =\n");
+	printf("\"FreeCalypso Magnetite %s, ", argv[1]);
+	printf("build date %d-%02d-%02dT%02d:%02d:%02dZ\";\n",
+		tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday,
+		tm->tm_hour, tm->tm_min, tm->tm_sec);
+	exit(0);
+}