diff --git a/.gitmodules b/.gitmodules
index c335c458cd092534868e0daeec8ed16408f2f943..37d3c8bdd67f6e37cad2996160aa74f4e7aa3df7 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,8 +1,7 @@
-[submodule "libc-artifacts"]
-	path = libc-artifacts
-	url = https://github.com/redox-os/libc-artifacts.git
-	branch = master
 [submodule "pkgutils"]
 	path = pkgutils
 	url = https://github.com/redox-os/pkgutils.git
 	branch = master
+[submodule "docgen"]
+	path = docgen
+	url = https://github.com/redox-os/docgen.git
diff --git a/cook.sh b/cook.sh
index 6edce30b0fa5e7934431a7cfe77cf88a39a079af..7a2dea296b6d59482f7d49224e5cd1a58badac7e 100755
--- a/cook.sh
+++ b/cook.sh
@@ -11,9 +11,15 @@ export DEBUG=
 
 if [ ! "$(uname -s)" = "Redox" ]
 then
+
 function pkg {
     CC=cc cargo run --release --manifest-path "$ROOT/pkgutils/Cargo.toml" --bin pkg -- $@
 }
+
+function docgen {
+    CC=cc cargo run --release --manifest-path "$ROOT/docgen/Cargo.toml" --bin docgen -- $@
+}
+
 fi
 
 function usage {
@@ -342,6 +348,7 @@ function op {
                 else
                     build=release
                 fi
+
                 bins="$(find target/$TARGET/$build/ -maxdepth 1 -type f ! -name '*.*')"
                 if [ -n "$bins" ]
                 then
@@ -356,6 +363,8 @@ function op {
                         fi
                     done
                 fi
+
+                docgen ../source ../stage/ref
             fi
             popd > /dev/null
             ;;
diff --git a/docgen b/docgen
new file mode 160000
index 0000000000000000000000000000000000000000..67119659a484dba78eb29c1081afc8f8ea7014c3
--- /dev/null
+++ b/docgen
@@ -0,0 +1 @@
+Subproject commit 67119659a484dba78eb29c1081afc8f8ea7014c3
diff --git a/libc-artifacts b/libc-artifacts
deleted file mode 160000
index c67b055af98c5f9d3afbe62479e8201f01f941cc..0000000000000000000000000000000000000000
--- a/libc-artifacts
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c67b055af98c5f9d3afbe62479e8201f01f941cc