码迷,mamicode.com
首页 > 其他好文 > 详细

一个通用的Makefile框架

时间:2017-01-20 09:49:31      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:pre   pat   补充   ogr   dir   简单   flags   $*   -o   

先做一个简单的记录,后续有时间再慢慢完善补充细节。

先上一个整体图片:

技术分享

 

 

其中,最重要的文件就是:program_template.mk。

下面是program_template.mk最重要的内容:

$(1)_COBJS = $$(patsubst $$($(1)_SDIR)%.c,$$($(1)_BIN)/%.o,$$($(1)_CSRCS))
$(1)_OBJS = $$($(1)_COBJS)

$(1)_COBJDEPS = $$(patsubst $$($(1)_SDIR)%.c, $$($(1)_BIN)/%.d,$$($(1)_CSRCS))
$(1)_OBJDEPS = $$($(1)_COBJDEPS

$$($(1)_COBJS): $$($(1)_BIN)/%.o: $$($(1)_SDIR)%.c
    $$(CC) $$($(1)_CFLAGS) $$($(1)_CXXFLAGS) -c $$< -o $$@

$$($(1)_COBJDEPS): $$($(1)_BIN)/%.d: $$($(1)_SDIR)%.c
    [ -d $$(@D) ] || mkdir -p $$(@D) &&      $$(CC) -M -MP $$($(1)_CFLAGS) $$($(1)_CXXFLAGS) $$< |     sed ‘s|\($$(notdir $$*)\)\.o[ :]*|$$(dir $$@)\1.o $$@ : |g‘ > $$@


$(1): $$($(1)_EXEC) ;

$$($(1)_EXEC): $$($(1)_OBJS) $$($(1)_LIBDEPS)
    $$(CC) -o $$@ $$($(1)_OBJS) $$($(1)_LDFLAGS)
    echo $$@ : $$^ > $$@_EXEC.dep

  

最重要的内容已列出,后续有时间再慢慢完善一些细节,有对Makefile有兴趣的朋友可以探讨交流。

 

一个通用的Makefile框架

标签:pre   pat   补充   ogr   dir   简单   flags   $*   -o   

原文地址:http://www.cnblogs.com/ok-wolf/p/6321836.html

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