GNU make는 내장 된 규칙 중 일부가 .c
파일을 대상으로하므로 내 작업을 파괴했습니다.GNU Make : 원하는 것을 제외한 모든 내장 규칙을 비활성화하십시오.
foo.c
및 foo.l
Lex 스캐너 또는 foo.y
Yacc 파서라는 파일이있는 경우 조심하십시오! GNU make는 .c
파일이 이것들로 만들어진 타겟이라고 가정합니다 (이것은 분명히 POSIX 요구 사항입니다!) mv y.tab.c foo.c
또는 lex -t foo.l > foo.c
과 같은 것을 할 것입니다.
숨겨진 위험한 규칙 (알려진 또는 알지 못함)을 유지하면서 유용한 모든 규칙을 비활성화하는 방법은 무엇입니까?
특히 GNU Make에 "(예 :) .c 및 .o 파일과 관련된 모든 규칙을 유지하고 다른 파일 형식과 관련된 모든 규칙을 비활성화하십시오"라는 요청을 어떻게 전달할 수 있습니까? the manual에서
아, 알 수 있습니다. 나는 이미'SUFFIXES'를 시도하고 있었지만,'SUFFIXES : .c .o' 두번째 줄만 가지고 있었고, 그것을 대체하지 않고 세트에 추가했습니다. 감사. – Kaz
또한,'-Rr'을 사용하여 _make_를 호출 할 수 있습니다 (실제로는 그 중 하나만 필요하지만, 보통 잊어 버립니다) – bobbogo