Rename KMALLOC_* -> MEM_* [2/2]
[akaros.git] / kern / src / Kbuild
index 939a914..90be22d 100644 (file)
@@ -1,11 +1,31 @@
+$(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)/error.c: $(AKAROS_ROOT)/include/ros/errno.h
-       @echo "// This file was automatically generated not edit" > $(@)
-       @echo ""                               >> $(@)
-       @echo "const char *errno_strings[] = {" >> $(@)
-       @cat $(^) | $(AKAROS_ROOT)/scripts/parse_errno.sh >> $(@)
-       @echo "};"                             >> $(@)
-       @echo "const int MAX_ERRNO = sizeof(errno_strings)/sizeof(errno_strings[0]);" >> $(@)
+$(src)/build_info.c: $(src)/build_info.cid
+ifeq ($(BUILD_INFO_FILE),)
+               @echo "/* Automatically generated. DO NOT EDIT! */" > $(@)
+               @echo "" >> $(@)
+               @echo "const char build_info_kernel_path[] = { \"$(KERNEL_ELF_PATH)\" };"\
+                       >> $(@)
+               @echo "const char build_info_date[] = { \"`date`\" };"\
+                       >> $(@)
+               @echo "const char build_info_host[] = { \"`hostname`\" };"\
+                       >> $(@)
+               @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) $(@)
+endif
+
+clean-files += build_info.c build_info.cid
 
 obj-y                                          += alarm.o
 obj-y                                          += apipe.o
@@ -13,6 +33,7 @@ obj-y                                         += arsc.o
 obj-y                                          += atomic.o
 obj-y                                          += bitmap.o
 obj-y                                          += blockdev.o
+obj-y                                          += build_info.o
 obj-y                                          += ceq.o
 obj-y                                          += colored_caches.o
 obj-y                                          += completion.o
@@ -24,7 +45,6 @@ obj-y                                         += dmapool.o
 obj-y                                          += elf.o
 obj-y                                          += env.o
 obj-y                                          += err.o
-obj-y                                          += error.o
 obj-$(CONFIG_ETH_AUDIO)                += eth_audio.o
 obj-y                                          += event.o
 obj-y                                          += ext2fs.o