⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 am_edit

📁 这是linux下读取pc主板温度传感器的源代码
💻
📖 第 1 页 / 共 5 页
字号:
                foreach $source (@progsources) {            my $suffix = $source;            $suffix =~ s/^.*\.([^\.]+)$/$1/;                        $sourcelist{$suffix} .= "$source ";        }        foreach my $mocFile (keys (%globalmocs))        {            my ($dir, $hFile, $cppFile) = split ("\035", $globalmocs{$mocFile}, 3);            if (defined ($cppFile)) {                $mocs .= " $mocFile.moc" if exists $shash{$cppFile};            } else {		$sourcelist{$cxxsuffix} .= "$mocFile.moc.$cxxsuffix ";		$moc_cpp_added = 1;	    }        }        foreach $suffix (keys %sourcelist) {                        # See if this file contains c++ code. (i.e., just check the file's suffix against c++ extensions)            my $suffix_is_cxx = 0;            if($suffix =~ /($cppExt)$/) {              $cxxsuffix = $1;              $suffix_is_cxx = 1;            }                        my $mocfiles_in = ($suffix eq $cxxsuffix) && $moc_cpp_added;                        my @sourcelist = split(/[\034\s]+/, $sourcelist{$suffix});                        if ((@sourcelist == 1 && !$mocfiles_in) || $suffix_is_cxx != 1 ) {                                # we support IDL on our own                if ($suffix eq "skel" || $suffix =~ /^stub/		    || $suffix =~ /^signals/ # obsolete, remove in KDE-4                    || $suffix eq "h" || $suffix eq "ui" ) {                    next;                }                                foreach $file (@sourcelist) {                    $file =~ s/\Q$suffix\E$//;                                        $finalObjs{$program} .= $file;                    if ($program =~ /_la$/) {                        $finalObjs{$program} .= "lo ";                    } else {                        $finalObjs{$program} .= "o ";                    }                }                next; # suffix            }                        my $source_deps = "";            foreach $source (@sourcelist) {                if (-f $source) {                    $source_deps .= " \$(srcdir)/$source";                } else {                    $source_deps .= " $source";                }            }            $handling = "$program.all_$suffix.$suffix: \$(srcdir)/Makefile.in" . $source_deps . " " . join(' ', $mocs)  . "\n";            $handling .= "\t\@echo 'creating $program.all_$suffix.$suffix ...'; \\\n";            $handling .= "\trm -f $program.all_$suffix.files $program.all_$suffix.final; \\\n";            $handling .= "\techo \"#define KDE_USE_FINAL 1\" >> $program.all_$suffix.final; \\\n";            $handling .= "\tfor file in " . $sourcelist{$suffix} . "; do \\\n";            $handling .= "\t  echo \"#include \\\"\$\$file\\\"\" >> $program.all_$suffix.files; \\\n";            $handling .= "\t  test ! -f \$\(srcdir\)/\$\$file || egrep '^#pragma +implementation' \$\(srcdir\)/\$\$file >> $program.all_$suffix.final; \\\n";            $handling .= "\tdone; \\\n";            $handling .= "\tcat $program.all_$suffix.final $program.all_$suffix.files > $program.all_$suffix.$suffix; \\\n";            $handling .= "\trm -f $program.all_$suffix.final $program.all_$suffix.files\n";            appendLines($handling);            push(@final_names, "$program.all_$suffix.$suffix");            my $finalObj = "$program.all_$suffix.";            if ($program =~ /_la$/) {                $finalObj .= "lo";            } else {                $finalObj .= "o";            }	    $finalObjs{$program} .= $finalObj . " ";        }    }        if (!$kdeopts{"nofinal"} && @final_names >= 1) {        # add clean-final target        my $lines = "$cleantarget-final:\n";        $lines .= "\t-rm -f " . join(' ', @final_names) . "\n" if (@final_names);        appendLines($lines);        $target_adds{"$cleantarget-am"} .= "$cleantarget-final ";                foreach $finalfile (@final_names) {            $finalfile =~ s/\.[^.]*$/.P/;            $dep_finals .= " \$(DEPDIR)/$finalfile";        }    }}sub tag_KDEINIT(){    my @progs = ();    my $ltlibs = "";    my $lookup = 'kdeinit_LTLIBRARIES\s*=[ \t]*(.*)';    if ($MakefileData =~ m/\n$lookup/) {	@kdeinits = split(/[\034\s]+/, $1);	my $lines = "";	foreach my $kdeinit (@kdeinits) {	    if ($kdeinit =~ m/\.la$/) {		$kdeinit =~ s/\.la$//;                push(@progs, $kdeinit);                $lines .= "\n${kdeinit}.la.$cxxsuffix:\n";                $lines .= "\techo 'extern \"C\" int kdemain(int argc, char* argv[]);' > ${kdeinit}.la.$cxxsuffix; \\\n";                $lines .= "\techo 'int main(int argc, char* argv[]) { return kdemain(argc,argv); }' >> ${kdeinit}.la.$cxxsuffix\n";                $lines .= "\n${kdeinit}_dummy.$cxxsuffix:\n";                $lines .= "\t echo > ${kdeinit}_dummy.$cxxsuffix\n";                push(@cleanfiles, "${kdeinit}.la.$cxxsuffix");                push(@cleanfiles, "${kdeinit}_dummy.$cxxsuffix");                # add dependency                $dep_files .= " \$(DEPDIR)/${kdeinit}.la.Po" if($dep_files !~/${kdeinit}.la.Po/ );                $dep_files .= " \$(DEPDIR)/${kdeinit}_dummy.Plo" if($dep_files !~/${kdeinit}_dummy.Plo/ );                # make library                $lookup = $kdeinit . '_la_LIBADD\s*=[ \t]*(.*)';                if($MakefileData =~ m/\n$lookup/) {                    my $libadd = $1;                    substituteLine($lookup, "${kdeinit}_la_LIBADD = libkdeinit_${kdeinit}.la");                    appendLines("libkdeinit_${kdeinit}_la_LIBADD = $libadd\n");                }                appendLines("libkdeinit_${kdeinit}_la_LDFLAGS = \$(all_libraries)\n");                # add library dependencies                $lookup = $kdeinit . '_la_DEPENDENCIES\s*=[ \t]*(.*)';                if($MakefileData =~ m/\n$lookup/) {                    my $libdeps = $1;                    substituteLine($lookup, "${kdeinit}_la_DEPENDENCIES = libkdeinit_${kdeinit}.la");                    appendLines("libkdeinit_${kdeinit}_la_DEPENDENCIES = $libdeps\n");                }                # make library objects                $lookup = "am_${kdeinit}_la_OBJECTS" . '\s*=[ \t]*(.*)';                if($MakefileData =~ m/\n$lookup/) {                    my $libobjects = $1;                    substituteLine($lookup, "am_${kdeinit}_la_OBJECTS = ${kdeinit}_dummy.lo");                    appendLines("am_libkdeinit_${kdeinit}_la_OBJECTS = $libobjects\n");                    my $prog = "libkdeinit_${kdeinit}_la";                    push(@programs, $prog);                    $realObjs{$prog} = $libobjects;                    $realname{$prog} = "libkdeinit_${kdeinit}.la";                }                $target_adds{"libkdeinit_${kdeinit}.la"} = "\$(libkdeinit_${kdeinit}_la_OBJECTS) \$(libkdeinit_${kdeinit}_la_DEPENDENCIES)\n" .                        "\t\$(CXXLINK) -rpath \$(libdir) \$(libkdeinit_${kdeinit}_la_LDFLAGS) ".                           "\$(libkdeinit_${kdeinit}_la_OBJECTS) " .                           "\$(libkdeinit_${kdeinit}_la_LIBADD) " .                           "\$(LIBS)\n";                # make libkdeinit sources                $lookup = $kdeinit . '_la_SOURCES\s*=[ \t]*(.*)';                if($MakefileData =~ m/\n$lookup/) {                    my $srces = $1;                    $sources_changed{"libkdeinit_${kdeinit}_la"} = 1;                    $sources{"libkdeinit_${kdeinit}_la"} = $srces;                }                # make libkdeinit metasources                $lookup = $kdeinit . '_la_METASOURCES\s*=[ \t]*(.*)';                substituteLine($lookup, "libkdeinit_${kdeinit}_la_METASOURCES = $1")                    if($MakefileData =~ m/\n$lookup/);=cut                # make binary sources                $lookup = $kdeinit. '_SOURCES\s*=[ \t]*(.*)';                if($MakefileData =~ m/\n$lookup/) {                    substituteLine($lookup, "${kdeinit}_SOURCES = ${kdeinit}.la.$cxxsuffix");                    $lookup = 'SOURCES\s*=[ \t]*(.*)';                    if($MakefileData =~ m/\n$lookup/) {                        my $srces = $1;                        $srces =~ s/\b$kdeinit\.c\b/\$(${kdeinit}_SOURCES)/;                        $srces =~ s/\$\(${kdeinit}_la_SOURCES\)/\$(libkdeinit_${kdeinit}_la_SOURCES)/;                        substituteLine($lookup, "SOURCES = $srces");                    }                    $lookup = 'DIST_SOURCES\s*=[ \t](.*)';                    if($MakefileData =~ m/\n$lookup/) {                        my $srces = $1;                        $srces =~ s/\b$kdeinit\.c\b/\$(${kdeinit}_SOURCES)/;                        $srces =~ s/\$\(${kdeinit}_la_SOURCES\)/\$(libkdeinit_${kdeinit}_la_SOURCES)/;                        substituteLine($lookup, "DIST_SOURCES = $srces");                    }                }                # make binary objects / libs                $lookup = $kdeinit . '_OBJECTS\s*=[ \t]*.*';                if($MakefileData =~ m/\n$lookup/) {                    $realObjs{$kdeinit} = "${kdeinit}.la.\$(OBJEXT)";                    substituteLine("${kdeinit}_LDFLAGS\\s*=.*", "${kdeinit}_LDFLAGS = \$(all_libraries)");                    substituteLine("${kdeinit}_LDADD\\s*=.*", "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la");                    substituteLine("${kdeinit}_DEPENDENCIES\\s*=.*", "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la");                }=cut                # add binary                push(@programs, $kdeinit);                $realObjs{$kdeinit} = "${kdeinit}.la.\$(OBJEXT)";                $realname{$kdeinit} = $kdeinit;                $sources{$kdeinit} = "${kdeinit}.la.$cxxsuffix";                $lines .= "${kdeinit}_LDFLAGS = \$(all_libraries)\n";                $lines .= "${kdeinit}_LDADD = libkdeinit_${kdeinit}.la\n";                $lines .= "${kdeinit}_DEPENDENCIES = libkdeinit_${kdeinit}.la\n";                $target_adds{"${kdeinit}\$(EXEEXT)"} =                          "\$(${kdeinit}_OBJECTS) \$(${kdeinit}_DEPENDENCIES)\n" .                          "\t\@rm -f ${kdeinit}\$(EXEEXT)\n" .                          "\t\$(CXXLINK) \$(${kdeinit}_LDFLAGS) \$(${kdeinit}_OBJECTS) \$(${kdeinit}_LDADD) \$(LIBS)\n";                $ltlibs .= " libkdeinit_${kdeinit}.la";	    }        }        appendLines($lines);        # add libkdeinit target        $lookup = 'lib_LTLIBRARIES\s*=[ \t]*(.*)';        if($MakefileData =~ m/\n$lookup/) {            substituteLine($lookup, "lib_LTLIBRARIES = $1 $ltlibs");        }        else {            print STDERR                "Error: lib_LTLIBRARIES missing in $printname (required for kdeinit_LTLIBRARIES).\n";            $errorflag = 1;        }    }    if($#progs >= 0) {        if($MakefileData !~ m/\nbin_PROGRAMS\s*=/) {            print STDERR "Error: bin_PROGRAMS missing in $printname (required for bin_PROGRAMS).\n";            $errorflag = 1;        }        else {            # add our new progs to SOURCES, DIST_SOURCES and bin_PROGRAMS            my $progsources = "";            my $progexes = "";            foreach my $p (@progs) {                $progsources .= "\$(${p}_SOURCES) ";                $progexes .= "${p}\$(EXEEXT) ";            }            $lookup = 'SOURCES\s*=[ \t]*(.*)';            if($MakefileData =~ /\n$lookup/) {                substituteLine($lookup, "SOURCES = $1 $progsources");            }            $lookup = 'DIST_SOURCES\s*=[ \t]*(.*)';            if($MakefileData =~ /\n$lookup/) {                substituteLine($lookup, "DIST_SOURCES = $1 $progsources");            }            # bin_PROGRAMS is complicated, as it exists twice, so we do a little            # magic trick here            $lookup = 'PROGRAMS\s*=[ \t]*(.*)';            if ($MakefileData =~ /\n$lookup/) {                substituteLine($lookup, "bin_PROGRAMS += $progexes\nPROGRAMS = $1");            }        }    }}#-----------------------------------------------------------------------------sub tag_COMPILE_FIRST(){  foreach $program (@programs) {    my $lookup = "$program" . '_COMPILE_FIRST\s*=[ \t]*(.*)';    if ($MakefileData =~ m/\n$lookup\n/) {      my $compilefirst_str = $1;      my @compilefirst = split(/[\034\s]+/, $compilefirst_str);      my @progsources = split(/[\034\s]+/, $sources{$program});      my %donesources = ();      foreach $source (@progsources) {        my @deps  = ();        my $sdeps = "";        if (-f $source) {          $sdeps = "\$(srcdir)/$source";        } else {          $sdeps = "$source";        }        foreach $depend (@compilefirst) {          next if ($source eq $depend);          # avoid cyclic dependencies          next if defined($donesources{$depend});          push @deps, $depend;        }        $target_adds{$sdeps} = join(' ', @deps) if (@deps);        $donesources{$source} = 1;      }    }  }}#-----------------------------------------------------------------------------# Organises the list of headers that we'll use to produce moc files# from.sub tag_METASOURCES (){    local @newObs           = ();  # here we add to create object files    local @depend           = ();  # here we add to create moc files    local $mocExt           = ".moc";    local %mocFiles         = ();    my $line = "";    my $postEqual = "";    my $lookup;    my $found = "";    if ($metasourceTags > 1) {	$lookup = $program . '_METASOURCES\s*=\s*(.*)';	return 1    if ($MakefileData !~ /\n($lookup)\n/);	$found = $1;    } else {	$lookup = $program . '_METASOURCES\s*=\s*(.*)';	if ($MakefileData !~ /\n($lookup)\n/) {	    $lookup = 'METASOURCES\s*=\s*(.*)';	    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;        $dependmocs{$program} = join (".moc.$cxxsuffix " , @newObs) . ".moc.$cxxsuffix";        foreach $file (@newObs) {            $dep_files .= " \$(DEPDIR)/$file.moc.P" if($dep_files !~/$file.moc.P/);        }

⌨️ 快捷键说明

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