我有一个makefile,如果我想为不同的编译器编译它,我的makefile需要哪些更改?我知道的是改变我的编译器的CC值。我还需要做哪些其他更改?例如 我的这里是我的文件:
CC=gcc
CFLAGS=-c -Wall
all: hello
hello: main.o factorial.o hello.o
$(CC) main.o factorial.o hello.o -o hello
main.o: main.cpp
$(CC) $(CFLAGS) main.cpp
factorial.o: factorial.cpp
$(CC) $(CFLAGS) factorial.cpp
hello.o: hello.cpp
$(CC) $(CFLAGS) hello.cpp
clean:
rm -rf *o hello
我需要对其他处理器进行哪些更改才能编译? 如何知道处理器的编译器链接器拱的名称?
答案 0 :(得分:1)
这取决于。
如果您已经在使用可以为不同目标发出代码的编译器,那么设置正确的标志是一个问题,例如:想象CC=süper-cross-compiler
和CFLAGS=eye-phone
。
如果必须切换到另一个具有兼容标志的编译器,则必须更改$(CC)
变量和其他变量,或者可能在shell环境中设置另一个别名。
GCC Windows端口MinGW有一个Linux端口。某些发行版将其作为mingw-gcc
发送;在他们身上,你会CC=mingw-gcc
。
无论如何,一般来说,你必须调整多个东西。这完全取决于具体情况。
答案 1 :(得分:0)
在make define CC中
CC=$(CROOSS)gcc
调用make like
CROSS=ppc_8xx- make
CROSS可以是arm-linux-gnu-或者其他什么。