0

我有一个顶级Makefile。该项目有几个不同深度的子目录。

如何make从任何子目录启动,以便它使用顶级 Makefile,就像git自动查找其顶级.git目录一样?

结构 :

/
/a/
/b/c
/Makefile
/Readme

设想 :

/$ make
... Works ...
/b$ make
... Cannot find makefile

我希望第二种情况与第一种情况相同。

提示,理想情况下,它可以作为 中的:make规则vi,但不应该是特定于 vi 的

更新:/不是根目录,只是项目的根目录,真正的意图是模仿git

4

2 回答 2

2

Beta 的提示会起作用。创建别名

alias make=`sh /home/makecrawl.sh`

makecrawl.sh看起来像哪里

#! /bin/bash
while ! [ -f makefile ] &&  [$PWD != "/" ]
do
cd ..
done
make
于 2013-04-06T03:21:18.440 回答
1
#!/bin/bash  

HERE=$PWD

while ! [ -f Makefile ] && [ $PWD != "/" ]
do
 cd ..
done

MFILE=$PWD/Makefile

cd $HERE
make -f $MFILE
于 2013-04-06T13:05:35.823 回答