Index: kernel/Makefile
===================================================================
--- kernel/Makefile	(revision 91db0280db48f5f3ca71923f5d70cbafe2611a02)
+++ kernel/Makefile	(revision 2a37b9f1eb93bba78ec231d42ef29f30dff550a0)
@@ -66,12 +66,12 @@
 SIZEOK_MAP = generic/src/debug/sizeok_map.o
 
-.PHONY: all clean
+.PHONY: all clean autogen_clean
 
 all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(BIN) $(DISASM)
 	-[ -f $(DEPEND) ] && cp -a $(DEPEND) $(DEPEND_PREV)
 
-clean:
+clean: autogen_clean
 	rm -f $(DEPEND) $(DEPEND_PREV) $(RAW) $(BIN) $(MAP) $(JOB) $(MAP_PREV) $(DISASM) $(DUMP) $(REAL_MAP).* arch/*/_link.ld arch/*/include/arch/common.h
-	find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \;
+	find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm '{}' \;
 
 ## Common compiler flags
@@ -367,4 +367,8 @@
 GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
 
+ARCH_AUTOGENS_H := $(addsuffix .h,$(basename $(ARCH_AUTOGENS_AG)))
+ARCH_AUTOGENS_PROBE_C := $(addsuffix .ag.probe.c,$(basename $(ARCH_AUTOGENS_AG)))
+ARCH_AUTOGENS_PROBE_S := $(addsuffix .ag.probe.s,$(basename $(ARCH_AUTOGENS_AG)))
+
 LFLAGS_LTO := $(addprefix -Xlinker ,$(LFLAGS))
 
@@ -397,4 +401,9 @@
 $(LINK): $(LINK).in $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -D__LINKER__ -E -x c $< | grep -v "^\#" > $@
+
+%.h: %.ag
+	$(AUTOGEN) probe $< >$<.probe.c
+	$(GCC) $(DEFS) $(GCC_CFLAGS) -S -o $<.probe.s $<.probe.c
+	$(AUTOGEN) generate $< <$<.probe.s >$@   
 
 %.o: %.S $(DEPEND)
@@ -441,5 +450,5 @@
 	$(GENMAP) $(MAP_PREV) $(DUMP) $@
 
-$(DEPEND): $(COMMON_HEADER_ARCH)
+$(DEPEND): $(COMMON_HEADER_ARCH) $(ARCH_AUTOGENS_H)
 	makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(ARCH_SOURCES) $(GENARCH_SOURCES) $(GENERIC_SOURCES) > $@ 2> /dev/null
 	-[ -f $(DEPEND_PREV) ] && diff -q $(DEPEND_PREV) $@ && mv -f $(DEPEND_PREV) $@
@@ -447,2 +456,5 @@
 $(COMMON_HEADER_ARCH): $(COMMON_HEADER)
 	ln -sfn ../../../../$< $@
+
+autogen_clean:
+	-rm $(ARCH_AUTOGENS_H) $(ARCH_AUTOGENS_PROBE_C) $(ARCH_AUTOGENS_PROBE_S)
