ssh(1) --- 远程编译

有一台比较老的编译服务器,近期需要使用上面部署的一个编译环境,工作服务器可以通过ssh连接到编译服务器,且工作服务器和编译服务器挂载了相同的工作目录。

1. 解决方案

  1. 在工作服务器编写代码,使用ssh远程编译
# 清除并编译,编译信息会在工作服务器的终端打印,就像在工作服务器编译一样
ssh xflm@compile.sw.com "cd $PWD; make clean; make"
  1. 编译服务器时间经常错乱,使得和工作服务器不一致,make检索文件时会报时间警告
    参考编译make工具重新编译一个make放到编译服务器下使用。
  2. 使用编译服务器的终端编译时打印的日志有颜色,但是工作服务器远程编译时没有
    gcc有一个颜色控制的的参数-fdiagnostics-color,默认为-fdiagnostics-color=auto即当输出重定向时gcc不会输出颜色,修改为-fdiagnostics-color=always即可。可以在Makefile中增加gcc的参数,也可以在编译服务器中定义环境变量CFLAGS LDFLAGS,这两个方法都依赖于Makefile的具体实现。
# Makefile增加CFLAGS和LDFLAGS
CFLAGS += -fdiagnostics-color=always
LDFLAGS += -fdiagnostics-color=always
# 定义环境变量
export CFLAGS="-fdiagnostics-color=always "$CFLAGS
export LDFLAGS="-fdiagnostics-color=always "$LDFLAGS
  1. 定义别名,之后在工作服务器使用xmake和xmm进行编译即可
# ~/bin/make是重新编译的make程序,其中注释掉了时间警告
alias xmake='ssh xflm@compile.sw.com "cd $PWD; ~/bin/make"'
alias xmm='ssh xflm@compile.sw.com "cd $PWD; ~/bin/make clean; ~/bin/make -j8"'

2. 参考

Ubuntu设置gcc/g++/make输出颜色高亮

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值