一个简单makefile(指定obj文件位置)

本文提供了一个示例,展示了如何在makefile中指定编译生成的.o文件的位置,并自动搜索源代码文件。目录结构包括app、src、obj、include和bin目录。makefile中定义了编译变量、目标文件、对象文件路径,并使用wildcard函数获取当前目录下所有.cpp文件,通过patsubst构造目标.o文件名,最终将编译结果输出到指定的obj目录。
摘要由CSDN通过智能技术生成

1. 可以指定 .o 文件生成的位置

2. 可以自动搜索原代码文件

 

用于例子的目录和文件结构大致如下:
app
    src
        obj
            test.o
            a.o
        a.cpp
        test.cpp
        makefile
    include
    bin

 

#make file v1.0

#define charset
export LC_ALL  = zh_CN.GBK
export LANG    = zh_CN.GBK

#define gcc global variable
LIBS = -lpthread -lrt
INCLUDE = -I../
CC = g++
CFLAGS += -Wno-deprecated -Wall -g

#define target file
BIN = ../bin/test

#define compile variable
CUR_PATH = ./
OBJ_PATH = $(CUR_PATH)obj/
#获取到本目录下所有cpp
ALL_CPP = $(foreach dir,$(CUR_PATH),$(wildcard $(dir)*.cpp))
#构造预期的目标 .o 文件
ALL_OBJ = $(patsubst $(CUR_PATH)%.cpp,%.o,$(ALL_CPP))
#指定 .o 文件生成的目录
ALL_OBJ_POS = $(addprefix $(OBJ_PATH),$(ALL_OBJ))

#define target<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值