假设我有以下目录结构:
root
|--Makefile
|--dir1
| |--Makefile
| |--tmp1.c
|--dir2
|--Makefile
|--tmp2.c
dir1 / Makefile包含用于编译tmp1.c的目标tmp1:
tmp1:tmp1.c
$(CC) $(CFLAGS) %< -o %@
以同样的方式,dir2 / Makefile包含一个用于编译tmp2.c的目标tmp2
我想要的是简单地从根目录运行make tmp1
或make tmp2
而不在root / Makefile中明确定义这些目标。
对于递归make,我使用以下内容:
SUBDIRS = dir1 dir2
$(SUBDIRS):
$(MAKE) -C $@
我只需要一些方法将指定的目标传递给这个递归的make调用,这样它就可以找到包含目标的Makefile并运行它。
提前致谢。