diff options
Diffstat (limited to 'source4/heimdal_build/asn1_deps.pl')
-rwxr-xr-x | source4/heimdal_build/asn1_deps.pl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source4/heimdal_build/asn1_deps.pl b/source4/heimdal_build/asn1_deps.pl new file mode 100755 index 0000000000..4cff3e2fae --- /dev/null +++ b/source4/heimdal_build/asn1_deps.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl +# Generate make dependency rules for asn1 files +# Jelmer Vernooij <jelmer@samba.org> 2005 +# GPL + +use File::Basename; + +my $file = shift; +my $prefix = shift; + +if (not defined ($prefix)) { $prefix = "asn1"; } + +$dirname = dirname($file); +$basename = basename($file); + +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"; + +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"; + } +} +close(IN); |