나는 여러 컴파일러로 다음과 같은 Makefile을 가지고, 나는 변수 CC를 통해 루프를 호출하고 싶습니다 : $으로메이크와 계산 된 변수 이름
cc_x64=x86_64-linux-gnu-gcc
cc_mips=mips-linux-gnu-gcc
all:
for arch in "x64" "mips" ; do\
cc="cc_$$arch";\
$($(cc)) some_file -o some_bin
($ (CC)), 나는 $ (cc)를 cc_xxx로 대체하려고 시도하고, 실행하려고하는 실제 명령으로 대체하십시오. 이것은 GNU Make의 문서에서 계산 된 변수 이름이라고 불립니다. https://www.gnu.org/software/make/manual/html_node/Computed-Names.html
어떤 이유로이 기능을 사용할 수 없습니다. 내가 뭘 놓치고 있니?
'cc _ $ (*)'는 실제로는 cc_x86으로 평가되지만 '$ (cc _ $ (*))'는 빈 문자열로 대체됩니다. – Kereoz
make의 버전은 무엇입니까? 빠른 테스트에서'$ (cc _ $ (*))'는 패턴 규칙을 위해 여기에서 작동합니다. 또한'x86'은 예제 아키텍처 목록에 없었습니다. 따라서 올바르게 작동하지 않는 make 변수 (cc_x86)가 없으면 (정확하게는 올바르게 작동하고 빈 문자열을 제공합니다) . –
(x86은 그저 예일뿐입니다). 당신은 맞습니다. 더블 체크를 한 후에 패턴 규칙을 위해 여기에서 작동합니다. 나는 이전 테스트에서 뭔가를 망쳤습니다. 고맙습니다 ! – Kereoz