软件工程通用makefile写法学习总结

工程通用makefile简单实现

最近学习了一下makefile,总结了一些经验,自己试着写了一套简单通用的软件工程makefile,总结下来以后可能会用到。


我的工程目录是这样的结构:

顶层目录是app/,app/include/存放公共的头文件,app/lib/存放公共的.a,app/obj/存放下层模块编译出的.a。

app层下面有三个模块分别是init,mod1,mod2。各模块编译出的.o放在obj下面,然后链接成.a文件放到上一级目录的obj下面。

app层通过链接lib和obj下面所有的.a来生成可执行文件。


模块目录下面的makefile:

DIR_INC = ./inc ../mod1/inc ../mod2/inc
DIR_SRC = ./src
DIR_OBJ = ./obj
DIR_BIN = ../obj

TARGET = $(DIR_BIN)/libinit.a

INCLUDE += $(DIR_INC)
DEFINES +=

CC ?= gcc
CFLAGS ?= -Wall
AR ?= ar
ARFLAG ?= -cr
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值