当前位置:  技术问答>linux和unix

编写一个makefile

    来源: 互联网  发布时间:2016-09-22

    本文导语:  我有如下目录结构的工程: 总工程下面有:项目A、项目B、项目C,makefile;项目A/B/C下面有:源程序和编译该项目的makefile; 问题:编写总工程下面的那个makefile 要求:一个make命令,即可实现:自动搜索其子目录中的...

我有如下目录结构的工程:
总工程下面有:项目A、项目B、项目C,makefile;项目A/B/C下面有:源程序和编译该项目的makefile;
问题:编写总工程下面的那个makefile
要求:一个make命令,即可实现:自动搜索其子目录中的makefile,并在子目录中执行“make”。
思路:
 1.利用find命令,搜索“makefile”;(如会搜到:./A/makefile)
 2.利用取目录函数dir,对搜索结果去目录;(如在上一步的基础上,会得到:./A)
 3.判断所取目录是否为当前目录。如果是,则退出(防止死循环);否则执行make命令。

请问这个makefile,该如何编写的。我写的总是不对。向各位请教了,多谢。

|

subprojs = $(notdir $(filter-out .,$(shell find -type d)))
subprojs_all = $(patsubst %,all-%,$(subprojs))
subprojs_clean = $(patsubst %,clean-%,$(subprojs))

TARGET = $(patsubst %,lib%.a,$(notdir $(shell pwd)))
srcs = $(wildcard *.c)
objs = $(patsubst %.c,%.o,$(filter %.c,$(srcs)))

.PHONY: dummy clean_dist
all: $(subprojs_all) $(TARGET)
clean: $(subprojs_clean)

ifdef subprojs
$(subprojs_all): dummy
$(MAKE) -C $(patsubst all-%,%,$@) all

$(subprojs_clean): dummy
$(MAKE) -C $(patsubst clean-%,%,$@) clean
endif

$(TARGET):$(objs)
@echo make $@

|
SUBDIRS = A 
  B 
          C 
all: $(SUBDIRS)
$(SUBDIRS):
#$(MAKE) -C $@ all
$(MAKE) -C $@ 

    
 
 

您可能感兴趣的文章:

  • 函数互相调用时Makefile编写
  • 我编写的Makefile文件怎么老是有错误那??
  • 自己编写一个程序编译进内核,要修改makefile文件吗?
  • 请教Makefile文件编写
  • 想学编写内核和编makefile文件要看什么书
  • makefile文件的编写问题
  • 急求关于怎么编写makefile的资料???
  • 关于动态库的Makefile的编写
  • 如何编写Makefile,使得只编译改变的文件
  • cmake怎么编写才使Makefile是高试模式
  • 请教makefile文件编写问题
  • 求教solaris下Makefile的编写
  • Makefile编写
  • 在编写MAKEFILE的时候,如何判断一个文件是否存在呢???
  • 求教有关makefile编写的问题 MYSRCS:%c=%o
  • makefile文件的编写
  • makefile编写问题
  • 编写内核模块程序的makefile文件make错误
  • Makefile编写疑问,需要这么麻烦吗?
  • 多目录的Makefile编写
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 编写 linux shell 有什么好的编写工具呢?
  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 用Qt3.1.4编写的程序,如何加入自己编写的另外一个动态库呀?诚恳指教!!
  • 如图 scsi <---> scsi controller <---> pci <---> cpu 如果我想对scsi编写驱动我该对哪个部分编写?
  • 用什么工具编写JSP,可以象用InterDev编写ASP一样方便快捷?
  • 编写程序如编写人生,有人和我的意见相同吗?
  • 请问用jsp编写程序,非要编写代码么?有没有什么象fontpage2000那样的工具,能够生成一些固定模板的工具?就是说不用全部都写的工具。望
  • 用jsp编写web程序到底和java serverlet编写web程序有和区别
  • socket中,从client端(用java编写的)传到server端(用c编写的)的字符串为何总多一个ASCII码为10的字符呀?
  • 如何用java编写一个NT平台下的标准服务?
  • 关于用vj编写sniffer一问。
  • Linux下如何编写脚本文件
  • java能不能编写单独运行的程序?
  • Linux有没有类似bat文件,如何编写。
  • 用JAVA编写COM组件
  • 关于版本和bug管理的rule(规则)的编写
  • 在windows下可以用Code::Blocks编写linux程序吗?
  • linux下用java编写邮箱客户端程序与在windows下有什么不同??
  • AIX下如何编写批处理命令和计划任务
  • 怎么用JBuild编写java console程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3