one shot,one kill.

Makefile包括 目标文件、依赖文件、可执行命令三部分。

每部分的基本格式如下:

test: prog.o code.o

gcc -o test prog.o code.o

其中,第一行的test是目标文件; prog.o、code.o是依赖文件;

第二行的gcc -o test prog.o code.o是可执行命令。

整个Makefile文件都是这种格式。

以下是一些example:

———————–Makefile example 1———————————-

#this line is the comment for the Makefile

test: prog.o code.o

gcc prog.o code.o -o test

prog.o: prog.c prog.h code.h

gcc -c prog.c -o prog.o

code.o: code.c code.h

gcc -c code.c -o code.o

clean:

rm -f *.o

———————————————————————————————-

——————————-example 2(包含变量)———————————

#this line is the Makefile comment

OBJS = prog.o code.o

CC = gcc

CFLAGS = -Wall -g -O

test:${OBJS}

${CC} ${CFLAGS} ${OBJS} -o test

prog.o: prog.c prog.h code.h

${CC} ${CFLAGS} -c prog.c -o prog.o

code.o: code.c code.h

${CC} ${CFLAGS} -c code.c -o code.o

clean:

rm -f *.o

————————————————————————————————

——————————-example 3(使用Makefile的隐含规则)———————————

1,如果没有相应的编译命令,则使用隐含规则,所有的 ".c文件" 编译成与它名称相同的 ".o文件"。

2, 使用Makefile的自动变量。

#this line is the Makefile comment

OBJS = prog.o code.o

CC = gcc

test:${OBJS}

${CC} -o $@ $^

prog.o: prog.c prog.h code.h #no exec command,and will generate the prog.o

code.o: code.c code.h #no exec command,and will generate the code.o

clean:

rm -f *.o

————————————————————————————————

—————————————————–以下为我测试过的实例文件内容 :—————————————————–

========================== Makefile ===============

#this line is the commentCC = gccOBJS = my_str.oCFLAGS = -Wall -g -Oprogram: my_main.c ${OBJS} ${CC} ${CFLAGS} $^ -o $@my_str.o: my_str.c my_str.h ${CC} ${CFLAGS} -c my_str.c -o my_str.oclean: rm -f *.o

=======================================================================

==========================my_main.c=======================

想要成功,就一定要和成功的人在一起,不然反之

one shot,one kill.

相关文章:

你感兴趣的文章:

标签云: