기능을 사용할 수 있는지 또는 오류를 반환하지 않는지 테스트

기능을 사용할 수 있는지 또는 오류를 반환하지 않는지 테스트

-v를 반환하도록 합니다.

GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

디렉토리에 파일을 하나씩: makefile

ifneq ($(jobserver),T)
$(error This makefile only works with a Make program that supports $$(eval))
endif

유형별 make 호출

makefile:2: *** This makefile only works with a Make program that supports $(eval).  Stop.

내가 노력해도

ifneq ($(eval),T)
$(error This makefile only works with a Make program that supports $$(eval))
endif

아직도 돌아오다

makefile:2: *** This makefile only works with a Make program that supports $(eval).  Stop.

나는 팔로우한다지도 시간인터넷에서 이러한 makefile은 make의 기능을 사용할 수 있는지 여부를 테스트합니다. 오류가 발생하면 안 됩니다.

답변1

당신은 그것을 놓쳤어요사용eval테스트하기 전에 변수가 설정된 위치는 다음과 같습니다 .

$(eval eval_available := T)
ifneq ($(eval_available),T)
$(error This makefile only works with a Make program that supports $$(eval))
endif

사용 가능한 경우 eval첫 번째 행이 설정되고 eval_available, T그렇지 않은 경우에는 설정되지 않습니다. 두 번째 줄에서는 로 eval_available설정되어 있는지 확인합니다 T.

관련 정보