diff --git a/tasks/fs0/SConscript b/tasks/fs0/SConscript
new file mode 100644
index 0000000..2b89b45
--- /dev/null
+++ b/tasks/fs0/SConscript
@@ -0,0 +1,33 @@
+# -*- mode: python; coding: utf-8; -*-
+
+# Codezero -- a microkernel for embedded systems.
+#
+# Copyright © 2009 B Labs Ltd
+#
+# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU General Public License along with this program. If not, see
+# .
+#
+# Author: Russel Winder
+
+Import ( 'environment' )
+
+e = environment.Clone ( )
+e.Append ( CPPPATH = [ 'include' , '#libs/c/include/' , '#tasks/libl4/include' , '#tasks/libmem' , '#tasks/libposix/include' ] )
+
+# TODO: There are errors in this code that -Werror gives problems with.
+
+#e['CCFLAGS'] = [ '-g' , '-nostdlib' , '-Wall' , '-ffreestanding' , '-std=gnu99' , '-D__USERSPACE__' ]
+
+objects = e.StaticObject ( Glob ( '*.c' ) + Glob ( 'src/*.c' ) )
+Depends ( objects , e['configFiles'] )
+library = e.Program ( 'fs0' , objects + [ e['crt0'] ] )
+
+Return ( 'library' )
diff --git a/tasks/mm0/SConscript b/tasks/mm0/SConscript
new file mode 100644
index 0000000..072409f
--- /dev/null
+++ b/tasks/mm0/SConscript
@@ -0,0 +1,33 @@
+# -*- mode: python; coding: utf-8; -*-
+
+# Codezero -- a microkernel for embedded systems.
+#
+# Copyright © 2009 B Labs Ltd
+#
+# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU General Public License along with this program. If not, see
+# .
+#
+# Author: Russel Winder
+
+Import ( 'environment' )
+
+e = environment.Clone ( )
+e.Append ( CPPPATH = [ 'include' , '#libs/c/include/' , '#tasks/libl4/include' , '#tasks/libmem' , '#tasks/libposix/include' ] )
+
+# TODO: There are errors in this code that -Werror gives problems with.
+
+#e['CCFLAGS'] = [ '-g' , '-nostdlib' , '-Wall' , '-ffreestanding' , '-std=gnu99' , '-D__USERSPACE__' ]
+
+objects = e.StaticObject ( Glob ( '*.c' ) + Glob ( 'src/*.c' ) )
+Depends ( objects , e['configFiles'] )
+library = e.Program ( 'mm0' , objects + [ e['crt0'] ] )
+
+Return ( 'library' )
diff --git a/tasks/test0/SConscript b/tasks/test0/SConscript
new file mode 100644
index 0000000..e7b58e3
--- /dev/null
+++ b/tasks/test0/SConscript
@@ -0,0 +1,33 @@
+# -*- mode: python; coding: utf-8; -*-
+
+# Codezero -- a microkernel for embedded systems.
+#
+# Copyright © 2009 B Labs Ltd
+#
+# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+# License for more details.
+#
+# You should have received a copy of the GNU General Public License along with this program. If not, see
+# .
+#
+# Author: Russel Winder
+
+Import ( 'environment' )
+
+e = environment.Clone ( )
+e.Append ( CPPPATH = [ 'include' , '#libs/c/include/' , '#tasks/libl4/include' , '#tasks/libmem' , '#tasks/libposix/include' ] )
+
+# TODO: There are errors in this code that -Werror gives problems with.
+
+#e['CCFLAGS'] = [ '-g' , '-nostdlib' , '-Wall' , '-ffreestanding' , '-std=gnu99' , '-D__USERSPACE__' ]
+
+objects = e.StaticObject ( Glob ( '*.c' ) + Glob ( 'src/*.c' ) )
+Depends ( objects , e['configFiles'] )
+library = e.Program ( 'test0' , objects + [ e['crt0'] ] )
+
+Return ( 'library' )