我有一个顶级Makefile
。该项目有几个不同深度的子目录。
如何从任何子目录启动make
,因此它使用顶级Makefile,就像git
自动查找其顶级.git
目录一样?
结构:
/
/a/
/b/c
/Makefile
/Readme
场景:
/$ make
... Works ...
/b$ make
... Cannot find makefile
我希望第二种情况与第一种情况相同。
提示,它最好在:make
中用作vi
规则,但不应该是vi特定的
更新:/不是根目录,只是项目的根,真正意图是模仿git
答案 0 :(得分:2)
Beta提示可行。 创建一个别名
alias make=`sh /home/makecrawl.sh`
makecrawl.sh
看起来像
#! /bin/bash
while ! [ -f makefile ] && [$PWD != "/" ]
do
cd ..
done
make
答案 1 :(得分:1)
#!/bin/bash
HERE=$PWD
while ! [ -f Makefile ] && [ $PWD != "/" ]
do
cd ..
done
MFILE=$PWD/Makefile
cd $HERE
make -f $MFILE