chiark / gitweb /
[PATCH] klibc: version 1.0.6
[elogind.git] / klibc / klibc / socketcalls.pl
index fd82b2b49f2a7de3ff3ba376043dc32b4b7e2822..024483f716429657e4947505d1aa136e259082ec 100644 (file)
@@ -15,12 +15,13 @@ for $arg ( @ARGV ) {
        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 @@ while ( defined($line = <FILE>) ) {
            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 @@ while ( defined($line = <FILE>) ) {
            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 @@ while ( defined($line = <FILE>) ) {
        die "$file:$.: Could not parse input\n";
     }
 }
+
+print "\n";