am_edit

来自「KDE下的西门子手机管理程序」· 代码 · 共 1,913 行 · 第 1/5 页

TXT
1,913
字号
	    return 1    if ($MakefileData !~ /\n($lookup)\n/);	    $found = $1;	    $metasourceTags = 0; # we can use the general target only once	} else {            $found = $1;        }    }    print STDOUT "METASOURCE processing <$found>)\n"      if ($verbose);        $postEqual = $found;    $postEqual =~ s/[^=]*=//;        removeLine ($lookup, $found);        # Always find the header files that could be used to "moc"    return 1    if (findMocCandidates ());        if ($postEqual =~ /AUTO\s*(\S*)|USE_AUTOMOC\s*(\S*)/)      {	print STDERR "$printname: the argument for AUTO|USE_AUTOMOC is obsolete" if ($+);	$mocExt = ".moc.$cxxsuffix";	$haveAutomocTag = 1;    }    else    {        # Not automoc so read the list of files supplied which        # should be .moc files.        $postEqual =~ tr/\034/ /;        # prune out extra headers - This also checks to make sure that        # the list is valid.        pruneMocCandidates ($postEqual);    }    checkMocCandidates ();        if (@newObs) {        my $ext =  ($program =~ /_la$/) ? ".moc.lo " : ".moc.o ";        $realObjs{$program} .= "\034" . join ($ext, @newObs) . $ext;        $depedmocs{$program} = join (".moc.$cxxsuffix " , @newObs) . ".moc.$cxxsuffix";        foreach $file (@newObs) {            $dep_files .= " \$(DEPDIR)/$file.moc.P";        }    }    if (@deped) {        $depedmocs{$program} .= " ";        $depedmocs{$program} .= join('.moc ', @deped) . ".moc";        $depedmocs{$program} .= " ";    }    addMocRules ();    @globalmocs{keys %mocFiles}=values %mocFiles;}#-----------------------------------------------------------------------------# Returns 0 if the line was processed - 1 otherwise.# Errors are logged in the global $errorflagssub tag_AUTOMAKE (){    my $lookup = '.*cd \$\(top_srcdir\)\s+&&\s+\$\(AUTOMAKE\)(.*)';    return 1    if ($MakefileData !~ /($lookup)/);    print STDOUT "AUTOMAKE processing <$1>\n"        if ($verbose);    my $newLine = $1."\n\tcd \$(top_srcdir) && perl $thisProg $printname";    substituteLine ($lookup, $newLine);    $automkCall = $1;    return 0;}#-----------------------------------------------------------------------------sub tag_TOPLEVEL(){    my $lookup = 'TOPLEVEL_LANG\s*=\s*(\S+)';    return 1 if ($MakefileData !~ /\n$lookup\n/);    my $lang = $1;    if (tag_SUBDIRS()) {        print STDERR "Error: TOPLEVEL_LANG without SUBDIRS = \$(AUTODIRS) in $printname\n";        $errorflag = 1;        return 1;    }        my $pofiles = "";    my @restfiles = ();    opendir (THISDIR, ".");    foreach $entry (readdir(THISDIR)) {        next if (-d $entry);                next if ($entry eq "CVS" || $entry =~ /^\./  || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/ || $entry =~ /.gmo$/);                         if ($entry =~ /\.po$/) {            $pofiles .= "$entry ";            next;        }        push(@restfiles, $entry);    }    closedir (THISDIR);        print STDOUT "pofiles found = $pofiles\n"   if ($verbose);    handle_POFILES($pofiles, '$(TOPLEVEL_LANG)') if ($pofiles);        if (@restfiles) {        $target_adds{"install-data-am"} .= "install-nls-files ";        $lines = "install-nls-files:\n";        $lines .= "\t\$(mkinstalldirs) \$(DESTDIR)\$(kde_locale)/$lang\n";        for $file (@restfiles) {            $lines .= "\t\$(INSTALL_DATA) \$\(srcdir\)/$file \$(DESTDIR)\$(kde_locale)/$lang/$file\n";        }        appendLines($lines);    }        return 0;}#-----------------------------------------------------------------------------sub tag_SUBDIRS (){  if ($MakefileData !~ /\nSUBDIRS\s*=\s*\$\(AUTODIRS\)\s*\n/) {    return 1;  }  my $subdirs;  opendir (THISDIR, ".");  foreach $entry (readdir(THISDIR)) {    next if ($entry eq "CVS" || $entry =~ /^\./);    if (-d $entry && -f $entry . "/Makefile.am") {      $subdirs .= " $entry";      next;    }  }  closedir (THISDIR);  my $lines = "SUBDIRS =$subdirs\n";  substituteLine('SUBDIRS\s*=.*', $lines);  return 0;}sub tag_IDLFILES (){    my @psources = split(/[\034\s]+/, $sources{$program});    my $dep_lines = "";    my @cppFiles = ();        foreach $source (@psources) {                my $skel = ($source =~ m/\.skel$/);                if ($source =~ m/\.stub$/ || $skel) {                        my $qs = quotemeta($source);            $sources{$program} =~ s/$qs//;            $sources_changed{$program} = 1;                        print STDOUT "adding IDL file $source\n" if ($verbose);                        $source =~ s/\.(stub|skel)$//;                        my $sourcename;                        if ($skel) {                $sourcename = "$source\_skel";            } else {                $sourcename = "$source\_stub";            }                        my $sourcedir = '';            if (-f "$makefileDir/$source.h") {                $sourcedir = '$(srcdir)/';            } else {                if ($MakefileData =~ /\n$source\_DIR\s*=\s*(\S+)\n/) {                    $sourcedir = $1;                    $sourcedir .= "/" if ($sourcedir !~ /\/$/);                }            }                        if ($allidls !~ /$source\_kidl/) {                                $dep_lines .= "$source.kidl: $sourcedir$source.h \$(DCOPIDL_DEPENDENCIES)\n";                $dep_lines .= "\t\$(DCOPIDL) $sourcedir$source.h > $source.kidl || ( rm -f $source.kidl ; /bin/false )\n";                                $allidls .= $source . "_kidl ";            }                        if ($allidls !~ /$sourcename/) {                                if ($skel) {                    $dep_lines .= "$sourcename.$cxxsuffix: $source.kidl\n";                    $dep_lines .= "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-stub $source.kidl\n";                } else {                    $target_adds{"$sourcename.$cxxsuffix"} .= "$sourcename.h ";                    $dep_lines .= "$sourcename.h: $source.kidl\n";                    $dep_lines .= "\t\$(DCOPIDL2CPP) --c++-suffix $cxxsuffix --no-skel $source.kidl\n";                }                                $allidls .= $sourcename . " ";            }                        $idlfiles{$program} .= $sourcename . " ";                        if ($program =~ /_la$/) {                $realObjs{$program} .= " $sourcename.lo";            } else {                $realObjs{$program} .= " $sourcename.\$(OBJEXT)";            }            $sources{$program} .= " $sourcename.$cxxsuffix";            $sources_changed{$program} = 1;            $important{$program} .= "$sourcename.h " if (!$skel);            $idl_output .= "\\\n\t$sourcename.$cxxsuffix $sourcename.h $source.kidl ";            push(@cleanfiles, "$sourcename.$cxxsuffix");            push(@cleanfiles, "$sourcename.h");            push(@cleanfiles, "$sourcename.kidl");            $dep_files .= " \$(DEPDIR)/$sourcename.P";        }    }    if ($dep_lines) {        appendLines($dep_lines);    }        if (0) {        my $lookup = "($program)";        $lookup .= '(|\$\(EXEEXT\))';        $lookup =~ s/\_/./g;        $lookup .= ":(.*..$program\_OBJECTS..*)";        #    $lookup = quotemeta($lookup);        if ($MakefileData =~ /\n$lookup\n/) {                        my $line = "$1$2: ";            foreach $file (split(' ', $idlfiles{$program})) {                $line .= "$file.$cxxsuffix ";            }            $line .= $3;            substituteLine($lookup, $line);        } else {            print STDERR "no built dependency found $lookup\n";        }    }}sub tag_UIFILES (){    my @psources = split(/[\034\s]+/, $sources{$program});    my $dep_lines = "";    my @depFiles = ();        foreach $source (@psources) {        if ($source =~ m/\.ui$/) {            print STDERR "adding UI file $source\n" if ($verbose);            my $qs = quotemeta($source);            $sources{$program} =~ s/$qs//;            $sources_changed{$program} = 1;                  $source =~ s/\.ui$//;            my $sourcedir = '';            if (-f "$makefileDir/$source.ui") {                $sourcedir = '$(srcdir)/';            }            if ($alluis !~ /$source/) {                $dep_lines .= "$source.$cxxsuffix: $sourcedir$source.ui $source.h $source.moc\n";                $dep_lines .= "\trm -f $source.$cxxsuffix\n";                if (!$kdeopts{"qtonly"}) {                    $dep_lines .= "\techo '#include <klocale.h>' > $source.$cxxsuffix\n";                    $dep_lines .= "\t\$(UIC) -tr i18n -i $source.h $sourcedir$source.ui >> $source.$cxxsuffix || rm -f $source.$cxxsuffix\n";                } else {                    $dep_lines .= "\t\$(UIC) -i $source.h $sourcedir$source.ui > $source.$cxxsuffix || rm -f $source.$cxxsuffix\n";                }                $dep_lines .= "\techo '#include \"$source.moc\"' >> $source.$cxxsuffix\n\n";                $dep_lines .= "$source.h: $sourcedir$source.ui\n";                $dep_lines .= "\t\$(UIC) -o $source.h $sourcedir$source.ui\n\n";                $dep_lines .= "$source.moc: $source.h\n";                $dep_lines .= "\t\$(MOC) $source.h -o $source.moc\n";                $alluis .= "$source ";                $ui_mocs .= " $source.moc";                $depedmocs{$program} .= " $source.moc";            }                        if ($program =~ /_la$/) {                $realObjs{$program} .= " $source.lo";            } else {                $realObjs{$program} .= " $source.\$(OBJEXT)";            }            $sources{$program} .= " $source.$cxxsuffix";            $sources_changed{$program} = 1;            $important{$program} .= "$source.h ";            $ui_output .= "\\\n\t$source.$cxxsuffix $source.h $source.moc ";            push(@cleanfiles, "$source.$cxxsuffix");            push(@cleanfiles, "source.h");            push(@cleanfiles, "$source.moc");            $dep_files .= " \$(DEPDIR)/$source.P";        }    }    if ($dep_lines) {        appendLines($dep_lines);    }}sub tag_ICON(){    my $lookup = '([^\s]*)_ICON\s*=\s*([^\n]*)';    my $install = "";    my $uninstall = "";    while ($MakefileData =~ /\n$lookup/g) {        my $destdir;        if ($1 eq "KDE") {            $destdir = "kde_icondir";        } else {            $destdir = $1 . "dir";        }        my $iconauto = ($2 =~ /AUTO\s*$/);        my @appnames = ();        if ( ! $iconauto ) {            my @_appnames = split(" ", $2);            print STDOUT "KDE_ICON processing <@_appnames>\n"   if ($verbose);            foreach $appname (@_appnames) {                push(@appnames, quotemeta($appname));            }        } else {            print STDOUT "KDE_ICON processing <AUTO>\n"   if ($verbose);        }        my @files = ();        opendir (THISDIR, ".");        foreach $entry (readdir(THISDIR)) {            next if ($entry eq "CVS" || $entry =~ /^\./  || $entry =~ /^Makefile/ || $entry =~ /~$/ || $entry =~ /^\#.*\#$/);            next if (! -f $entry);            if ( $iconauto )              {                  push(@files, $entry)                    if ($entry =~ /\.xpm/ || $entry =~ /\.png/);              } else {                  foreach $appname (@appnames) {                      push(@files, $entry)                        if ($entry =~ /-$appname\.xpm/ || $entry =~ /-$appname\.png/);                  }              }        }        closedir (THISDIR);                my %directories = ();                foreach $file (@files) {            my $newfile = $file;            my $prefix = $file;            $prefix =~ s/\.(png|xpm)$//;            my $appname = $prefix;            $appname =~ s/^[^-]+-// if ($appname =~ /-/) ;            $appname =~ s/^[^-]+-// if ($appname =~ /-/) ;            $appname = quotemeta($appname);            $prefix =~ s/$appname$//;            $prefix =~ s/-$//;                        $prefix = 'lo16-app' if ($prefix eq 'mini');            $prefix = 'lo32-app' if ($prefix eq 'lo');            $prefix = 'hi48-app' if ($prefix eq 'large');            $prefix .= '-app' if ($prefix =~ m/^...$/);                        my $type = $prefix;            $type =~ s/^.*-([^-]+)$/$1/;            $prefix =~ s/^(.*)-[^-]+$/$1/;                        my %type_hash =              (               'action' => 'actions',               'app' => 'apps',               'device' => 'devices',               'filesys' => 'filesystems',               'mime' => 'mimetypes'              );                        if (! defined $type_hash{$type} ) {                print STDERR "unknown icon type $type in $printname ($file)\n";

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?