diff --git a/klibc/Makefile b/klibc/Makefile
index c412a9f..181a226 100644
--- a/klibc/Makefile
+++ b/klibc/Makefile
@@ -141,7 +141,9 @@
 syscalls.dir: SYSCALLS.i syscalls.pl arch/$(ARCH)/sysstub.ph syscommon.h syscalls.nrs
 	rm -rf syscalls
 	mkdir syscalls
-	$(PERL) syscalls.pl SYSCALLS.i $(ARCH) $(BITSIZE) syscalls.nrs ../include/klibc/havesyscall.h
+	$(PERL) syscalls.pl SYSCALLS.i arch/$(ARCH)/sysstub.ph $(ARCH) \
+		$(BITSIZE) syscalls.nrs \
+		syscalls ../include/klibc/havesyscall.h
 	touch $@
 
 ../include/klibc/havesyscall.h: syscalls.dir
@@ -150,7 +152,7 @@
 socketcalls.dir: SOCKETCALLS.def socketcalls.pl socketcommon.h
 	rm -rf socketcalls
 	mkdir socketcalls
-	$(PERL) socketcalls.pl SOCKETCALLS.def $(ARCH)
+	$(PERL) socketcalls.pl SOCKETCALLS.def $(ARCH) socketcalls
 	touch $@
 
 %/static.obj: %.dir
diff --git a/klibc/arch/alpha/sysstub.ph b/klibc/arch/alpha/sysstub.ph
index a24b6c0..08b97e8 100644
--- a/klibc/arch/alpha/sysstub.ph
+++ b/klibc/arch/alpha/sysstub.ph
@@ -12,13 +12,13 @@
 # A few system calls are dual-return with the second return value in
 # r20 (a4).
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
     $stype = $stype || 'common';
     $stype = 'common' if ( $stype eq 'dual0' );
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "#include <machine/asm.h>\n";
     print OUT "\n";
diff --git a/klibc/arch/arm/sysstub.ph b/klibc/arch/arm/sysstub.ph
index bf953cc..256ea3d 100644
--- a/klibc/arch/arm/sysstub.ph
+++ b/klibc/arch/arm/sysstub.ph
@@ -6,10 +6,10 @@
 #
 
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print  OUT "#include <asm/unistd.h>\n";
 	
     print  OUT "\t.text\n";
diff --git a/klibc/arch/cris/sysstub.ph b/klibc/arch/cris/sysstub.ph
index 6c894f6..182ad73 100644
--- a/klibc/arch/cris/sysstub.ph
+++ b/klibc/arch/cris/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.text\n";
diff --git a/klibc/arch/i386/sysstub.ph b/klibc/arch/i386/sysstub.ph
index 1ba7f36..e2649e2 100644
--- a/klibc/arch/i386/sysstub.ph
+++ b/klibc/arch/i386/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.type ${fname},\@function\n";
diff --git a/klibc/arch/ia64/sysstub.ph b/klibc/arch/ia64/sysstub.ph
index 34031a2..8e686c6 100644
--- a/klibc/arch/ia64/sysstub.ph
+++ b/klibc/arch/ia64/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.text\n";
diff --git a/klibc/arch/m32r/sysstub.ph b/klibc/arch/m32r/sysstub.ph
index 3813ea4..98dfb9d 100644
--- a/klibc/arch/m32r/sysstub.ph
+++ b/klibc/arch/m32r/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.text\n";
diff --git a/klibc/arch/mips/sysstub.ph b/klibc/arch/mips/sysstub.ph
index abe599c..a71d5d0 100644
--- a/klibc/arch/mips/sysstub.ph
+++ b/klibc/arch/mips/sysstub.ph
@@ -9,11 +9,11 @@
 # system call number in r0 (v0), return an error value in r19 (a3) as
 # well as the return value in r0 (v0).
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
     $stype = $stype || 'common';
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/asm.h>\n";
     print OUT "#include <asm/regdef.h>\n";
     print OUT "#include <asm/unistd.h>\n";
diff --git a/klibc/arch/parisc/sysstub.ph b/klibc/arch/parisc/sysstub.ph
index 63b5e17..e2196ac 100644
--- a/klibc/arch/parisc/sysstub.ph
+++ b/klibc/arch/parisc/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.text\n";
diff --git a/klibc/arch/ppc/sysstub.ph b/klibc/arch/ppc/sysstub.ph
index 542ab55..3b3916c 100644
--- a/klibc/arch/ppc/sysstub.ph
+++ b/klibc/arch/ppc/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.type ${fname},\@function\n";
diff --git a/klibc/arch/ppc64/sysstub.ph b/klibc/arch/ppc64/sysstub.ph
index 0a37915..9ee9370 100644
--- a/klibc/arch/ppc64/sysstub.ph
+++ b/klibc/arch/ppc64/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.globl ${fname}\n";
diff --git a/klibc/arch/s390/sysstub.ph b/klibc/arch/s390/sysstub.ph
index 3838a1f..35f40a0 100644
--- a/klibc/arch/s390/sysstub.ph
+++ b/klibc/arch/s390/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.type ${fname},\@function\n";
diff --git a/klibc/arch/s390x/sysstub.ph b/klibc/arch/s390x/sysstub.ph
index 10a47f7..55c721b 100644
--- a/klibc/arch/s390x/sysstub.ph
+++ b/klibc/arch/s390x/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.type ${fname},\@function\n";
diff --git a/klibc/arch/sh/sysstub.ph b/klibc/arch/sh/sysstub.ph
index add5d35..ce04b73 100644
--- a/klibc/arch/sh/sysstub.ph
+++ b/klibc/arch/sh/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.section\t\".text.syscall\",\"ax\"\n";
diff --git a/klibc/arch/sparc/sysstub.ph b/klibc/arch/sparc/sysstub.ph
index baad9e3..d8cedb5 100644
--- a/klibc/arch/sparc/sysstub.ph
+++ b/klibc/arch/sparc/sysstub.ph
@@ -5,12 +5,12 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
     $stype = $stype || 'common';
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.type ${fname},\@function\n";
diff --git a/klibc/arch/sparc64/sysstub.ph b/klibc/arch/sparc64/sysstub.ph
index 2ef2c6b..deeb88c 100644
--- a/klibc/arch/sparc64/sysstub.ph
+++ b/klibc/arch/sparc64/sysstub.ph
@@ -5,12 +5,12 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
     $stype = $stype || 'common';
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.type ${fname},\@function\n";
diff --git a/klibc/arch/x86_64/sysstub.ph b/klibc/arch/x86_64/sysstub.ph
index 07af122..e2d797b 100644
--- a/klibc/arch/x86_64/sysstub.ph
+++ b/klibc/arch/x86_64/sysstub.ph
@@ -5,10 +5,10 @@
 # Script to generate system call stubs
 #
 
-sub make_sysstub($$$$@) {
-    my($fname, $type, $sname, $stype, @args) = @_;
+sub make_sysstub($$$$$@) {
+    my($outputdir, $fname, $type, $sname, $stype, @args) = @_;
 
-    open(OUT, '>', "syscalls/${fname}.S");
+    open(OUT, '>', "${outputdir}/${fname}.S");
     print OUT "#include <asm/unistd.h>\n";
     print OUT "\n";
     print OUT "\t.type ${fname},\@function\n";
diff --git a/klibc/socketcalls.pl b/klibc/socketcalls.pl
index fd82b2b..024483f 100644
--- a/klibc/socketcalls.pl
+++ b/klibc/socketcalls.pl
@@ -15,12 +15,13 @@
 	push(@args, $arg);
     }
 }
-($file, $arch) = @args;
+($file, $arch, $outputdir) = @args;
 
 if (!open(FILE, "< $file")) {
     die "$file: $!\n";
 }
 
+print "socketcall-objs := ";
 while ( defined($line = <FILE>) ) {
     chomp $line;
     $line =~ s/\s*[\#\;].*$//;	# Strip comments and trailing blanks
@@ -39,10 +40,11 @@
 	    push(@cargs, "$arg a".$i++);
 	}
 	$nargs = $i;
+	print " \\\n\tsocketcalls/${name}.o";
 
 	if ( $arch eq 'i386' ) {
-	    open(OUT, '>', "socketcalls/${name}.S")
-		or die "$0: Cannot open socketcalls/${name}.S\n";
+	    open(OUT, '>', "${outputdir}/${name}.S")
+		or die "$0: Cannot open ${outputdir}/${name}.S\n";
 
 	    print OUT "#include <sys/socketcalls.h>\n";
 	    print OUT "\n";
@@ -56,10 +58,10 @@
 	    print OUT "\t.size ${name},.-${name}\n";
 	    close(OUT);
 	} else {
-	    open(OUT, '>', "socketcalls/${name}.c")
-		or die "$0: Cannot open socketcalls/${name}.c\n";
+	    open(OUT, '>', "${outputdir}/${name}.c")
+		or die "$0: Cannot open ${outputdir}/${name}.c\n";
 
-	    print OUT "#include \"../socketcommon.h\"\n";
+	    print OUT "#include \"socketcommon.h\"\n";
 	    print OUT "\n";
 	    print OUT "#ifndef __NR_${name}\n\n";
 
@@ -82,3 +84,5 @@
 	die "$file:$.: Could not parse input\n";
     }
 }
+
+print "\n";
diff --git a/klibc/syscalls.pl b/klibc/syscalls.pl
index 1c48ce5..9cea630 100644
--- a/klibc/syscalls.pl
+++ b/klibc/syscalls.pl
@@ -18,13 +18,14 @@
 	push(@args, $arg);
     }
 }
-($file, $arch, $bits, $unistd, $havesyscall) = @args;
+($file, $sysstub, $arch, $bits, $unistd, $outputdir, $havesyscall) = @args;
 
-require "arch/$arch/sysstub.ph";
+require "$sysstub";
 
 if (!open(UNISTD, '<', $unistd)) {
     die "$0: $unistd: $!\n";
 }
+
 while ( defined($line = <UNISTD>) ) {
     chomp $line;
 
@@ -46,6 +47,8 @@
     die "$0: $file: $!\n";
 }
 
+print "syscall-objs := ";
+
 while ( defined($line = <FILE>) ) {
     chomp $line;
     $line =~ s/\s*(|[\#;].*)$//; # Strip comments and trailing blanks
@@ -104,11 +107,14 @@
 	@args = split(/\s*\,\s*/, $argv);
 
 	print HAVESYS "#define _KLIBC_HAVE_SYSCALL_${fname} ${sname}\n";
-	make_sysstub($fname, $type, $sname, $stype, @args);
+	print " \\\n\tsyscalls/${fname}.o";
+	make_sysstub($outputdir, $fname, $type, $sname, $stype, @args);
     } else {
 	die "$file:$.: Could not parse input: \"$line\"\n";
     }
 }
 
+print "\n";
+
 print HAVESYS "\n#endif\n";
 close(HAVESYS);
