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

如何写一个makefile 文件 枚举其子目录下所有makefile 文件并且make 他们 make 的时候可以指定参数

    来源: 互联网  发布时间:2017-04-07

    本文导语:  如何写一个makefile 文件 枚举其子目录下所有makefile 文件并且make 他们 make 的时候可以指定参数 | dirs := $(shell dir /b /a:d) subs:    $(foreach N,$(dirs),make -C $(N) &) 这个是我在windows下面的 ...

如何写一个makefile 文件 枚举其子目录下所有makefile 文件并且make 他们 make 的时候可以指定参数

|
dirs := $(shell dir /b /a:d)
subs:
   $(foreach N,$(dirs),make -C $(N) &)
这个是我在windows下面的

|
例如主目录中有子目录1,子目录2,子目录3等等,子目录下分别有其自己的makefile(submakefile1等),主目录中建立makefile,内容如下:
test:
cd ./subdir1 && $(MAKE) -f submakefile1
cd ./subdir2 && $(MAKE) -f submakefile2
cd ./subdir3 && $(MAKE) -f submakefile3
    ...

主目录中直接make即可

|

find . -name "makefile" -o -name "Makefile"
这句话就找到了所有的Makfile,,然后看看语法怎么写了.


|

files := $(shell find . -name "makefile" -o -name "Makefile")
#dirs := $(dir $(files))

.PHONY: all
all: 
for i in $(files); do make -C `dirname $$i`; done


貌似满足你的要求,你自己根据需要修改下..自己写Makefile机会真不多,

|
参数应该都在各个Makefile中写好了呀,
或者单用建立一个目录config/Makefile
这个文件里面都是些设置参数的,CXXFLAGS,CFLAGS等等.

然后其余的Makefile都include $(PROJECT_DIR)/config/Makefile,...参数就统一到一个文件中设置了.
http://blog.sina.com.cn/s/blog_6cc850810100r8fr.html
没实践过,你自己试吧

注意,上面的例子没考虑子目录的make顺序.. 考虑make顺序,就得人为指定了.

|


make -C `dirname $$i`

上面是个for循环,就对所有的Makefiles执行,然后make -C Makefile所在目录.. 

加参数的情况不知道,
我上面的例子,我自己测试过没问题.

|
不知道了,,

|


你看看是不是和子目录执行make时的顺序有关,,即子目录中的project是否有相互依赖关系。

    
 
 

您可能感兴趣的文章:

  • 子目录下 如何 makefile 父目录?
  • makefile.am和makefile.in是什么文件,与makefile有什么联系吗?
  • makefile如何调用文件目录下的makefile
  • 从网上载了个C++程序的源代码,包含38个.cpp和.h,还有makefile.in和makefile.am两个文件,但无configure和makefile.请问怎么编译?谢谢!
  • 【急!】一个程序里有好多文件夹里都有Makefile,如何找到最管用的makefile
  • unix下面make makefile文件,提示“makefile is up-to-date",怎么办呀?
  • 关于makefile的问题。一个makefile如何生成两个可执行文件。
  • makefile文件与批处理文件
  • 关于makefile文件的问题
  • Makefile文件,是不是很重要?
  • 自动生成makefile的问题, C文件成功,但CPP文件失败,请指点.谢谢.
  • 急~~~~~ 如何用Makefile.in文件
  • 请教,Makefile目标文件要通配目录下所有C文件,如何写?
  • 高手请进:linux下使用.o文件,makefile文件的问题
  • makefile中如何把一个子文件夹中的文件一起编译了?
  • 如何在makefile文件中组织文件的层次关系??
  • 第一次写make文件,报makefile:2: *** missing separator. Stop.错,make文件只有两行
  • cpp文件如何自动生成Makefile文件
  • Linux Makefile探讨,产生的.d文件是.c文件的依赖?
  • 如何修改libnids的makefile文件,让编译生成的库文件放在本地路径
  • 自己编写一个程序编译进内核,要修改makefile文件吗?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Makefile.in,Makefile.am,Makefile.bor应该怎么用?
  • 最近在学习linux C 看到了makefile部分,觉得makefile的语法很难理解,Makefile 的语法是不是shell语法?
  • 求解makefile问题,makefile.conf的作用?
  • 有makefile.am,有 makefine.in 为什么就是没有Makefile?
  • 请教根据Makefile.am自动生成Makefile的问题
  • 怎麼樣使Makefile.in生成Makefile?
  • 【makefile使用】请问怎样在shell中获取makefile的最终目标?
  • Makefile使用遇到的问题!"Makefile:3:missing the separator.stop"在线等待.......
  • Makefile是如何输出执行的路径的,表示执行的是那个Makefile
  • 下的tar.gz源码里只有makefile.in和makefile.am
  • 一句 makefile 的解释 -- makefile 与 shel 结合
  • linux makefile error :Makefile:335: *** commands commence before first target。
  • [test@localhost ~]$ cat <makefile >catfile 跟cat > catfile <makefile是一样的吧?
  • 关于makfile,makefile.in, makefile.am. configure之间的关系
  • win32下编译Linux 下的项目(makefile.am和makefile.in)
  • make -f makefile 时提示 Make: Must be a separator on rules line 5. Stop. 为什么,makefile 如下
  • 请问如何写动态的Makefile,或是有什么好的Makefile写法?麻烦分享一下,谢谢
  • Makefile :scripts/Makefile.build:49: *** CFLAGS was changed in "/opt/zaptel-1.4.
  • makefile include的问题
  • linux中makefile大小写问题


  • 站内导航:


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

    ©2012-2021,