diff --git a/first/build.lua b/first/build.lua
index ffd163a6e..9a35c36a6 100644
--- a/first/build.lua
+++ b/first/build.lua
@@ -116,7 +116,7 @@ definerule("bundle",
 
 definerule("clibrary",
 	{
-		srcs = { type="targets" },
+		srcs = { type="targets", default={} },
 		hdrs = { type="targets", default={} },
 		deps = { type="targets", default={} },
 		cflags = { type="strings", default={} },
@@ -161,6 +161,7 @@ definerule("clibrary",
 			name = e.name,
 			cwd = e.cwd,
 			ins = ins,
+			deps = concat(e.hdrs, e.deps),
 			outleaves = { e.name..".a", unpack(basename(hdrs)) },
 			label = e.label,
 			commands = commands,