diff --git a/arch/arm/measuremore/Kbuild b/arch/arm/measuremore/Kbuild
new file mode 100644
index 0000000000000000000000000000000000000000..03c8c717d9aa9a218951539f3e845e01b0bcdd80
--- /dev/null
+++ b/arch/arm/measuremore/Kbuild
@@ -0,0 +1,13 @@
+ccflags-$(CONFIG_MEASUREMORE) := -std=gnu99 -Wno-declaration-after-statement
+obj-$(CONFIG_MEASUREMORE) += measuremore.o
+measuremore-objs += trigger.o measure.o pmccntr_timestamp.o
+
+$(obj)/trigger.o: $(obj)/kernel_memo_git_commit.h $(obj)/kernel_memo_git_status.h
+
+targets += $(obj)/kernel_memo_git_commit.h $(obj)/kernel_memo_git_status.h
+
+$(obj)/kernel_memo_git_commit.h: .git/HEAD .git/index
+	echo "const char *kernel_memo_git_commit = \"$(shell git rev-parse HEAD)\";" > $@
+
+$(obj)/kernel_memo_git_status.h: FORCE
+	echo "const char *kernel_memo_git_status = \"$(shell git status --porcelain)\";" > $@
diff --git a/arch/arm/measuremore/Makefile b/arch/arm/measuremore/Makefile
index 04fd4a9b6432d1473544eaa8f0446109cec2eba5..f3140e6543fa12ad71da87e2968d6db298189222 100644
--- a/arch/arm/measuremore/Makefile
+++ b/arch/arm/measuremore/Makefile
@@ -1,27 +1,17 @@
-ccflags-$(CONFIG_MEASUREMORE) := -std=gnu99 -Wno-declaration-after-statement
-obj-$(CONFIG_MEASUREMORE) += measuremore.o
-measuremore-objs += trigger.o measure.o pmccntr_timestamp.o
-
 # Assumes we are in arch/arm/measuremore.
-KERNEL=../../..
-
-all: kernel_memo_git_commit.c kernel_memo_git_status.c
-	$(MAKE) ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -j 4 zImage -C $(KERNEL)
-
-kernel_memo_git_commit.c: $(KERNEL)/.git/HEAD $(KERNEL)/.git/index
-	echo "const char *kernel_memo_git_commit = \"$(shell cd $(KERNEL) && git rev-parse HEAD)\";" > $@
+KDIR=../../..
 
-kernel_memo_git_status.c: $(KERNEL)/.git/HEAD $(KERNEL)/.git/index
-	echo "const char *kernel_memo_git_status = \"$(shell cd $(KERNEL) && git status --porcelain)\";" > $@
+all:
+	$(MAKE) ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -j 4 zImage -C $(KDIR)
 
 clean:
-	rm -f kernel_memo_git_commit.c kernel_memo_git_status.c *.o .*.o.cmd
+	rm -f kernel_memo_git_commit.h kernel_memo_git_status.h *.o .*.o.cmd
 
 romboot:
 	board-romboot
 
 flash_kernel:
-	./scripts/flash_kernel
+	board-flash-kernel $(KDIR)
 
 reset:
 	board-reset
diff --git a/arch/arm/measuremore/trigger.c b/arch/arm/measuremore/trigger.c
index 8985b8a929ca61a7a76c8175b298e7a76596edc5..34bcab22283637cf0567c12b945dedf027ce7619 100644
--- a/arch/arm/measuremore/trigger.c
+++ b/arch/arm/measuremore/trigger.c
@@ -18,8 +18,8 @@
 #include "pmccntr_timestamp.h"
 #include <linux/measuremore.h>
 
-#include "kernel_memo_git_commit.c"
-#include "kernel_memo_git_status.c"
+#include "kernel_memo_git_commit.h"
+#include "kernel_memo_git_status.h"
 
 #define pr_here() pr_err("%s:%d %s called\n", __FILE__, __LINE__, __func__)