130 lines
2.7 KiB
Perl
130 lines
2.7 KiB
Perl
|
# Copyright (C) 2003-2013 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:
|