所以我在这里有一个makefile,看起来像
ALL_FILES=$(shell find . -name '*')
install : $(ALL_FILES)
$(INSTALL_LOCATION)/%.sh : %.sh ; /bin/usr/install -D $^ $@
$(INSTALL_LCOATION)/% : % ; /usr/bin/install -D $^ $@
$(INSTALL_LOCATION)/dir1/% : dir1/% ; /usr/bin/install -D $^ $@
我的问题是,第二次安装显然是第一个的超集,但我想第一个是第一个运行的,所以第二个被忽略了。但是,第二个不也是第三个的完整超集吗?
那么 make 如何选择使用哪个规则呢?它会选择最具体的规则吗?