Commit 2f5d4a48 authored by Patrick Georgi's avatar Patrick Georgi
Browse files

build system: allow overriding the build's timestamp



This allows reproducible builds (same source and same compiler produce
bit-identical results) and also allows coordinating the timestamp across
multiple projects, eg. with another firmware.
Signed-off-by: default avatarPatrick Georgi <pgeorgi@google.com>
parent dbc80717
...@@ -290,6 +290,10 @@ define MAKE_TOOL_ARGS ...@@ -290,6 +290,10 @@ define MAKE_TOOL_ARGS
$(if $(3),$(eval $(call FIP_ADD_PAYLOAD,$(2),--$(3),bl$(1)))) $(if $(3),$(eval $(call FIP_ADD_PAYLOAD,$(2),--$(3),bl$(1))))
endef endef
# Allow overriding the timestamp, for example for reproducible builds, or to
# synchronize timestamps across multiple projects.
# This must be set to a C string (including quotes where applicable).
BUILD_MESSAGE_TIMESTAMP ?= __TIME__", "__DATE__
# MAKE_BL macro defines the targets and options to build each BL image. # MAKE_BL macro defines the targets and options to build each BL image.
# Arguments: # Arguments:
...@@ -315,7 +319,7 @@ $(BUILD_DIR): ...@@ -315,7 +319,7 @@ $(BUILD_DIR):
$(ELF): $(OBJS) $(LINKERFILE) $(ELF): $(OBJS) $(LINKERFILE)
@echo " LD $$@" @echo " LD $$@"
@echo 'const char build_message[] = "Built : "__TIME__", "__DATE__; \ @echo 'const char build_message[] = "Built : "$(BUILD_MESSAGE_TIMESTAMP); \
const char version_string[] = "${VERSION_STRING}";' | \ const char version_string[] = "${VERSION_STRING}";' | \
$$(CC) $$(CFLAGS) -xc - -o $(BUILD_DIR)/build_message.o $$(CC) $$(CFLAGS) -xc - -o $(BUILD_DIR)/build_message.o
$$(Q)$$(LD) -o $$@ $$(LDFLAGS) -Map=$(MAPFILE) --script $(LINKERFILE) \ $$(Q)$$(LD) -o $$@ $$(LDFLAGS) -Map=$(MAPFILE) --script $(LINKERFILE) \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment