Minix自动交叉编译工具

Minix自动交叉编译工具
地狱门神
https://files.cnblogs.com/Rex/AutoCrossCompile.rar


环境:
1、Minix 版本  3.1.2a VMware镜像版
telnet和ftp已配置好,参见“在Windows上使用telnet和ftp连接Minix的步骤”。
2、.Net Framework 2.0
修改源代码需要.Net Framework 3.5


原理:
使用ftp连接到Minix更新文件。
为了加快更新速度,在AutoCrossCompile.xml中缓存了文件的修改时间。
使用telnet连接到Minix执行编译命令。


使用方法:
AutoCrossCompile <TelnetIP[:Port],User,Password,TerminalType> <FtpRoot> <RemotePath> <LocalPath> <FileNameRegex> [RemoteCommandFile] [-r] [-f]

TelnetIP                Telnet的IP地址
Port                    Telnet的端口号
User                    用户名
Password                密码
TerminalType            终端种类,应选vt100
FtpRoot                 Ftp根地址
RemotePath              相对于Ftp根地址的远程路径
LocalPath               本机硬盘上的文件夹路径
FileNameRegex           所有需要上传的文件的文件名满足的正则表达式
RemoteCommandFile       要通过Telnet执行的命令文件
IgnoreBefore            需要忽略的文件的修改时间的上限,也就是说该时间之前的所有文件均会被忽略
-r(Recursive)           循环LocalPath的子文件夹

-f(ForceUpdate)         强制更新所有文件,不管修改时间


示例:
这是一个叫做pipes的示例项目的命令行。
AutoCrossCompile.exe 192.168.205.128,root,root,vt100 ftp://ftproot:root@192.168.205.128/ /ex1 I:\Minix\FTP\pipes "^([^.]*\.[ch]|[Mm]akefile)$" Commands.cmd -r -f

其中
Commands.cmd包含了远程命令:
make
./pipes


批处理:
Bin\Install.cmd是一个能将当前AutoCrossCompile.exe的路径注册为环境变量的批处理。
使用该批处理并重启explorer后,可以在一个pipes项目所在的文件夹中使用一个包含下面代码的批处理文件。
%AutoCrossCompile% 192.168.205.128,root,root,vt100 ftp://ftproot:root@192.168.205.128/ /ex1 %CD% "^([^.]*\.[ch]|[Mm]akefile)$" Commands.cmd -r -f

 

示例2:
这是一个处理Minix源文件同步的批处理文件。
%AutoCrossCompile% 192.168.205.128,root,root,vt100 ftp://ftproot:root@192.168.205.128/ /usr/src %CD% "^([^.]*\.[chs]|[Mm]akefile(\.in)?)$" Commands.cmd 2009-04-14 -r


集成到Visual Studio:
AutoCrossCompile第一次对某个文件夹运行后,会自动将所有参数(除去文件夹路径和-f选项)记录到AutoCrossCompile.xml文件。
此后只要运行
%AutoCrossCompile% %CD%
就能和之前一样运行。

以Visual Studio 2008中文版为例。
在Visual Studio中,创建一个空项目包含项目的源文件。
然后打开菜单的“项目”-“<项目名> 属性”指向的项目属性窗口。
把“配置属性”-“常规”-“配置类型”设置为“生成文件”。
把“配置属性”-“调试”-“命令”设置为$(AutoCrossCompile)。
把“配置属性”-“调试”-“命令参数”设置为$(ProjectDir)。
把“配置属性”-“NMake”-““生成”命令行”设置为echo。
把“配置属性”-“NMake”-““全部重新生成”命令行”设置为echo。
把“配置属性”-“NMake”-““清除”命令行”设置为echo。
在项目文件夹下,即vcproj文件所在文件夹下,添加文件Commands.cmd,其中写入编译指令。
例如:
cc pipes.c -o pipes
然后在cmd命令行中执行初始的指令(这个时候Minix的Ftp和Telnet需要能够连接),例如:
AutoCrossCompile.exe 192.168.205.128,root,root,vt100 ftp://ftproot:root@192.168.205.128/ /ex1 I:\Minix\FTP\pipes "^([^.]*\.[ch]|[Mm]akefile)$" Commands.cmd -r -f
之后就可以直接在刚才创建的项目中按F5执行交叉编译过程了。

 

用户使用协议:
见License.zh.txt。
Minix自动交叉编译工具许可证(三款BSD许可证)

posted @ 2009-03-23 14:43  地狱门神  阅读(819)  评论(0编辑  收藏  举报