makefile脚本语言

语法

一、显示规则
1)目标文件:依赖文件
[TAB]指令([TAB]是键位)
2)第一个目标文件是我们的最终目标
3)#是注释
4)伪目标伪目标:.PHONY:

#第一个目标文件是最终目标!!!像递归
hello:hello.o
   gcc hello.o -o hello
hello.o:hello.s
   gcc -c hello.s -o hello.o
hello.s:hello.i
   gcc -S hello.i -o hello.s
hello.i:hello.c
    gcc -E hello.c -o hello.i

二、变量
=(替换)
+=(追加)
:=(恒等于)

变量 =(替换)+=(追加):=(恒等于)
#如果需要替换需要加上$
#gcc不能变所以用:=

TAR = main
OBJ = add.o multi.o main.o
CC := gcc 

$(TAR):$(OBJ)
    $(CC) $(OBJ) -o $(TAR)
add.o:add.c
    $(CC) -c add.c -o add.o
multi.o:multi.c
    $(CC) -c multi.c -o multi.o
main.o:main.c
    $(CC) -c main.c -o main.o

#追加
TAR1 = main

三、隐含规则

#隐含规则 %.c %.o 任意的.c或者.o  c *.o所有的.c .o

TAR = main
OBJ = add.o multi.o main.o
CC := gcc 

$(TAR):$(OBJ)
    $(CC) $(OBJ) -o $(TAR)
%.o:%.c
    $(CC) -c %.c -o %.o

四、通配符

#通配符$^所有的依赖文件 $@所有的目标文件 $<所有的依赖文件的第一个文件

TAR = main
OBJ = add.o multi.o main.o
CC := gcc 
RMRF := rm -rf

$(TAR):$(OBJ)
    $(CC) $^ -o $@
%.o:%.c
    $(CC) -c $^ -o $@
    
.PHONY:
clearnAll:
    $(RMRF) *.o main
clearn:
    $(RMRF) *.o

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值