首页 新闻 会员 周边

Makefile中是否可以进行两个编译器的编译

0
悬赏园豆:5 [已解决问题] 解决于 2017-12-14 14:28

本人在使用Makefile编写的时候,使用两种不同的编译器分别对不同的文件进行编译,怎么只能编译首先使用的编译器,而后面的编译器就不可用或者没有反应的呢???

 

Psrion的主页 Psrion | 初学一级 | 园豆:29
提问于:2017-06-08 16:22
< >
分享
最佳答案
1

这个不是编译器的问题。

make的最终目标是makefile的第一个目标(x86_target),也就是你说的,“只用了gcc这个编译器”。

如果你要编译生成serial_arm和serial_x86,Makefile可以这样写:

1-13行内容

all:$(X86_TARGET) $(ARM_TARGET)

.phony:all

16-33行内容

 

要编译生成两个目标文件可以在命令行中敲入:make all

希望对你有帮助

收获园豆:5
Cloogo | 菜鸟二级 |园豆:301 | 2017-06-09 09:37

可以的,当请问一些,这样改的原因是什么???

Psrion | 园豆:29 (初学一级) | 2017-06-09 11:00

@OlderDriver: make工作时会把第一个目标(all)当做最终目标,这个目标依赖于serial_arm和serial_x86这两个目标,所以就能生成啦。

你写的Makefile中的最终目标是serial_x86,这个目标不依赖于serial_arm,而make一旦完成第一个目标的工作后,不会对serial_arm这个目标再进行处理,所以就有了你说的"两个编译器只有一个能用"这种情况。

第一次给别人回答问题,希望有帮助。

Cloogo | 园豆:301 (菜鸟二级) | 2017-06-09 12:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册