나는 일부 구성(점 파일)을 관리하기 위해 gnu make 및 stow를 사용하고 있습니다.
내 저장소에 여러 디렉터리가 있습니다.
dotfiles/
├── Makefile
├── package1/
└── package2/
현재 내 Makefile은 다음과 같습니다.
PACKAGES = package1 package2
.PHONY: all $(PACKAGES)
all: $(PACKAGES)
package1:
stow --no-fold $@
package2:
stow --no-fold $@
패키지에 대한 기본 규칙을 정의하고 싶어서 다음과 같이 했습니다.
PACKAGES = package1 package2
.PHONY: all $(PACKAGES)
all: $(PACKAGES)
%:
stow --no-fold $@
그러나 이것은 작동하지 않았습니다.
$ make
make: Nothing to be done for `all'.
$ make package1
make: Nothing to be done for `package1'.
$ make package2
make: Nothing to be done for `package2'.
그렇다면 디렉토리에 대한 "기본" 규칙을 정의하는 것이 가능합니까? 그렇다면 어떻게 해야 합니까?
답변1
규칙을 다음으로 바꿀 수 있습니다.
$(PACKAGES):
stow --no-fold $@