Edit

kc3-lang/automake/lib/Automake/RuleDef.pm

Branch :

  • Show log

    Commit

  • Author : Alexandre Duret-Lutz
    Date : 2003-08-12 17:52:09
    Hash : 9a792314
    Message : * 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.

  • lib/Automake/RuleDef.pm
  • # 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: