Index: kernel/Makefile
===================================================================
--- kernel/Makefile	(revision eacb957f6c30d6c807f9a5ca0a3e535e59262c52)
+++ kernel/Makefile	(revision ed632988c6b2a483a45b26f06f129ef8a5c69e75)
@@ -33,8 +33,7 @@
 all: ../version ../Makefile.config ../config.h ../config.defs
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build EXTRA_TOOL=$(EXTRA_TOOL)
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
 	rm -f $(DEPEND) $(DEPEND_PREV) $(RAW) $(BIN) $(MAP) $(JOB) $(MAP_PREV) $(DISASM) $(DUMP) $(REAL_MAP).* $(ARCH_INCLUDE) $(GENARCH_INCLUDE) arch/*/_link.ld
 	find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \;
-	find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o.preproc' -follow -exec rm \{\} \;
Index: kernel/Makefile.build
===================================================================
--- kernel/Makefile.build	(revision eacb957f6c30d6c807f9a5ca0a3e535e59262c52)
+++ kernel/Makefile.build	(revision ed632988c6b2a483a45b26f06f129ef8a5c69e75)
@@ -375,7 +375,13 @@
 %.o: %.S $(DEPEND)
 	$(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(GCC_CFLAGS) -D__ASM__
+endif
 
 %.o: %.s $(DEPEND)
 	$(AS) $(AFLAGS) $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm $(DEFS) $(CFLAGS) $(EXTRA_FLAGS)
+endif
 
 #
@@ -385,6 +391,6 @@
 test/fpu/%.o: test/fpu/%.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) -c $< -o $@
-ifeq ($(EXTRA_TOOL),stanse)
-	../tools/jobfile.py $(JOB) $< $@ $(DEFS) $(CFLAGS) $(EXTRA_FLAGS)
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc test $(DEFS) $(CFLAGS) $(EXTRA_FLAGS)
 endif
 
@@ -394,6 +400,6 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS) -c $< -o $@
-ifeq ($(EXTRA_TOOL),stanse)
-	../tools/jobfile.py $(JOB) $< $@ $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS)
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS)
 endif
 
@@ -405,5 +411,5 @@
 	$(LD) -T $(LINK) $(LFLAGS) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP) -o $@ -Map $(MAP_PREV)
 	$(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
-	tools/genmap.py $(MAP_PREV) $(DUMP) $@
+	$(GENMAP) $(MAP_PREV) $(DUMP) $@
 	
 	# Do it once again, this time to get correct even the symbols
@@ -413,5 +419,5 @@
 	$(LD) -T $(LINK) $(LFLAGS) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP) -o $@ -Map $(MAP_PREV)
 	$(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
-	tools/genmap.py $(MAP_PREV) $(DUMP) $@
+	$(GENMAP) $(MAP_PREV) $(DUMP) $@
 
 $(DEPEND): $(ARCH_INCLUDE) $(GENARCH_INCLUDE)
Index: kernel/Makefile.common
===================================================================
--- kernel/Makefile.common	(revision eacb957f6c30d6c807f9a5ca0a3e535e59262c52)
+++ kernel/Makefile.common	(revision ed632988c6b2a483a45b26f06f129ef8a5c69e75)
@@ -44,2 +44,5 @@
 ARCH_INCLUDE = generic/include/arch
 GENARCH_INCLUDE = generic/include/genarch
+
+GENMAP = tools/genmap.py
+JOBFILE = ../tools/jobfile.py
