本人在使用Makefile编写的时候,使用两种不同的编译器分别对不同的文件进行编译,怎么只能编译首先使用的编译器,而后面的编译器就不可用或者没有反应的呢???
这个不是编译器的问题。
make的最终目标是makefile的第一个目标(x86_target),也就是你说的,“只用了gcc这个编译器”。
如果你要编译生成serial_arm和serial_x86,Makefile可以这样写:
1-13行内容
all:$(X86_TARGET) $(ARM_TARGET)
.phony:all
16-33行内容
要编译生成两个目标文件可以在命令行中敲入:make all
希望对你有帮助
可以的,当请问一些,这样改的原因是什么???
@OlderDriver: make工作时会把第一个目标(all)当做最终目标,这个目标依赖于serial_arm和serial_x86这两个目标,所以就能生成啦。
你写的Makefile中的最终目标是serial_x86,这个目标不依赖于serial_arm,而make一旦完成第一个目标的工作后,不会对serial_arm这个目标再进行处理,所以就有了你说的"两个编译器只有一个能用"这种情况。
第一次给别人回答问题,希望有帮助。