make.exe를 사용할 때 대상 이름 안에 공백을 넣을 수있는 방법이 있습니까? GCC makefile의 대상에 공백 허용
"foo bar baz": $(OBJ)
$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
이 ... 세 가지로 취급받을 것 : 참고로
http://savannah.gnu.org/bugs/?712
, 큰 문제가 메이크 파일의 조각 같은 명령이다 :이 정말 고대 버그 보고서가 맞다면 불가능한 것으로 보인다 별도의 명령 : 하나는 "foo (포함 된 노트)"를 빌드하고, 하나는 막대를 빌드하고, 마지막으로 baz "(다시, 포함)"를 빌드하는 명령입니다. 이는 make.exe가 공백을 구분 기호로 사용하는 것 같습니다.
그러나 예를 들어 "Hello World.exe"를 빌드하려고한다고 가정하는 것이 합리적입니다. 이것은 가능하지 않습니다. 따옴표는 작동하지 않으며, 어느 별도의 단어를 탈출 (어디 선가 링크 기억이 안 읽었습니다) 않습니다
"foo\\ bar\\ baz": $(OBJ)
$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)
이 문제를 해결하는 다른 방법이 있나요를? 공식 매뉴얼 만 토큰 화 별 공간 물건을 확인하지만, 다른 목적으로 공간을 사용하는 방법을 제공하지 않습니다 http://www.gnu.org/software/make/manual/make.html#Rule-Syntax
편집 : 제안, 나는 너무 단일 슬래시를 시도했지만 이것들은 이중 슬래시와 똑같은 효과가 있습니다.
mingw32-make.exe: *** No rule to make target `foo', needed by `all'. Stop.
실행 파일은 "foo는이 baz.exe 바"제대로하지만 생산하지만, 링크는 단어 당마다 수행됩니다 확인은 첫 번째 단어에 대한 규칙을 찾을 수 없습니다 뿌려줍니다.
작동하지 않는 것 같습니다. 편집을 참조하십시오. – Orwell
@ 오웰 : 그렇다면 그것은 운영 체제의 문제인 것 같습니다. 쉘에서 이름에 공백이있는 파일을 어떻게 지정합니까? – Matthias