Nice programing

gnumake 파일에서 오류를 강제하는 방법

nicepro 2020. 12. 30. 20:25
반응형

gnumake 파일에서 오류를 강제하는 방법


내 makefile에서 도구가 잘못된 버전 인 조건을 감지하고 항목이 올바른 버전이 아님을 나타내는 오류 메시지와 함께 make가 실패하도록 강제하고 싶습니다.

누구든지 이것을하는 예를 줄 수 있습니까?

다음을 시도했지만 올바른 구문이 아닙니다.

ifeq "$(shell svnversion --version | sed s/[^0-9\.]*://)" "1.4"
$error("Bad svnversion v1.4, please install v1.6")
endif

감사.


로부터 수동 :

$(error Bad svn version v1.4, please install v1.6)

이로 make인해 치명적인 오류가 발생합니다.

$ make
Makefile:2: *** Bad svn version v1.4, please install v1.6.  Stop.

$ (error ... 작동하지만 때로는 실패한 규칙을 사용하기가 더 쉽습니다.

test_svn_version:
        @if [ $$(svn --version --quiet | \
                perl -ne '@a=split(/\./); \
                          print $$a[0]*10000 + $$a[1]*100 + $$a[2]') \
              -lt 10600 ]; \
        then \
            echo >&2 "Svn version $$(svn --version --quiet) too old; upgrade to v1.6";
            false; \
        fi

그런 다음 test_svn_version을 최상위 대상의 전제 조건으로 만듭니다.


조건부도 약간의주의가 필요합니다.

ifeq ($ (shell svnversion --version | sed s / [^ 0-9 \.] * : //), 1.4) 
    $ (오류 잘못된 svnversion v1.4, v1.6을 설치하십시오)
endif 

참조 URL : https://stackoverflow.com/questions/1864385/how-to-force-an-error-in-a-gnumake-file

반응형