# HG changeset patch # User Mychaela Falconia # Date 1501734246 0 # Node ID 35b17d54773d5b4c53f6b97d8b234198e5cb48b8 # Parent 294c26c07561073afd4743d8eb389de8ab7be26b helpers: build-date helper program written diff -r 294c26c07561 -r 35b17d54773d .hgignore --- 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$ diff -r 294c26c07561 -r 35b17d54773d helpers/Makefile --- 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 diff -r 294c26c07561 -r 35b17d54773d helpers/build-date.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 +#include +#include + +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); +}