初识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

上一篇下一篇

猜你喜欢

热点阅读