在GNU编译工具软件中,如果对单一的源文件进行编译,可运行指令如下:gcc -oxxxx xxxx.c 。此指令会将源文件编译为目标文件。若是对线程类文件进行编译,则在末尾加上 -lpthread指令。
但若是对多文件进行编译,即若是编译的目标文件同时包含另一文件中的函数。则在编译的时候需将另一文件加到编译源文件中。即: gcc -o xxxx xxxx.c bbbb.caaaa.c 。这一点需要特别注意。并不同于VC的编译方法。
少量的文件还好,如果是需要对大量的源文件进行编译,则此时需要添加多个文件,这是非常麻烦的一件事情。而且如果个别文件修改了,整个所有的文件需要重新编译一遍。费时费力。此时就需要运用makefile来实现编译。Makefile通过一定的规则,将各个依赖的文件相互组织起来,方便快捷的实现了多文件的编译。
在linux环境下编写运行于电话开发板的makefile文件大体如下
CC=/opt/ifx-lxdb-1-2/gcc-3.3.6/toolchain-mips/bin/mips-linux-gcc
//CFLAGS= -DDEBUG -D__Linux__-g
CCFLAGS=-Wall
xxx: xxx.o xxxxx.o
$(CC) $(CCFLAGS)xxx.o xxxxx.o -o xxx
cp xxx/boardshare
xxx.o:xxx.c
$(CC) -c$(CCFLAGS) xxx.c -o xxx.o
xxxxx.o:xxxxx.c
$(CC) -c$(CCFLAGS) xxxxx.c -o xxxxx.o
clean:
rm -rf *.o
(文章原创,转载请声明 2011.4.21)