하는 메이크 파일을 사용하여, 나는 다음과 같은 가능한되고 싶어요.
(즉, 내가 목표는 대소 문자를 구별 할 수 있도록하지 않습니다.) 난 그냥이 같은 가능성이 매를 쓸 수메이크 (비 - 대소 문자를 구별 목표)
물론 :
.PHONY clean Clean CLean CLEan CLEAn ...
clean Clean CLean CLEan CLEAn ...:
$(DELETE_STUFF)
하지만이이 요구되지 않는 이유 당신이 볼 수 있다고 생각 ..
나는 'make'라는 매크로가 내장되어 있다는 것을 알고있다. MAKECMDGOALS는 make를 타이핑 한 후에 입력하는 것과 동일 할 것이다.
MAKECMDGOALS:= $(shell echo $(MAKECMDGOALS) | tr "[:upper:]" "[:lower:]")
는 모두 소문자로 변수를 변경 않지만, 여전히 입력 대상 목표에 대한 규칙을 호출합니다 :
for example, running 'make clean all backup'
$(MAKECMDGOALS) = "clean all backup"
나는 내 메이크 파일의 상단에이 작업을 수행하기 위해 노력했다.
난 이런 식으로 재정의하는 시도했다 : 빨리 수행됩니다 희망
override MAKECMDGOALS:= $(shell echo $(MAKECMDGOALS) | tr "[:upper:]" "[:lower:]")
아직 성공을.
는이 같은 목표 만들려고 :
$(MAKECMDGOALS):
MAKECMDGOALS:= $(shell echo $(MAKECMDGOALS) | tr "[:upper:]" "[:lower:]")
#BUT I CAN'T CALL OTHER TARGETS FROM THE SHELL
나는 그것이 이상 소란 바보 자세히 알고,하지만 확실히 오른쪽 방법이있을 가지고있다?