Makefile 如何从子目录启动make
我有一个顶级Makefile 如何从子目录启动make,makefile,subdirectory,Makefile,Subdirectory,我有一个顶级Makefile。该项目有几个不同深度的子目录 如何从任何子目录启动make,使其使用顶级Makefile,就像git自动查找其顶级.git目录一样 结构: / /a/ /b/c /Makefile /Readme 情景: /$ make ... Works ... /b$ make ... Cannot find makefile 我希望第二个场景与第一个场景相同 提示,理想情况下,它可以用作:在vi中制定规则,但不应该是特定于vi的 更新:/不是根目录,只是项目的根目录,真正
Makefile
。该项目有几个不同深度的子目录
如何从任何子目录启动make
,使其使用顶级Makefile,就像git
自动查找其顶级.git
目录一样
结构:
/
/a/
/b/c
/Makefile
/Readme
情景:
/$ make
... Works ...
/b$ make
... Cannot find makefile
我希望第二个场景与第一个场景相同
提示,理想情况下,它可以用作:在vi
中制定规则,但不应该是特定于vi的
更新:/不是根目录,只是项目的根目录,真正的目的是模仿测试版的git。
创建别名
alias make=`sh /home/makecrawl.sh`
其中makecrawl.sh
看起来像
#! /bin/bash
while ! [ -f makefile ] && [$PWD != "/" ]
do
cd ..
done
make
测试版的提示会起作用。
创建别名
alias make=`sh /home/makecrawl.sh`
其中makecrawl.sh
看起来像
#! /bin/bash
while ! [ -f makefile ] && [$PWD != "/" ]
do
cd ..
done
make
怎么样alias make=“make-f/Makefile”
?技巧是模仿git@beta/不是根目录,只是项目的根目录,sorrySoalias make=“make-f/path/to/root/of/project/Makefile”
。您应该在问题中提到多个项目。一个脚本在树上爬行直到找到一个makefile
?如何alias make=“make-f/makefile”
?技巧是模仿git@beta/不是根目录,只是项目的根目录,sorrySoalias make=“make-f/path/to/root/of/project/Makefile”
。你应该在问题中提到多个项目。如果脚本在树上爬行,直到找到一个makefile
?如果找不到makefile,请注意无限循环。接受它,因为你是第一个提出意见的人。@SteveSchnepp:有趣的是,我想到了,然后忘了把它放进去。更正。如果找不到Makefile,请注意无限循环。接受它,因为你是第一个提出意见的人。@SteveSchnepp:有趣的是,我想到了,然后忘了把它放进去。更正。@steve schnepp:谢谢你的警告。。虽然[-f Makefile]&&&($PWD!=“/”)将work@steve谢谢你的警告。。虽然[-f Makefile]&&&[$PWD!=“/”]可以工作