나는 make를 사용하여 애플리케이션의 빌드 파일을 처리하고 이러한 빌드 프로세스는 노드 모듈을 사용합니다. 이러한 노드 모듈을 로컬에 설치하므로 $PATH
실행 파일을 호출할 위치를 지정 해야 합니다 PATH=$(npm bin):$PATH
.
Makefile에 변수를 설정 NPMEXEC := PATH=$(shell npm bin):$$PATH
하고 필요할 때 명령에 추가합니다. 그러나 일부 긴 작업(예: 여러 명령을 실행할 때 테스트하는 동안)의 경우 pushd
/ 와 유사하게 전체 작업 기간 동안 PATH 할당을 갖는 것이 편리할 수 있습니다 popd
. 그게 가능합니까?
답변1
"작업"은 일반적인 제조 용어가 아닙니다. 나는 당신이 의미한다고 가정합니다규칙. GNU make를 사용하면 특정 규칙, 더 정확하게는 다음과 같은 변수를 설정할 수 있습니다.구체적인 목표.
test-results: export PATH := $(shell npm bin):$$PATH
test-results: test-binary1 test-binary2 test-data2 reference-test-results
test-binary1 >test-results
test-binary2 test-data2 >>test-results
diff test-results reference-test-results
할당은 쉘 구문과 다른 make 구문에서 수행됩니다. 변수를 수정할 때는 다음을 사용해야 합니다.열망("확장") 할당=
, 순환 참조를 생성하는 게으른 할당 대신 .
답변2
export
나는 당신이 bash(또는 선택한 셸에서 이에 상응하는 명령)에서 명령을 찾고 있다고 생각합니다 .http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_02.html