]> git.donarmstrong.com Git - lilypond.git/blob - bin/genheader
release: 0.0.65
[lilypond.git] / bin / genheader
1 #!/usr/bin/perl -w
2
3 # generate the standard header of a LilyPond source file.
4 my $fn;
5
6 sub
7     do_init
8 {
9     $MAILADRESS=$ENV{MAILADRESS};
10      @pw=(getpwuid($<));
11      $username=$pw[6];
12
13     die "arg needed\n" if (!($#ARGV+1));
14      $fn = $ARGV[0];
15
16      $hh_b =  ($fn =~ /hh$/ );
17      $inc_b=  ($hh_b || $fn =~ /[ti]cc$/);
18 }
19
20 sub 
21     do_head
22 {
23     
24     my $what="implement ";
25     $what = "declare " if ($hh_b);
26     my ($PROJECT, $cwd);
27     $PROJECT = "the GNU LilyPond music typesetter";
28     chop($cwd = `pwd`);
29     
30     $PROJECT= "the Flower Library" if ($cwd =~ /flower/);
31     
32     my $headstr ="/*
33   $fn -- $what
34
35   source file of $PROJECT
36
37   (c) 1997 $username <$MAILADRESS>
38 */\n";
39     print $headstr;
40 }
41 sub do_inc
42 {
43     my $headstr="";
44     my $startdef= $fn;
45     $startdef =~ s/[\.-]/_/g;
46     $startdef =~ tr/a-z/A-Z/;
47     my $terminatestr="\n";
48
49     if ($inc_b) {
50         $headstr = "\n\n#ifndef $startdef\n#define $startdef\n";
51         $terminatestr .= "#endif // $startdef\n"  
52         }
53
54     print $headstr, $terminatestr;
55 }
56 do_init;
57 do_head;
58 do_inc;
59
60