Index: Makefile
===================================================================
--- Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -31,17 +31,15 @@
 
 CSCOPE = cscope
-STANSE = stanse
+CONFIG = tools/config.py
 
-.PHONY: all config config_default distclean clean cscope stanse
+.PHONY: all config config_default distclean clean cscope precheck
 
 all: Makefile.config config.h config.defs
-	$(MAKE) -C kernel
-	$(MAKE) -C uspace
-	$(MAKE) -C boot
+	$(MAKE) -C kernel PRECHECK=$(PRECHECK)
+	$(MAKE) -C uspace PRECHECK=$(PRECHECK)
+	$(MAKE) -C boot PRECHECK=$(PRECHECK)
 
-stanse: Makefile.config config.h config.defs
-	$(MAKE) -C kernel clean
-	$(MAKE) -C kernel EXTRA_TOOL=stanse
-	$(STANSE) --checker ReachabilityChecker --jobfile kernel/kernel.job
+precheck: clean
+	$(MAKE) all PRECHECK=y
 
 cscope:
@@ -55,8 +53,8 @@
 
 config_default: HelenOS.config
-	tools/config.py HelenOS.config default
+	$(CONFIG) HelenOS.config default
 
 config: HelenOS.config
-	tools/config.py HelenOS.config
+	$(CONFIG) HelenOS.config
 
 distclean: clean
Index: boot/arch/arm32/Makefile.inc
===================================================================
--- boot/arch/arm32/Makefile.inc	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 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
Index: ntrib/stanse/ThreadChecker.xml
===================================================================
--- contrib/stanse/ThreadChecker.xml	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ 	(revision )
@@ -1,52 +1,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-
- Copyright (c) 2009 Martin Decky
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- - Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
- - Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
- - The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--->
-
-<threadChecker>
-	<analyseType type="local" />
-	<patterns>
-		<pattern name="lockFunction">
-			<nested>
-				<functionCall>
-					<id>_mutex_lock_timeout</id>
-					<var name="mtx" />
-				</functionCall>
-			</nested>
-		</pattern>
-		<pattern name="unlockFunction">
-			<nested>
-				<functionCall>
-					<id>mutex_unlock</id>
-					<var name="mtx" />
-				</functionCall>
-			</nested>
-		</pattern>
-	</patterns>
-</threadChecker>
Index: kernel/Makefile
===================================================================
--- kernel/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ kernel/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ kernel/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -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 e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ kernel/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -44,2 +44,5 @@
 ARCH_INCLUDE = generic/include/arch
 GENARCH_INCLUDE = generic/include/genarch
+
+GENMAP = tools/genmap.py
+JOBFILE = ../tools/jobfile.py
Index: tools/checkers/stanse/ThreadChecker.xml
===================================================================
--- tools/checkers/stanse/ThreadChecker.xml	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
+++ tools/checkers/stanse/ThreadChecker.xml	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+
+ Copyright (c) 2009 Martin Decky
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ - Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+ - The name of the author may not be used to endorse or promote products
+   derived from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-->
+
+<threadChecker>
+	<analyseType type="local" />
+	<patterns>
+		<pattern name="lockFunction">
+			<nested>
+				<functionCall>
+					<id>_mutex_lock_timeout</id>
+					<var name="mtx" />
+				</functionCall>
+			</nested>
+		</pattern>
+		<pattern name="unlockFunction">
+			<nested>
+				<functionCall>
+					<id>mutex_unlock</id>
+					<var name="mtx" />
+				</functionCall>
+			</nested>
+		</pattern>
+	</patterns>
+</threadChecker>
Index: tools/checkers/stanse/stanse.py
===================================================================
--- tools/checkers/stanse/stanse.py	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
+++ tools/checkers/stanse/stanse.py	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -0,0 +1,168 @@
+#!/usr/bin/env python
+#
+# Copyright (c) 2010 Martin Decky
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# - Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in the
+#   documentation and/or other materials provided with the distribution.
+# - The name of the author may not be used to endorse or promote products
+#   derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+"""
+Wrapper for Stanse static checker
+"""
+
+import sys
+import os
+import subprocess
+
+jobs = [
+	"kernel/kernel.job",
+	"uspace/srv/clip/clip.job"
+]
+
+def usage(prname):
+	"Print usage syntax"
+	print prname + " <ROOT>"
+
+def parse_arg(record):
+	"Parse jobfile line arguments"
+	
+	arg = []
+	i = 0
+	current = ""
+	nil = True
+	inside = False
+	
+	while (i < len(record)):
+		if (inside):
+			if (record[i] == "}"):
+				inside = False
+			else:
+				current = "%s%s" % (current, record[i])
+		else:
+			if (record[i] == "{"):
+				nil = False
+				inside = True
+			elif (record[i] == ","):
+				arg.append(current)
+				current = ""
+				nil = True
+			else:
+				print "Unexpected '%s'" % record[i]
+				return False
+		
+		i += 1
+	
+	if (not nil):
+		arg.append(current)
+	
+	return arg
+
+def stanse(root, job):
+	"Run Stanse on a jobfile"
+	
+	# Convert generic jobfile to Stanse-specific jobfile format
+	
+	inname = os.path.join(root, job)
+	outname = os.path.join(root, "_%s" % os.path.basename(job))
+	
+	if (not os.path.isfile(inname)):
+		print "Unable to open %s" % inname
+		print "Did you run \"make precheck\" on the source tree?"
+		return False
+	
+	inf = file(inname, "r")
+	records = inf.read().splitlines()
+	inf.close()
+	
+	output = []
+	for record in records:
+		arg = parse_arg(record)
+		if (not arg):
+			return False
+		
+		if (len(arg) < 6):
+			print "Not enought jobfile record arguments"
+			return False
+		
+		srcfname = arg[0]
+		tgtfname = arg[1]
+		base = arg[4]
+		options = arg[5]
+		
+		srcfqname = os.path.join(base, srcfname)
+		if (not os.path.isfile(srcfqname)):
+			print "Source %s not found" % srcfqname
+			return False
+		
+		# Only C files are interesting for us
+		if (arg[2] != "cc"):
+			continue
+		
+		output.append([srcfname, tgtfname, base, options])
+	
+	outf = file(outname, "w")
+	for record in output:
+		outf.write("{%s},{%s},{%s},{%s}\n" % (record[0], record[1], record[2], record[3]))
+	outf.close()
+	
+	# Run Stanse
+	
+	retval = subprocess.Popen(['stanse', '--checker', 'ReachabilityChecker', '--jobfile', outname]).wait()
+	
+	# Cleanup
+	
+	os.remove(outname)
+	for record in output:
+		tmpfile = os.path.join(record[2], "%s.preproc" % record[1])
+		if (os.path.isfile(tmpfile)):
+			os.remove(tmpfile)
+	
+	if (retval == 0):
+		return True
+	
+	return False
+
+def main():
+	if (len(sys.argv) < 2):
+		usage(sys.argv[0])
+		return
+	
+	rootdir = os.path.abspath(sys.argv[1])
+	config = os.path.join(rootdir, "HelenOS.config")
+	
+	if (not os.path.isfile(config)):
+		print "%s not found." % config
+		print "Please specify the path to HelenOS build tree root as the first argument."
+		return
+	
+	for job in jobs:
+		if (not stanse(rootdir, job)):
+			print
+			print "Failed job: %s" % job
+			return
+	
+	print
+	print "All jobs passed"
+
+if __name__ == '__main__':
+	main()
Index: tools/jobfile.py
===================================================================
--- tools/jobfile.py	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ tools/jobfile.py	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -28,5 +28,5 @@
 #
 """
-Add a source/object file pair to a Stanse jobfile
+Add a source/object file pair to a checker jobfile
 """
 
@@ -37,8 +37,8 @@
 def usage(prname):
 	"Print usage syntax"
-	print prname + " <JOBFILE> <SOURCE> <OBJECT> [OPTIONS ...]"
+	print prname + " <JOBFILE> <SOURCE> <TARGET> <TOOL> <CATEGORY> [OPTIONS ...]"
 
 def main():
-	if (len(sys.argv) < 4):
+	if (len(sys.argv) < 6):
 		usage(sys.argv[0])
 		return
@@ -46,11 +46,13 @@
 	jobfname = sys.argv[1]
 	srcfname = sys.argv[2]
-	objfname = sys.argv[3]
+	tgtfname = sys.argv[3]
+	toolname = sys.argv[4]
+	category = sys.argv[5]
 	cwd = os.getcwd()
-	options = " ".join(sys.argv[4:])
+	options = " ".join(sys.argv[6:])
 	
 	jobfile = file(jobfname, "a")
 	fcntl.lockf(jobfile, fcntl.LOCK_EX)
-	jobfile.write("{%s},{%s},{%s},{%s}\n" % (srcfname, objfname, cwd, options))
+	jobfile.write("{%s},{%s},{%s},{%s},{%s},{%s}\n" % (srcfname, tgtfname, toolname, category, cwd, options))
 	fcntl.lockf(jobfile, fcntl.LOCK_UN)
 	jobfile.close()
Index: uspace/Makefile
===================================================================
--- uspace/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -98,9 +98,9 @@
 
 $(BUILDS): $(LIBC_BUILD) $(LIBS_BUILD)
-	$(MAKE) -C $(basename $@) all
+	$(MAKE) -C $(basename $@) all PRECHECK=$(PRECHECK)
 
 $(LIBS_BUILD): $(LIBC_BUILD)
-	$(MAKE) -C $(basename $@) all
+	$(MAKE) -C $(basename $@) all PRECHECK=$(PRECHECK)
 
 $(LIBC_BUILD):
-	$(MAKE) -C $(basename $@) all
+	$(MAKE) -C $(basename $@) all PRECHECK=$(PRECHECK)
Index: uspace/app/bdsh/Makefile
===================================================================
--- uspace/app/bdsh/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/bdsh/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/bdsh/Makefile.build
===================================================================
--- uspace/app/bdsh/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/bdsh/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -79,4 +79,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/bdsh/Makefile.common
===================================================================
--- uspace/app/bdsh/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/bdsh/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -38,3 +38,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = bdsh.job
 OUTPUT = bdsh
Index: uspace/app/edit/Makefile
===================================================================
--- uspace/app/edit/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/edit/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/edit/Makefile.build
===================================================================
--- uspace/app/edit/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/edit/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -57,4 +57,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/edit/Makefile.common
===================================================================
--- uspace/app/edit/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/edit/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = edit.job
 OUTPUT = edit
Index: uspace/app/getterm/Makefile
===================================================================
--- uspace/app/getterm/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/getterm/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../version $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/getterm/Makefile.build
===================================================================
--- uspace/app/getterm/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/getterm/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -60,4 +60,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/getterm/Makefile.common
===================================================================
--- uspace/app/getterm/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/getterm/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = getterm.job
 OUTPUT = getterm
Index: uspace/app/init/Makefile
===================================================================
--- uspace/app/init/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/init/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/init/Makefile.build
===================================================================
--- uspace/app/init/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/init/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/init/Makefile.common
===================================================================
--- uspace/app/init/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/init/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = init.job
 OUTPUT = init
Index: uspace/app/klog/Makefile
===================================================================
--- uspace/app/klog/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/klog/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/klog/Makefile.build
===================================================================
--- uspace/app/klog/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/klog/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/klog/Makefile.common
===================================================================
--- uspace/app/klog/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/klog/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = klog.job
 OUTPUT = klog
Index: uspace/app/redir/Makefile
===================================================================
--- uspace/app/redir/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/redir/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../version $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/redir/Makefile.build
===================================================================
--- uspace/app/redir/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/redir/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/redir/Makefile.common
===================================================================
--- uspace/app/redir/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/redir/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = redir.job
 OUTPUT = redir
Index: uspace/app/tester/Makefile
===================================================================
--- uspace/app/tester/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/tester/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/tester/Makefile.build
===================================================================
--- uspace/app/tester/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/tester/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -73,4 +73,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/tester/Makefile.common
===================================================================
--- uspace/app/tester/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/tester/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = tester.job
 OUTPUT = tester
Index: uspace/app/tetris/Makefile
===================================================================
--- uspace/app/tetris/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/tetris/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/tetris/Makefile.build
===================================================================
--- uspace/app/tetris/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/tetris/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -60,4 +60,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/tetris/Makefile.common
===================================================================
--- uspace/app/tetris/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/tetris/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = tetris.job
 OUTPUT = tetris
Index: uspace/app/trace/Makefile
===================================================================
--- uspace/app/trace/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/trace/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/app/trace/Makefile.build
===================================================================
--- uspace/app/trace/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/trace/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -61,4 +61,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/app/trace/Makefile.common
===================================================================
--- uspace/app/trace/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/app/trace/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = trace.job
 OUTPUT = trace
Index: uspace/lib/libblock/Makefile
===================================================================
--- uspace/lib/libblock/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libblock/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBC_PREFIX)/libc.a
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(LIBBLOCK)
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(LIBBLOCK)
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/lib/libblock/Makefile.build
===================================================================
--- uspace/lib/libblock/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libblock/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -53,4 +53,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/lib/libblock/Makefile.common
===================================================================
--- uspace/lib/libblock/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libblock/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,3 +34,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = libblock.job
 LIBBLOCK = libblock.a
Index: uspace/lib/libc/Makefile
===================================================================
--- uspace/lib/libc/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libc/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -33,7 +33,7 @@
 all: ../../../Makefile.config ../../../config.h ../../../config.defs
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(LIBC) arch/*/_link.ld
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(LIBC) arch/*/_link.ld
 	find generic/ arch/*/ -name '*.o' -follow -exec rm \{\} \;
Index: uspace/lib/libc/Makefile.build
===================================================================
--- uspace/lib/libc/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libc/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -112,10 +112,19 @@
 %.o: %.S $(DEPEND)
 	$(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__
+endif
 
 %.o: %.s $(DEPEND)
 	$(AS) $(AFLAGS) $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm $(AFLAGS)
+endif
 
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND): $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH)
Index: uspace/lib/libc/Makefile.common
===================================================================
--- uspace/lib/libc/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libc/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -33,4 +33,5 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = libc.job
 LIBC = libc.a
 INCLUDE_KERNEL = include/kernel
Index: uspace/lib/libc/Makefile.toolchain
===================================================================
--- uspace/lib/libc/Makefile.toolchain	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libc/Makefile.toolchain	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -78,4 +78,6 @@
 #
 
+JOBFILE = $(LIBC_PREFIX)/../../../tools/jobfile.py
+
 ifeq ($(COMPILER),gcc_cross)
 	CC = $(TOOLCHAIN_DIR)/$(TARGET)-gcc
Index: uspace/lib/libfs/Makefile
===================================================================
--- uspace/lib/libfs/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libfs/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBC_PREFIX)/libc.a
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(LIBFS)
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(LIBFS)
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/lib/libfs/Makefile.build
===================================================================
--- uspace/lib/libfs/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libfs/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -53,4 +53,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/lib/libfs/Makefile.common
===================================================================
--- uspace/lib/libfs/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/libfs/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,3 +34,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = libfs.job
 LIBFS = libfs.a
Index: uspace/lib/softfloat/Makefile
===================================================================
--- uspace/lib/softfloat/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/softfloat/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBC_PREFIX)/libc.a
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(LIBSOFTFLOAT)
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(LIBSOFTFLOAT)
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/lib/softfloat/Makefile.build
===================================================================
--- uspace/lib/softfloat/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/softfloat/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -63,4 +63,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/lib/softfloat/Makefile.common
===================================================================
--- uspace/lib/softfloat/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/softfloat/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,3 +34,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = softfloat.job
 LIBSOFTFLOAT = libsoftfloat.a
Index: uspace/lib/softint/Makefile
===================================================================
--- uspace/lib/softint/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/softint/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBC_PREFIX)/libc.a
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(LIBSOFTINT)
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(LIBSOFTINT)
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/lib/softint/Makefile.build
===================================================================
--- uspace/lib/softint/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/softint/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/lib/softint/Makefile.common
===================================================================
--- uspace/lib/softint/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/lib/softint/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,3 +34,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = softint.job
 LIBSOFTINT = libsoftint.a
Index: uspace/srv/bd/ata_bd/Makefile
===================================================================
--- uspace/srv/bd/ata_bd/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/ata_bd/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/bd/ata_bd/Makefile.build
===================================================================
--- uspace/srv/bd/ata_bd/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/ata_bd/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/bd/ata_bd/Makefile.common
===================================================================
--- uspace/srv/bd/ata_bd/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/ata_bd/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = ata_bd.job
 OUTPUT = ata_bd
Index: uspace/srv/bd/file_bd/Makefile
===================================================================
--- uspace/srv/bd/file_bd/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/file_bd/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/bd/file_bd/Makefile.build
===================================================================
--- uspace/srv/bd/file_bd/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/file_bd/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/bd/file_bd/Makefile.common
===================================================================
--- uspace/srv/bd/file_bd/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/file_bd/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = file_bd.job
 OUTPUT = file_bd
Index: uspace/srv/bd/gxe_bd/Makefile
===================================================================
--- uspace/srv/bd/gxe_bd/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/gxe_bd/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/bd/gxe_bd/Makefile.build
===================================================================
--- uspace/srv/bd/gxe_bd/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/gxe_bd/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/bd/gxe_bd/Makefile.common
===================================================================
--- uspace/srv/bd/gxe_bd/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/gxe_bd/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = gxe_bd.job
 OUTPUT = gxe_bd
Index: uspace/srv/bd/rd/Makefile
===================================================================
--- uspace/srv/bd/rd/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/rd/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/bd/rd/Makefile.build
===================================================================
--- uspace/srv/bd/rd/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/rd/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/bd/rd/Makefile.common
===================================================================
--- uspace/srv/bd/rd/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/bd/rd/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = rd.job
 OUTPUT = rd
Index: uspace/srv/char/i8042/Makefile
===================================================================
--- uspace/srv/char/i8042/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/char/i8042/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/char/i8042/Makefile.build
===================================================================
--- uspace/srv/char/i8042/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/char/i8042/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/char/i8042/Makefile.common
===================================================================
--- uspace/srv/char/i8042/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/char/i8042/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = i8042.job
 OUTPUT = i8042
Index: uspace/srv/cir/fhc/Makefile
===================================================================
--- uspace/srv/cir/fhc/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/cir/fhc/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/cir/fhc/Makefile.build
===================================================================
--- uspace/srv/cir/fhc/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/cir/fhc/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/cir/fhc/Makefile.common
===================================================================
--- uspace/srv/cir/fhc/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/cir/fhc/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = fhc.job
 OUTPUT = fhc
Index: uspace/srv/cir/obio/Makefile
===================================================================
--- uspace/srv/cir/obio/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/cir/obio/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/cir/obio/Makefile.build
===================================================================
--- uspace/srv/cir/obio/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/cir/obio/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/cir/obio/Makefile.common
===================================================================
--- uspace/srv/cir/obio/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/cir/obio/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = obio.job
 OUTPUT = obio
Index: uspace/srv/clip/Makefile
===================================================================
--- uspace/srv/clip/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/clip/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -33,7 +33,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/clip/Makefile.build
===================================================================
--- uspace/srv/clip/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/clip/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -57,4 +57,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/clip/Makefile.common
===================================================================
--- uspace/srv/clip/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/clip/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = clip.job
 OUTPUT = clip
Index: uspace/srv/console/Makefile
===================================================================
--- uspace/srv/console/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/console/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/console/Makefile.build
===================================================================
--- uspace/srv/console/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/console/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -71,4 +71,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 %.o: %.ppm
Index: uspace/srv/console/Makefile.common
===================================================================
--- uspace/srv/console/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/console/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = console.job
 OUTPUT = console
Index: uspace/srv/devmap/Makefile
===================================================================
--- uspace/srv/devmap/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/devmap/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/devmap/Makefile.build
===================================================================
--- uspace/srv/devmap/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/devmap/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/devmap/Makefile.common
===================================================================
--- uspace/srv/devmap/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/devmap/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = devmap.job
 OUTPUT = devmap
Index: uspace/srv/fb/Makefile
===================================================================
--- uspace/srv/fb/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fb/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/fb/Makefile.build
===================================================================
--- uspace/srv/fb/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fb/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -95,4 +95,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/fb/Makefile.common
===================================================================
--- uspace/srv/fb/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fb/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = fb.job
 OUTPUT = fb
Index: uspace/srv/fs/devfs/Makefile
===================================================================
--- uspace/srv/fs/devfs/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/devfs/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/fs/devfs/Makefile.build
===================================================================
--- uspace/srv/fs/devfs/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/devfs/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -59,4 +59,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/fs/devfs/Makefile.common
===================================================================
--- uspace/srv/fs/devfs/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/devfs/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -38,3 +38,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = devfs.job
 OUTPUT = devfs
Index: uspace/srv/fs/fat/Makefile
===================================================================
--- uspace/srv/fs/fat/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/fat/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/fs/fat/Makefile.build
===================================================================
--- uspace/srv/fs/fat/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/fat/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -62,4 +62,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/fs/fat/Makefile.common
===================================================================
--- uspace/srv/fs/fat/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/fat/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -39,3 +39,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = fat.job
 OUTPUT = fat
Index: uspace/srv/fs/tmpfs/Makefile
===================================================================
--- uspace/srv/fs/tmpfs/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/tmpfs/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/fs/tmpfs/Makefile.build
===================================================================
--- uspace/srv/fs/tmpfs/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/tmpfs/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -60,4 +60,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/fs/tmpfs/Makefile.common
===================================================================
--- uspace/srv/fs/tmpfs/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/fs/tmpfs/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -39,3 +39,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = tmpfs.job
 OUTPUT = tmpfs
Index: uspace/srv/kbd/Makefile
===================================================================
--- uspace/srv/kbd/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/kbd/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/kbd/Makefile.build
===================================================================
--- uspace/srv/kbd/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/kbd/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -159,4 +159,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/kbd/Makefile.common
===================================================================
--- uspace/srv/kbd/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/kbd/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = kbd.job
 OUTPUT = kbd
Index: uspace/srv/loader/Makefile
===================================================================
--- uspace/srv/loader/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/loader/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm arch/*/_link.ld
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm arch/*/_link.ld
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/loader/Makefile.build
===================================================================
--- uspace/srv/loader/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/loader/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -66,7 +66,13 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 %.o: %.s $(DEPEND)
 	$(AS) $(AFLAGS) $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ as asm $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/loader/Makefile.common
===================================================================
--- uspace/srv/loader/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/loader/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = loader.job
 OUTPUT = loader
Index: uspace/srv/mouse/c_mouse/Makefile
===================================================================
--- uspace/srv/mouse/c_mouse/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/mouse/c_mouse/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/mouse/c_mouse/Makefile.build
===================================================================
--- uspace/srv/mouse/c_mouse/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/mouse/c_mouse/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -60,4 +60,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/mouse/c_mouse/Makefile.common
===================================================================
--- uspace/srv/mouse/c_mouse/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/mouse/c_mouse/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = c_mouse.job
 OUTPUT = c_mouse
Index: uspace/srv/ns/Makefile
===================================================================
--- uspace/srv/ns/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/ns/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/ns/Makefile.build
===================================================================
--- uspace/srv/ns/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/ns/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -59,4 +59,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/ns/Makefile.common
===================================================================
--- uspace/srv/ns/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/ns/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = ns.job
 OUTPUT = ns
Index: uspace/srv/part/mbr_part/Makefile
===================================================================
--- uspace/srv/part/mbr_part/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/part/mbr_part/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/part/mbr_part/Makefile.build
===================================================================
--- uspace/srv/part/mbr_part/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/part/mbr_part/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -58,4 +58,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/part/mbr_part/Makefile.common
===================================================================
--- uspace/srv/part/mbr_part/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/part/mbr_part/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -38,3 +38,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = mbr_part.job
 OUTPUT = mbr_part
Index: uspace/srv/pci/Makefile
===================================================================
--- uspace/srv/pci/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/pci/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,11 +34,11 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 $(LIBPCI):
-	$(MAKE) -C libpci
+	$(MAKE) -C libpci PRECHECK=$(PRECHECK)
 
 clean:
 	$(MAKE) -C libpci clean
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/pci/Makefile.build
===================================================================
--- uspace/srv/pci/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/pci/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/pci/Makefile.common
===================================================================
--- uspace/srv/pci/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/pci/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -38,3 +38,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = pci.job
 OUTPUT = pci
Index: uspace/srv/pci/libpci/Makefile
===================================================================
--- uspace/srv/pci/libpci/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/pci/libpci/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBC_PREFIX)/libc.a
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(LIBPCI)
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(LIBPCI)
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/pci/libpci/Makefile.build
===================================================================
--- uspace/srv/pci/libpci/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/pci/libpci/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -56,4 +56,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/pci/libpci/Makefile.common
===================================================================
--- uspace/srv/pci/libpci/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/pci/libpci/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,3 +34,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = libpci.job
 LIBPCI = libpci.a
Index: uspace/srv/vfs/Makefile
===================================================================
--- uspace/srv/vfs/Makefile	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/vfs/Makefile	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -34,7 +34,7 @@
 all: $(LIBC_PREFIX)/../../../Makefile.config $(LIBC_PREFIX)/../../../config.h $(LIBC_PREFIX)/../../../config.defs $(LIBS)
 	-[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
-	$(MAKE) -f Makefile.build
+	$(MAKE) -f Makefile.build PRECHECK=$(PRECHECK)
 
 clean:
-	rm -f $(DEPEND) $(DEPEND_PREV) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
+	rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(OUTPUT).map $(OUTPUT).disasm
 	find . -name '*.o' -follow -exec rm \{\} \;
Index: uspace/srv/vfs/Makefile.build
===================================================================
--- uspace/srv/vfs/Makefile.build	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/vfs/Makefile.build	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -61,4 +61,7 @@
 %.o: %.c $(DEPEND)
 	$(CC) $(DEFS) $(CFLAGS) -c $< -o $@
+ifeq ($(PRECHECK),y)
+	$(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
+endif
 
 $(DEPEND):
Index: uspace/srv/vfs/Makefile.common
===================================================================
--- uspace/srv/vfs/Makefile.common	(revision e4052289128156d1d0315bc11b697d7346ad5cf3)
+++ uspace/srv/vfs/Makefile.common	(revision 8786aa5c151fa5280b899437cecc4930c636823b)
@@ -37,3 +37,4 @@
 DEPEND = Makefile.depend
 DEPEND_PREV = $(DEPEND).prev
+JOB = vfs.job
 OUTPUT = vfs
