码迷,mamicode.com
首页 > 编程语言 > 详细

linux c++(makefile)

时间:2021-05-04 15:41:38      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:main   car   include   命令   c++   $@   file   文件   限时   

makefile

makefile|Makefile
目标:依赖
tab键 规则命令

版本一

app:main.c add.c
    gcc -o app -I./include main.c add.c  

版本二

app: main.o add.o
    gcc -o app -I./include main.o add.o
main.o: main.c
    gcc -c main.c -I./include
add.o: add.c
    gcc -c add.c -I./include 

终极版本

# 文件匹配
srcFiles=$(wildcard *.c)
# 内容替换
dstFiles=$(patsubst %.c,%.o,$(srcFiles))
# 自定义变量
objName=app

all:$(objName)                                                                                                    

#$@ 代表目标 $< 代表第一个依赖 $^代表全部依赖 $?第一个变化的依赖
$(objName):$(dstFiles)
    gcc -o $@ -I./include $(dstFiles)
# 模式推导
%.o:%.c
    gcc -c $< -I./include

# .PHONY 伪目标,防止有歧义
.PHONY: clean all
# @ 执行不限时 - 忽略错误
clean:
    -@rm -f *.o
    -@rm -f app
#test:
#   echo $(dstFiles)

linux c++(makefile)

标签:main   car   include   命令   c++   $@   file   文件   限时   

原文地址:https://www.cnblogs.com/lodger47/p/14725454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!