diff options
author | Alexandre Duret-Lutz <adl@gnu.org> | 2003-08-12 17:52:09 +0000 |
---|---|---|
committer | Alexandre Duret-Lutz <adl@gnu.org> | 2003-08-12 17:52:09 +0000 |
commit | 9a7923144d3e06fb9f6176f888044483ab79fdc1 (patch) | |
tree | 16e671367b1e6f128208e17d77fb62dd2bbf32b0 /lib/Automake/RuleDef.pm | |
parent | 90793a7453fcf7768e179a13a95926c539ae408e (diff) | |
download | automake-9a7923144d3e06fb9f6176f888044483ab79fdc1.tar.gz |
* lib/Automake/Item.pm, lib/Automake/ItemDef.pm: New files.
* lib/Automake/Rule.pm, lib/Automake/RuleDef.pm: New files.
* lib/Automake/Makefile.am (dist_perllib_DATA): Add them.
* lib/Automake/VarDef.pm: Make this a subclass of Automake::ItemDef.
(new): Adjust to call Automake::ItemDef::new.
(comment, location, owner): Delete. Now inherited from ItemDef.
* lib/Automake/Variable.pm: Make this a subclass of Automake::Item.
(_new): Adjust to call Automake::Item::new.
(name, def, rdef, _set, conditions, not_always_defined_in_cond):
Delete. How inherited from Item, where `_set' is called `set'.
* automake.in (SUFFIX_RULE_PATTERN): Delete. Now in Automake::Rule.
(suffix_rules_default): Delete. Now
Automake::Rule::_suffix_rules_default
(suffixes): Delete. Now Automake::Rule::suffixes.
(TARGET_AUTOMAKE, TARGET_USER): Delete. Now
Automake::RuleDef::RULE_AUTOMAKE and Automake::RuleDef::RULE_USER.
(%targets, %target_source, %target_name, %target_owner): Delete,
replaced by the Rule and RuleDef classes.
(dependencies, depend, actions): Delete. Now in Automake::Rule.
(suffix_rules, register_suffix_rule): Likewise.
(KNOWN_EXTENSIONS_PATTERN, accept_extensions): Likewise.
(known_extensions_list): Delete. Now
Automake::Rule::_known_extensions_list.
(target_conditions): Delete. Now inherited by Automake::Rule
from Automake::Item::conditions.
(rule_define): Delete. Now Automake::Rule::define. Adjust all
callers.
(target_defined): Delete. Now Automake::Rule::rule. Adjust all
callers.
(initialize_per_input): Adjust to call Automake::Rule::reset.
(err_target, err_cond_target, msg_cond_target, msg_target,
reject_target): Delete. Now defined in Automake::Rule as
err_rule, err_cond_rule, msg_cond_rule, msg_rule and reject_target.
Adjust all callers.
(handle_languages): Call suffix_rules_count.
* tests/location.test: Adjust expected diagnostics. We now display
$(EXEEXT) accurately.
Diffstat (limited to 'lib/Automake/RuleDef.pm')
-rw-r--r-- | lib/Automake/RuleDef.pm | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/lib/Automake/RuleDef.pm b/lib/Automake/RuleDef.pm new file mode 100644 index 000000000..d25c8e749 --- /dev/null +++ b/lib/Automake/RuleDef.pm @@ -0,0 +1,102 @@ +# Copyright (C) 2003 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, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +package Automake::RuleDef; +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 gather data related to one Makefile-rule definition. + +=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. + +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; +} + +sub source ($) +{ + my ($self) = @_; + return $self->{'source'}; +} + +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: |