r9461: Couple of very small fixes.
[samba.git] / source / heimdal_build / asn1_deps.pl
index 4cff3e2fae41a1d67b91cbfdfc87beb658e31498..cc95fb221794d0d0559da2c9f14f84710bb0ee4e 100755 (executable)
@@ -7,25 +7,45 @@ use File::Basename;
 
 my $file = shift;
 my $prefix = shift;
-
+my $options = shift;
+my $x_file, @x_files;
+my $c_file, @c_files;
 if (not defined ($prefix)) { $prefix = "asn1"; }
 
 $dirname = dirname($file);
 $basename = basename($file);
+if (not defined $options) {
+    $options = "";
+}
 
 my $header = "$dirname/$prefix.h";
 
 print "$header: $file bin/asn1_compile\n";
 print "\t\@echo \"Compiling ASN1 file $file\"\n";
-print "\t\@cd $dirname && ../../../bin/asn1_compile $basename $prefix\n\n";
+print "\t\@cd $dirname && ../../../bin/asn1_compile $options $basename $prefix\n\n";
 
 open(IN,$file) or die("Can't open $file: $!");
 foreach(<IN>) {
        if (/^([A-Za-z0-9_-]+)[ \t]*::= /) {
                my $output = $1;
                $output =~ s/-/_/g;
-               print "$dirname/asn1_$output.c: $header\n";
-               print "\t\@mv $dirname/asn1_$output.x $dirname/asn1_$output.c\n\n";
+               $c_file = "$dirname/asn1_$output.c";
+               $x_file = "$dirname/asn1_$output.x";
+               print "$x_file: $header\n";
+               print "$c_file: $dirname/asn1_$output.x\n";
+               print "\t\@cp $x_file $c_file\n\n";
+               push @x_files, $x_file;
+               push @c_files, $c_file;
        }
 }
 close(IN);
+print $prefix."_clean: \n";
+print "\t\@echo \"Deleting ASN1 output files generated from $file\"";
+print "\n\t\@rm -f $header";
+foreach $c_file (@c_files) {
+    print "\n\t\@rm -f $c_file";
+}
+foreach $x_file (@x_files) {
+    print "\n\t\@rm -f $x_file";
+}
+print "\n\n";