# Copyright (C) 2003-2015 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 . 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. =head2 Constants =over 4 =item C, C 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 Create a new rule definition with target C<$name>, Location C<$location> and owner C<$owner>, defined in file C<$source>. =cut sub new ($$$$) { my ($class, $name, $location, $owner, $source) = @_; my $self = Automake::ItemDef::new ($class, $location, $owner); $self->{'source'} = $source; $self->{'name'} = $name; return $self; } =item C<$source = $rule-Esource> Return the source of the rule. =cut sub source ($) { my ($self) = @_; return $self->{'source'}; } =item C<$name = $rule-Ename> Return the name of the rule. =cut sub name ($) { my ($self) = @_; return $self->{'name'}; } =back =head1 SEE ALSO L, L. =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: