初识makefile
2018-10-04 本文已影响0人
QUIZ_JS
Makefile的规则
target ... : prerequisites ...
command ... ...
target也就是一个目标文件,可以是Object File,也可以是执行文件。
prerequisites就是,要生成那个target所需要的文件或是目标。
command也就是make需要执行的命令。(任意的Shell命令)
简单实例
CC = gcc
CFLAGS = -lm -wall -g
all : main_max main_min
main_max : main_max.c foo.o bar.o
$(CC) $(CFLAGS) main_max.c foo.o bar.o -o main_max
main_min : main_min.c foo.o bar.o
$(CC) $(CFLAGS) main_min.c foo.o bar.o -o main_min
foo.o : foo.c
$(CC) $(CFLAGS) -c foo.c
bar.o : bar.c
$(CC) $(CFLAGS) -c bar.c
clean :
rm *.o main
解析如下:
1、 $()的功能是变量替换
2、command之前必须是tab
3、all是同时将main_max和main_min两个都执行,如果没有all将会只执行main_max