1
모든 통화 당 파일은, 내가 _와/교체, separetly bin/디렉토리에 모든 .cpp 파일을 컴파일 할메이크 - 와일드 카드로 대체 내 프로젝트에서
Classes/
Classes/Something/
Classes/Something/Else
...
에 저장되도록되어 있습니다
Classes/First.cpp -> Bin/Classes_First.o
Classes/Foo/Bar.cpp -> Bin/Classes_Foo_Bar.o
는 지금은 컴파일에 대한 규칙을 만들고 싶었 :
Bin/%.o: $(subst _,/,%.cpp)
$(COMPILER)g++ $(COMPILE_FLAGS) -c -o [email protected] $^
내가 시도 :
빈/Classes_Test.o
하지만 컴파일에 실패했습니다.
%.cpp:
@echo CPP: [email protected]
는 이제 인쇄 :
그래서 나는 디버깅 패턴 생성
CPP: Classes_Test.cpp
왜?!
그래서 나는 내 패턴을 변경 :Bin/%.o: $(subst _,/,Test1_Test2.cpp)
나는 보았다
CPP: Test1/Test2.cpp
이 나는 소스로 와일드 카드를 사용하는 경우 SUBST이 작동하지 않는 이유를 조금 혼란 스러워요 ...