我有一个makefile,用于构建许多相互依赖的库。我构建它们的方式总是一样的。
可能就像:
#Makefile
all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3
commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3
cd $@ && autoreconf -if && ./configure && make && sudo make install
commonprefix_lib2 : commonprefix_lib3
cd $@ && autoreconf -if && ./configure && make && sudo make install
commonprefix_lib3 :
cd $@ && autoreconf -if && ./configure && make && sudo make install
这是否可以使用通配符规则,以便我不重复cd / configure / make,知道它们都有不同的依赖关系?
#Makefile
commonprefix_% : ???
cd $@ && autoreconf -if && ./configure && make && sudo make install
答案 0 :(得分:3)
我认为您可以将依赖项与模式规则分开说明:
#Makefile
all: commonprefix_lib1 commonprefix_lib2 commonprefix_lib3
commonprefix_lib1 : commonprefix_lib2 commonprefix_lib3
commonprefix_lib2 : commonprefix_lib3
commonprefix_% :
cd $@ && autoreconf -if && ./configure && make && sudo make install