1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# Copyright (C) 2003-2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
package Automake::RuleDef;
use 5.006;
use strict;
use Carp;
use Automake::ChannelDefs;
use Automake::ItemDef;
require Exporter;
use vars '@ISA', '@EXPORT';
@ISA = qw/Automake::ItemDef Exporter/;
@EXPORT = qw (&RULE_AUTOMAKE &RULE_USER);
=head1 NAME
Automake::RuleDef - a class for rule definitions
=head1 SYNOPSIS
use Automake::RuleDef;
use Automake::Location;
=head1 DESCRIPTION
This class gathers data related to one Makefile-rule definition.
It shouldn't be needed outside of F<Rule.pm>.
=head2 Constants
=over 4
=item C<RULE_AUTOMAKE>, C<RULE_USER>
Possible owners for rules.
=cut
use constant RULE_AUTOMAKE => 0; # Rule defined by Automake.
use constant RULE_USER => 1; # Rule defined in the user's Makefile.am.
=back
=head2 Methods
=over 4
=item C<new Automake::RuleDef ($name, $comment, $location, $owner, $source)>
Create a new rule definition with target C<$name>, with associated comment
C<$comment>, Location C<$location> and owner C<$owner>, defined in file
C<$source>.
=cut
sub new ($$$$$)
{
my ($class, $name, $comment, $location, $owner, $source) = @_;
my $self = Automake::ItemDef::new ($class, $comment, $location, $owner);
$self->{'source'} = $source;
$self->{'name'} = $name;
return $self;
}
=item C<$source = $rule-E<gt>source>
Return the source of the rule.
=cut
sub source ($)
{
my ($self) = @_;
return $self->{'source'};
}
=item C<$name = $rule-E<gt>name>
Return the name of the rule.
=cut
sub name ($)
{
my ($self) = @_;
return $self->{'name'};
}
=back
=head1 SEE ALSO
L<Automake::Rule>, L<Automake::ItemDef>.
=cut
1;
### Setup "GNU" style for perl-mode and cperl-mode.
## Local Variables:
## perl-indent-level: 2
## perl-continued-statement-offset: 2
## perl-continued-brace-offset: 0
## perl-brace-offset: 0
## perl-brace-imaginary-offset: 0
## perl-label-offset: -2
## cperl-indent-level: 2
## cperl-brace-offset: 0
## cperl-continued-brace-offset: 0
## cperl-label-offset: -2
## cperl-extra-newline-before-brace: t
## cperl-merge-trailing-else: nil
## cperl-continued-statement-offset: 2
## End:
|