如何使用make构建库列表?

时间:2014-01-08 16:39:56

标签: c makefile

我有这个makefile:

LIBS = \
lib1 \
lib2
etc...

libs : $(LIBS)

$(LIBS) :

    @if [ -f lib/${@}/makefile ]; then cd lib/${@}/; $(MAKE); fi

我需要它切换到每个库的目录并构建它。出于某种原因,只构建$ LIBS中的第一个库(即lib1)。

$ @是在这里使用的正确变量吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

也许lib/${@}/makefile不存在,但lib/${@}/Makefile呢? make可以正常使用。

一般情况下,你不应该测试makefile是否存在;如果它不存在应该是一个错误:目录不是库目录,或者$(LIBS)被用于多个事情,这意味着它应该被重构。