2015-01-09 2 views
7

EXTRA_CFLAGS의 용도는 무엇입니까?EXTRA_CFLAGS의 목적은 무엇입니까?

일부 컨텍스트에서는이를 볼 수 있지만 EXTRA_CFLAGS 대신에 CFLAGS에 플래그를 추가하지 않는 이유를 알지 못했습니다.

처음에는 make가 암시 적 규칙을 정의하는 방법과 관련이 있다고 생각했지만 실제로는 그렇지 않습니다. 내가 이해하고 있듯이 암시 적 규칙을 만드는 데 EXTRA_CFLAGS을 사용하지는 않았습니까?

나는 모든 계발에 감사 할 것입니다.

+0

실례가 가능한 예가 있습니까? –

+0

공유 할 수있는 예제가 없습니다. 이 질문은 이것이 일반적으로 어떻게 사용되는지, 그리고이 매개 변수에 대해 존재할 수있는 코딩 규칙과 소프트웨어 지원/기대에 관한 것입니다. –

답변

8

글쎄, 표준 메이크 룰이나 빌트인 메이크 룰의 일부가 아니기 때문에, 당신이 사용한 메이크 파일의 일부분 일뿐입니다. 이 별도의 플래그로 이루어집니다 이유는 명령 줄에서 사용할 수 있도록이다

make EXTRA_CFLAGS=-O3 

명령 줄 변수 할당 재정 메이크 내부 변수의 설정, 그래서 추기가 작동하지 않습니다. 즉 :

$ cat Makefile 
CFLAGS += -Dfoo 

all: ; @echo '$(CFLAGS)' 

$ make CFLAGS=-Dbar 
-Dbar 

$ make CFLAGS+=-Dbar 
-Dbar 

모두

-Dbar하지 -Dfoo -Dbar 표시됩니다.

그렇기 때문에 별도의 플래그입니다. automake 환경에서는 사용자가 명령 행에서 제공하기 위해 명시 적으로 CFLAGS을 보존하고 모든 "정상"플래그가 다른 변수에 넣어집니다.

+0

이것은 좋은 이유처럼 보입니다! –