The following changes since commit 548361ec318c5381bc13eb7d9fa7e6f59d7081f1:
Created a new Makefrag-user-app helper for building binaries (2015-12-21 12:56:49 -0500)
are available in the git repository at:
g...@github.com:dlibenzi/akaros build_info_depend
for you to fetch changes up to 80646b957221e5d3d2a7fea9722510fc2cbfd66e:
Enable build info rebuild upon HEAD commit ID change (2015-12-21 11:24:36 -0800)
----------------------------------------------------------------
Davide Libenzi (1):
Enable build info rebuild upon HEAD commit ID change
.gitignore | 2 +-
kern/src/Kbuild | 15 +++++++++++----
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/.gitignore b/.gitignore
index 20c022f..2c8ba61 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,7 +19,7 @@ ros-project.tmproj
kern/boot
kern/include/arch
kern/src/arch
-kern/src/build_info.c
+kern/src/build_info.*
kern/src/error.c
user/parlib/include/arch
Documentation/doxygen/rosdoc
diff --git a/kern/src/Kbuild b/kern/src/Kbuild
index c3af054..f4cb602 100644
--- a/kern/src/Kbuild
+++ b/kern/src/Kbuild
@@ -7,7 +7,14 @@ $(src)/error.c: $(AKAROS_ROOT)/include/ros/errno.h
@echo "};" >> $(@)
@echo "const int MAX_ERRNO = sizeof(errno_strings)/sizeof(errno_strings[0]);" >> $(@)
-$(src)/build_info.c:
+$(src)/build_info.cid:
+ @echo `git rev-parse HEAD` > $(src)/build_info.cid.tmp
+ @if [ ! -f $(src)/build_info.cid ] || \
+ [ `cmp -s $(src)/build_info.cid $(src)/build_info.cid.tmp` -ne 0 ]; then \
+ cp $(src)/build_info.cid.tmp $(src)/build_info.cid; fi;
+ @rm -f $(src)/build_info.cid.tmp
+
+$(src)/build_info.c: $(src)/build_info.cid
ifeq ($(BUILD_INFO_FILE),)
@echo "/* Automatically generated. DO NOT EDIT! */" > $(@)
@echo "" >> $(@)
@@ -17,17 +24,17 @@ ifeq ($(BUILD_INFO_FILE),)
>> $(@)
@echo "const char build_info_host[] = { \"`hostname`\" };"\
>> $(@)
- @echo "const char build_info_commitid[] = { \"`git rev-parse HEAD`\" };"\
+ @echo "const char build_info_commitid[] = { \"`cat $(src)/build_info.cid`\" };"\
>> $(@)
@echo "const char build_info_version[] = { \"$(KERNELVERSION)\" };"\
>> $(@)
@echo "const char build_info_version_name[] = { \"$(VERNAME)\" };"\
>> $(@)
else
- @cp $(BUILD_INFO_FILE) $(@)
+ cp $(BUILD_INFO_FILE) $(@)
endif
-clean-files += build_info.c error.c
+clean-files += build_info.c build_info.cid error.c
obj-y += alarm.o
obj-y += apipe.o