Makefile에서 명령을 실행하고 그 결과를 변수에 저장하고 나중에 결과를 다시 사용하고자합니다. !GNU 및 BSD Makefile에서 명령을 실행하고 그 결과를 변수에 저장하십시오.
BSD 메이크에서, I는 = 연산자를 사용할 수 있습니다 : 같은이를 작성하는 방법이 있나요
PASSWORD := $(shell openssl rand -base64 48)
:
PASSWORD != openssl rand -base64 48
GNU 메이크 파일을, 나는 쉘 기능을 사용할 수 있습니다 이것은 두 가지와 호환되는 방법입니까?
양쪽 경우 출력
명령의 결과 PASSWORD에 할당 예상 그래서 메이크 동일한 PASSWORD 값을 재사용 할 수
quux:
@echo $(PASSWORD)
@echo $(PASSWORD)
I을 실행하는 경우를 make quux
이면 과 동일한 암호가 두 번 출력됩니다. 예를 들어
:
$ gmake quux
Y0ZrQQqLF9JK98x9UiIwWwcCN2Cq1wNqzph3ShG1RK0NeqbxWn6p4XB5zgHvfnbY
Y0ZrQQqLF9JK98x9UiIwWwcCN2Cq1wNqzph3ShG1RK0NeqbxWn6p4XB5zgHvfnbY
백틱 연산자를 사용하는 것보다이 다르다. 이 경우 두 make와 호환되며 매번 명령을 실행합니다.
최신 GNU make에 좋은 소식이 도착했습니다. – Dereckson