我有一个包含多个子项目的Makefile
并设置其构建依赖项。
现在我希望能够有选择地make install
其中一些子项目,但在安装中包含依赖项。
我怎么能这样做?
假设Makefile
像这样:
lib1:
lib2:
proj1: lib1
proj2: lib2
proj3: lib1 lib2
install_%: $*
make -C $* install
install: $(addprefix install_,$(SUBDIRS) )
我希望能够从命令行执行以下操作:
make install SUBDIRS=proj1
或
make install SUBDIRS=proj3
我的规则将尝试构建和安装“proj3”,但是:
欢迎任何帮助。
答案 0 :(得分:1)
在依赖项目的makefile中,包含依赖项的makefile和写入表达依赖项的规则:
proj3 /生成文件:
include ../lib1/Makefile
include ../lib2/Makefile
proj3: lib1 lib2
$(CC) ....
install: proj3 install_lib1 install_lib2
cp ...
LIB1 /生成文件:
lib1: # ....
$(CC) ....
install_lib1: # ....
cp ...