Makefile自动依赖写法

本文介绍了如何在复杂的工程目录结构下实现Makefile的自动依赖。通过设置环境变量,获取源文件列表,设置自动依赖关系,确保编译过程中正确处理头文件路径,实现了跨目录的编译通用性。最后提到了清理目标的实现,使得整个流程更加完善。
摘要由CSDN通过智能技术生成

从开始学习到了解到makefile自动依赖到目前为止总算是掌握了makefile的自动依赖写法

因为接触的项目代码分布的问题源文件和头文件不在同一个目录下,,网上很多makefile自动依赖的方案不能直接拿来用.所以是在其基础上进行的改编

总体来说 是这么个过程 

先决条件 工程目录结构为 顶层中放置

1 Makefile 

2 src目录放置源文件 

3 inc目录 

4 可能有lib目录  

生成的程序在顶层目录中

第一步 写好你的环境变量 一般设置如下参数即可

CC=gcc
CFLAGS=-g -rdynamic -W -Wall
SRC=src
INC=-I. -I./inc
LIB=lib/xxxx.a   #如果有
TARGET=demo

第二步 获取所有参与编译的源文件 

在这步中我所使用的是makefile提供的函数 

SOURCES = $(wildcard src/*.cpp)
OBJ=$(patsubst %.cpp, %.o,$(SOURCES))
这样在SOURCES中获取到的是所有参加编译的cpp文件 但是如果有多个目录放置的话 可以使用追加方式添加其他的目录下的源文件,最好在做完这一步之后进行验证

两个函数的用途分别是  获取匹配的文件列表  和对匹配的字符串进行替换 将.cpp替换成.o,具体的详细内容可以百度,不赘述

第三步 写下如下语句

ALL: $(TARGET)
$(TARGET):$(OBJ)
	$(CC) $(CFLA
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值