Index: boot/arch/arm32/Makefile.inc
===================================================================
--- boot/arch/arm32/Makefile.inc	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/arm32/Makefile.inc	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -30,5 +30,5 @@
 
 $(BASE)/image.boot:
-	$(MAKE) -C arch/$(BARCH)/loader
+	$(MAKE) -C arch/$(BARCH)/loader PRECHECK=$(PRECHECK)
 	cp arch/$(BARCH)/loader/image.boot $@
 
Index: boot/arch/arm32/loader/Makefile
===================================================================
--- boot/arch/arm32/loader/Makefile	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/arm32/loader/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,5 +34,5 @@
 all: ../../../../version ../../../../Makefile.config ../../../../config.h ../../../../config.defs
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
@@ -43,5 +43,5 @@
 		rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
 	done
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
 	find . -name '*.o' -follow -exec rm \{\} \;
 	find . -name '*.co' -follow -exec rm \{\} \;
Index: boot/arch/arm32/loader/Makefile.build
===================================================================
--- boot/arch/arm32/loader/Makefile.build	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/arm32/loader/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -65,7 +65,13 @@
 %.o: %.S $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__
+endif
 
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: boot/arch/arm32/loader/Makefile.common
===================================================================
--- boot/arch/arm32/loader/Makefile.common	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/arm32/loader/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -35,4 +35,5 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = image.job
 OUTPUT = image.boot
 
Index: boot/arch/arm32/loader/Makefile.toolchain
===================================================================
--- boot/arch/arm32/loader/Makefile.toolchain	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/arm32/loader/Makefile.toolchain	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -39,4 +39,6 @@
 TOOLCHAIN_DIR = $(CROSS_PREFIX)/arm32/bin
 
+JOBFILE = ../../../../tools/jobfile.py
+
 ifeq ($(COMPILER),gcc_native)
 	CC = gcc
Index: boot/arch/ia64/Makefile.inc
===================================================================
--- boot/arch/ia64/Makefile.inc	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ia64/Makefile.inc	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -30,5 +30,5 @@
 
 $(BASE)/image.boot:
-	$(MAKE) -C arch/$(BARCH)/loader
+	$(MAKE) -C arch/$(BARCH)/loader PRECHECK=$(PRECHECK)
 	cp arch/$(BARCH)/loader/image.boot $@
 
Index: boot/arch/ia64/loader/Makefile
===================================================================
--- boot/arch/ia64/loader/Makefile	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ia64/loader/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,5 +34,5 @@
 all: ../../../../version ../../../../Makefile.config ../../../../config.h ../../../../config.defs
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
@@ -45,5 +45,5 @@
 		rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
 	done
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(HELLO) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(HELLO) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
 	find . -name '*.o' -follow -exec rm \{\} \;
 	find . -name '*.co' -follow -exec rm \{\} \;
Index: boot/arch/ia64/loader/Makefile.build
===================================================================
--- boot/arch/ia64/loader/Makefile.build	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ia64/loader/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -66,7 +66,13 @@
 %.o: %.S $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__
+endif
 
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: boot/arch/ia64/loader/Makefile.common
===================================================================
--- boot/arch/ia64/loader/Makefile.common	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ia64/loader/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -35,4 +35,5 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = image.job
 OUTPUT = image.boot
 HELLO = hello.efi
Index: boot/arch/ia64/loader/Makefile.toolchain
===================================================================
--- boot/arch/ia64/loader/Makefile.toolchain	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ia64/loader/Makefile.toolchain	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -39,4 +39,6 @@
 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ia64/bin
 
+JOBFILE = ../../../../tools/jobfile.py
+
 ifeq ($(COMPILER),gcc_native)
 	CC = gcc
Index: boot/arch/mips32/Makefile.inc
===================================================================
--- boot/arch/mips32/Makefile.inc	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/mips32/Makefile.inc	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -30,5 +30,5 @@
 
 $(BASE)/image.boot:
-	$(MAKE) -C arch/$(BARCH)/loader
+	$(MAKE) -C arch/$(BARCH)/loader PRECHECK=$(PRECHECK)
 	cp arch/$(BARCH)/loader/image.boot $@
 
Index: boot/arch/mips32/loader/Makefile
===================================================================
--- boot/arch/mips32/loader/Makefile	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/mips32/loader/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,5 +34,5 @@
 all: ../../../../version ../../../../Makefile.config ../../../../config.h ../../../../config.defs
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
@@ -43,5 +43,5 @@
 		rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
 	done
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(RAW) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(RAW) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
 	find . -name '*.o' -follow -exec rm \{\} \;
 	find . -name '*.co' -follow -exec rm \{\} \;
Index: boot/arch/mips32/loader/Makefile.build
===================================================================
--- boot/arch/mips32/loader/Makefile.build	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/mips32/loader/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -66,7 +66,13 @@
 %.o: %.S $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__
+endif
 
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: boot/arch/mips32/loader/Makefile.common
===================================================================
--- boot/arch/mips32/loader/Makefile.common	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/mips32/loader/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -36,4 +36,5 @@
 DEPEND_PREV = $(DEPEND).prev
 RAW = image.raw
+JOB = image.job
 OUTPUT = image.boot
 
Index: boot/arch/mips32/loader/Makefile.toolchain
===================================================================
--- boot/arch/mips32/loader/Makefile.toolchain	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/mips32/loader/Makefile.toolchain	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,4 +37,6 @@
 TARGET = mipsel-linux-gnu
 TOOLCHAIN_DIR = $(CROSS_PREFIX)/mips32/bin
+
+JOBFILE = ../../../../tools/jobfile.py
 
 ifeq ($(MACHINE),lgxemul)
Index: boot/arch/ppc32/Makefile.inc
===================================================================
--- boot/arch/ppc32/Makefile.inc	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ppc32/Makefile.inc	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -42,5 +42,5 @@
 
 arch/$(BARCH)/loader/image.boot:
-	$(MAKE) -C arch/$(BARCH)/loader
+	$(MAKE) -C arch/$(BARCH)/loader PRECHECK=$(PRECHECK)
 
 clean: generic_clean
Index: boot/arch/ppc32/loader/Makefile
===================================================================
--- boot/arch/ppc32/loader/Makefile	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ppc32/loader/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,5 +34,5 @@
 all: ../../../../version ../../../../Makefile.config ../../../../config.h ../../../../config.defs
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
@@ -43,5 +43,5 @@
 		rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
 	done
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
 	find . -name '*.o' -follow -exec rm \{\} \;
 	find . -name '*.co' -follow -exec rm \{\} \;
Index: boot/arch/ppc32/loader/Makefile.build
===================================================================
--- boot/arch/ppc32/loader/Makefile.build	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ppc32/loader/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -66,7 +66,13 @@
 %.o: %.S $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__
+endif
 
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: boot/arch/ppc32/loader/Makefile.common
===================================================================
--- boot/arch/ppc32/loader/Makefile.common	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ppc32/loader/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -35,4 +35,5 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = image.job
 OUTPUT = image.boot
 
Index: boot/arch/ppc32/loader/Makefile.toolchain
===================================================================
--- boot/arch/ppc32/loader/Makefile.toolchain	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/ppc32/loader/Makefile.toolchain	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -39,4 +39,6 @@
 TOOLCHAIN_DIR = $(CROSS_PREFIX)/ppc32/bin
 
+JOBFILE = ../../../../tools/jobfile.py
+
 ifeq ($(COMPILER),gcc_native)
 	CC = gcc
Index: boot/arch/sparc64/Makefile.inc
===================================================================
--- boot/arch/sparc64/Makefile.inc	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/sparc64/Makefile.inc	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -55,5 +55,5 @@
 
 arch/$(BARCH)/loader/image.boot:
-	$(MAKE) -C arch/$(BARCH)/loader
+	$(MAKE) -C arch/$(BARCH)/loader PRECHECK=$(PRECHECK)
 
 clean: generic_clean
Index: boot/arch/sparc64/loader/Makefile
===================================================================
--- boot/arch/sparc64/loader/Makefile	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/sparc64/loader/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,5 +34,5 @@
 all: ../../../../version ../../../../Makefile.config ../../../../config.h ../../../../config.defs
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
@@ -43,5 +43,5 @@
 		rm -f $(USPACEDIR)/dist/app/`basename $$file` ; \
 	done
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(COMPS).h $(COMPS).c $(LINK) $(INITRD).img $(INITRD).fs
 	find . -name '*.o' -follow -exec rm \{\} \;
 	find . -name '*.co' -follow -exec rm \{\} \;
Index: boot/arch/sparc64/loader/Makefile.build
===================================================================
--- boot/arch/sparc64/loader/Makefile.build	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/sparc64/loader/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -77,7 +77,13 @@
 %.o: %.S $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__
+endif
 
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: boot/arch/sparc64/loader/Makefile.common
===================================================================
--- boot/arch/sparc64/loader/Makefile.common	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/sparc64/loader/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -35,4 +35,5 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = image.job
 OUTPUT = image.boot
 
Index: boot/arch/sparc64/loader/Makefile.toolchain
===================================================================
--- boot/arch/sparc64/loader/Makefile.toolchain	(revision 9f51afc153c44459e18a16b5cf1077c88af5e883)
+++ boot/arch/sparc64/loader/Makefile.toolchain	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -39,4 +39,6 @@
 TOOLCHAIN_DIR = $(CROSS_PREFIX)/sparc64/bin
 
+JOBFILE = ../../../../tools/jobfile.py
+
 ifeq ($(COMPILER),gcc_native)
 	CC = gcc
