Initial import from FreeBSD RELENG_4:
[dragonfly.git] / sys / kern / makeops.pl
1 #!/usr/bin/perl
2 #
3 # Copyright (c) 1992, 1993
4 #        The Regents of the University of California.  All rights reserved.
5 #
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
8 # are met:
9 # 1. Redistributions of source code must retain the above copyright
10 #    notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 #    notice, this list of conditions and the following disclaimer in the
13 #    documentation and/or other materials provided with the distribution.
14 # 3. All advertising materials mentioning features or use of this software
15 #    must display the following acknowledgement:
16 #        This product includes software developed by the University of
17 #        California, Berkeley and its contributors.
18 # 4. Neither the name of the University nor the names of its contributors
19 #    may be used to endorse or promote products derived from this software
20 #    without specific prior written permission.
21 #
22 # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 # SUCH DAMAGE.
33 #
34 # $FreeBSD: src/sys/kern/makeops.pl,v 1.1.2.2 2001/02/05 23:04:57 dirk Exp $
35
36 # Process the command line
37 #
38 while ( $arg = shift @ARGV ) {
39    if ( $arg =~ m/^-.*/ ) {
40       push @args, $arg;
41    } elsif ( $arg =~ m/\.m$/ ) {
42       push @filenames, $arg;
43    }
44 }
45
46 foreach $src ( @filenames ) {
47    open(SRC, $src);
48    $test = <SRC>;
49    if ( $test =~ m/.*KOBJ.*/ ) {
50           push @obj, $src;
51    } else {
52           push @dev, $src;
53    }
54 }
55
56 $path = $0;
57 @z = split(/\//, $path);
58 $#z -= 1;
59 $path = join('/', @z);
60
61 if ( $#dev != -1 ) {
62    push @x, "perl5";
63    push @x, $path . "/makedevops.pl";
64    foreach $i ( @args ) {
65           push @x, $i;
66    }
67    foreach $i ( @dev ) {
68          push @x, $i;
69    }
70    system(@x);
71 }
72
73 if ( $#obj != -1 ) {
74    push @y, "perl5";
75    push @y, $path . "/makeobjops.pl";
76    foreach $i ( @args ) {
77       push @y, $i;
78    }
79    foreach $i ( @obj ) {
80           push @y, $i;
81    }
82    system(@y);
83 }
84
85