나는 메이크 내부의 목표 중 하나의 전략으로 보입니다 내부의 일부 파일을 검색하고 복사하는 루프 중첩을 사용하려고 작동하지에 대한 중첩 :루프 메이크
DIR = $(DIR_A) $(DIR_B)
install:
for dirs in $(DIR); do \
for file in $(shell find $(dirs) -type f -and -not -path "*/.svn*" | sed -e "s|$(dirs)||"); do \
folder=$${file%/*}; \
$(INSTALL) -d $(DEST_DIR)$$folder/log; \
$(INSTALL) $(dirs)/$$file $(DEST_DIR)$$folder/log; \
done \
done
그러나 $ (DIRS) 변수 두 번째 for 루프에서 항상 비어있는 것으로 평가되고 현재 작업 디렉토리는 $ (DIR)의 첫 번째 디렉토리 경로 대신 "찾기"로 전달됩니다.
누군가가 누락 된 경우 제안 할 수 있습니까?
감사합니다.
나는 첫 번째 for 루프 바로 다음에 "dirs"의 값을 반향 추가하려고 시도했다. 하지만 비어있는 것으로 평가됩니다 : – sbunny
'$ (dir)'을 쉘 변수 참조로 사용할 수 없습니다 : 쉘 변수는 괄호를 사용할 수 없습니다. 그것은'$ dir' 또는'$ {dir}'중 하나 여야합니다. make 명령에서'$$ dir' 또는'$$ {dir} '이어야합니다. '$ (dirs)'에 맞음. – MadScientist
@MadScientist 네, 물론입니다. 그 점을 지적 해 주셔서 감사합니다! –