欢迎光临散文网 会员登陆 & 注册

Linux---Makefile的使用

2021-11-22 08:05 作者:风菩提树  | 我要投稿

Makefile的用途:在对项目中多个.c文件进行快速编译

1.一个规则,2个函数,3个自动变量

2.Makefile编写规则

    编译test.c

    目标文件:依赖文件

    终极目标:终极依赖   链接

    第一目标:第一依赖   汇编

          (一个tab键)脚本命令

test:test.o

(一个tab键)gcc test.o -o test

test.o:test.c

(一个tab键)gcc -c test.c -o test.o

3.  两个函数

     Src = $(wildcard *.c)

    找到当前目录下所有后缀为.c的文件赋值给src

    Obj = $(patsubst  %.c,%.o,$(src))

    把src变量里所有后缀为.c的文件替换成.o

4. 3个自动化变量

    $@   规则中的目标

    $<    规则命令中,表示第一个依赖条件

    $^    规则命令中,表示所有的依赖条件

5.模式规则

%.o : %.c

         (一个tab键)gcc  -c   $^  -o  $@


模板一

Src= $(wildcard *.c)

Obj =$(patsubst  %.c,%,$(src))

CC = gcc

All : $(obj)

% :%.c

(一个tab键)$(CC)  $^   -o  $@

Clean:

(一个tab键)-rm  -rf  $(obj)

.PHONY:clean All

模板二

TARGET = main

SRCS = $(wildcard *.c)

OBJS = $(patsubst %.c,%.o,$(SRCS))

CC = gcc

$(TARGET):$(OBJS)

(一个tab键)$(CC) $(^) -o $(@)

%.o:%.c

(一个tab键)$(CC) -c $(^) -o $(@)

clean:

(一个tab键)rm $(OBJS) $(TARGET)


Linux---Makefile的使用的评论 (共 条)

分享到微博请遵守国家法律