📄 compilemex.html
字号:
<html><head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> <title>compilemex.m</title><link rel="stylesheet" type="text/css" href="../../m-syntax.css"></head><body><code><span class=defun_kw>function</span> <span class=defun_name>compilemex</span>(<span class=defun_in>root</span>)<br><span class=h1>% COMPILEMEX Compiles all MEX files of the STPRtoolbox.</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Synopsis:</span></span><br><span class=help>% compilemex</span><br><span class=help>% compilemex( toolboxroot )</span><br><span class=help>%</span><br><span class=help>% <span class=help_field>Description:</span></span><br><span class=help>% It calls MEX complier on all C-codes of the STPRtoolbox.</span><br><span class=help>% Run this function from the STPRtoolbox root directory or</span><br><span class=help>% or specify the root directory as an input argument.</span><br><span class=help>%</span><br><hr><span class=help1>% <span class=help1_field>About:</span> Statistical Pattern Recognition Toolbox</span><br><span class=help1>% (C) 1999-2003, Written by Vojtech Franc and Vaclav Hlavac</span><br><span class=help1>% <a href="http://www.cvut.cz">Czech Technical University Prague</a></span><br><span class=help1>% <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a></span><br><span class=help1>% <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a></span><br><br><span class=help1>% <span class=help1_field>Modifications:</span></span><br><span class=help1>% 09-sep-2005, VF, added compilation of "gnnls_mex.c" and "gnpp_mex.c"</span><br><span class=help1>% 25-aug-2005, VF</span><br><span class=help1>% 24-jan-2005, VF</span><br><span class=help1>% 29-dec-2004, VF, inconsistent variables ("root" and "Root") unified</span><br><span class=help1>% 29-nov-2004, VF</span><br><span class=help1>% 19-sep-2004, VF</span><br><span class=help1>% 16-may-2004, VF</span><br><span class=help1>% 5-July-2003, VF</span><br><span class=help1>% 20-June-2003, VF</span><br><span class=help1>% 23-Jan-2003, VF</span><br><br><hr><span class=io>fprintf</span>(<span class=quotes>'Compiling MEX files of STPRtool...\n'</span>);<br><br><span class=keyword>if</span> <span class=stack>nargin</span> < 1<br> root=pwd; <span class=comment>% get current directory</span><br><span class=keyword>end</span><br><br><span class=comment>% -- List of functions to be complied ---------------------------</span><br>fun(1).source={<span class=quotes>'$kernels/kernel.c'</span>,<span class=quotes>'$kernels/kernel_fun.c'</span>};<br>fun(1).outdir=<span class=quotes>'$kernels'</span>;<br>fun(1).include=<span class=quotes>'$kernels'</span>;<br><br>fun(2).source={<span class=quotes>'$kernels/diagker.c'</span>,<span class=quotes>'$kernels/kernel_fun.c'</span>};<br>fun(2).outdir=<span class=quotes>'$kernels'</span>;<br>fun(2).include=<span class=quotes>'$kernels'</span>;<br><br>fun(3).source={<span class=quotes>'$svm/smo1d_mex.c'</span>};<br>fun(3).outdir=<span class=quotes>'$svm'</span>;<br>fun(3).include=<span class=quotes>'$kernels'</span>;<br><br>fun(4).source={<span class=quotes>'$svm/smo_mex.c'</span>,<span class=quotes>'$kernels/kernel_fun.c'</span>};<br>fun(4).outdir=<span class=quotes>'$svm'</span>;<br>fun(4).include=<span class=quotes>'$kernels'</span>;<br><br>fun(5).source = {<span class=quotes>'$svm/bsvm2_mex.c'</span>,<span class=quotes>'$kernels/kernel_fun.c'</span>,...<br> <span class=quotes>'$optimization/gmnplib.c'</span>};<br>fun(5).outdir = <span class=quotes>'$svm'</span>;<br>fun(5).include = <span class=quotes>'$kernels'</span>;<br><br>fun(6).source = {<span class=quotes>'$misc/knnclass_mex.c'</span>};<br>fun(6).outdir = <span class=quotes>'$misc'</span>;<br>fun(6).include = <span class=quotes>'$'</span>;<br><br>fun(7).source = {<span class=quotes>'$svm/svm2_mex.c'</span>,<span class=quotes>'$kernels/kernel_fun.c'</span>,...<br> <span class=quotes>'$optimization/gnpplib.c'</span>};<br>fun(7).outdir = <span class=quotes>'$svm'</span>;<br>fun(7).include = <span class=quotes>'$kernels'</span>;<br><br>fun(8).source={<span class=quotes>'$kernels/kernelproj_mex.c'</span>,<span class=quotes>'$kernels/kernel_fun.c'</span>};<br>fun(8).outdir=<span class=quotes>'$kernels'</span>;<br>fun(8).include=<span class=quotes>'$kernels'</span>;<br><br>fun(9).source={<span class=quotes>'$optimization/gmnp_mex.c'</span>,<span class=quotes>'$optimization/gmnplib.c'</span>};<br>fun(9).outdir=<span class=quotes>'$optimization'</span>;<br>fun(9).include=<span class=quotes>'$'</span>;<br><br>fun(10).source={<span class=quotes>'$optimization/gnnls_mex.c'</span>,<span class=quotes>'$optimization/gnnlslib.c'</span>};<br>fun(10).outdir=<span class=quotes>'$optimization'</span>;<br>fun(10).include=<span class=quotes>'$'</span>;<br><br>fun(11).source={<span class=quotes>'$optimization/gnpp_mex.c'</span>,<span class=quotes>'$optimization/gnpplib.c'</span>};<br>fun(11).outdir=<span class=quotes>'$optimization'</span>;<br>fun(11).include=<span class=quotes>'$'</span>;<br><br><br><span class=comment>% -- Compile functions -----------------------------</span><br><span class=keyword>for</span> i=1:length(fun),<br> mexstr = [<span class=quotes>'mex -O -I'</span> translate(fun(i).include,root) ...<br> <span class=quotes>' -outdir '</span> translate(fun(i).outdir, root) <span class=quotes>' '</span>];<br> <br> <span class=keyword>for</span> j=1:length(fun(i).source), <br> mexstr = [mexstr translate(char(fun(i).source(j)),root) <span class=quotes>' '</span>];<br> <span class=keyword>end</span><br><br> <span class=io>fprintf</span>(<span class=quotes>'%s\n'</span>,mexstr);<br> <br> <span class=eval>eval</span>(mexstr);<br><span class=keyword>end</span><br><br><span class=jump>return</span>;<br><br><span class=comment>%--translate ---------------------------------------------------------</span><br><span class=defun_kw>function</span> <span class=defun_out>p </span>= <span class=defun_name>translate</span>(<span class=defun_in>p,toolboxroot</span>);<br><span class=comment>%TRANSLATE Translate unix path to platform specific path</span><br><span class=comment>% TRANSLATE fixes up the path so that it's valid on non-UNIX platforms</span><br><span class=comment>%</span><br><span class=comment>% This function was derived from MathWork M-file "pathdef.m"</span><br><br>cname = computer;<br><span class=comment>% Look for VMS, this covers VAX_VMSxx as well as AXP_VMSxx.</span><br><span class=comment>%if (length (cname) >= 7) & strcmp(cname(4:7),'_VMS')</span><br><span class=comment>% p = strrep(p,'/','.');</span><br><span class=comment>% p = strrep(p,':','],');</span><br><span class=comment>% p = strrep(p,'$toolbox.','toolbox:[');</span><br><span class=comment>% p = strrep(p,'$','matlab:[');</span><br><span class=comment>% p = [p ']']; % Append a final ']'</span><br><br><span class=comment>% Look for PC</span><br><span class=keyword>if</span> strncmp(cname,<span class=quotes>'PC'</span>,2)<br> p = strrep(p,<span class=quotes>'/'</span>,<span class=quotes>'\'</span>);<br> p = strrep(p,<span class=quotes>':'</span>,<span class=quotes>';'</span>);<br> p = strrep(p,<span class=quotes>'$'</span>,[toolboxroot <span class=quotes>'\'</span>]);<br><br><span class=comment>% Look for MAC</span><br><span class=keyword>elseif</span> strncmp(cname,<span class=quotes>'MAC'</span>,3)<br> p = strrep(p,<span class=quotes>':'</span>,<span class=quotes>':;'</span>);<br> p = strrep(p,<span class=quotes>'/'</span>,<span class=quotes>':'</span>);<br> m = toolboxroot;<br> <span class=keyword>if</span> m(<span class=keyword>end</span>) ~= <span class=quotes>':'</span><br> p = strrep(p,<span class=quotes>'$'</span>,[toolboxroot <span class=quotes>':'</span>]);<br> <span class=keyword>else</span><br> p = strrep(p,<span class=quotes>'$'</span>,toolboxroot);<br> <span class=keyword>end</span><br><span class=keyword>else</span><br> p = strrep(p,<span class=quotes>'$'</span>,[toolboxroot <span class=quotes>'/'</span>]);<br><span class=keyword>end</span><br></code>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -