패턴 일치 디렉터리 만들기

패턴 일치 디렉터리 만들기

나는 일부 구성(점 파일)을 관리하기 위해 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 $@

관련 정보