[Linux][c/c++]多Makefile编译

本文旨在介绍如何在Linux环境下使用多个Makefile进行项目编译,每个Makefile负责各自目录的文件管理,提高编译效率和组织结构清晰度。通过详细阐述原始结构、各级Makefile的功能和作用,展示了多Makefile编译的工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.目的

主要是介绍一种多Makefile编译,即多个目录中含有Makefile,其好处是各自Makefile管理其对应目录的文件

2.组件

2.1 原始结构

.
├── include
│   ├── test1.h
│   └── test2.h
├── lib
├── main
│   ├── main.cpp
│   └── Makefile
├── Makefile
├── obj
│   └── Makefile
└── src
    ├── Makefile
    ├── test1.cpp
    └── test2.cpp

2.2 Makefile

2.2.1顶层Makefile

  1 ##top makefile
  2 
  3 ##directory
  4 PWD_DIR=$(shell pwd)
  5 SRC_DIR=$(PWD_DIR)/src
  6 OBJ_DIR=$(PWD_DIR)/obj
  7 MAIN_DIR=$(PWD_DIR)/main
  8 LIB_DIR=$(PWD_DIR)/lib
  9 INC_DIR=$(PWD_DIR)/include
 10 BIN_DIR=$(PWD_DIR)/bin
 11 
 12 ##compiler
 13 CXX=g++  ##CC=gcc
 14 CFLAG=-Wall -g -I$(INC_DIR)
 15 
 16 ##target
 17 TARGET=app0_makefile
 18 
 19 ##gloable variable
 20 export PWD_DIR SRC_DIR OBJ_DIR MAIN_DIR LIB_DIR INC_DIR BIN_DIR TARGET CXX CFLAG
 21 
 22 ##cmd
 23 MKDIR=-mkdir -p
 24 RM=-rm -rf
 25 
 26 ##make rule
 27 all:create_dir do_make cp_target
 28 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值