저는 makefile에 매우 새로운 점이 있습니다. 내가 전에했던 가장 복잡한 작업은 이미 설계된 makefile에 새로운 .h 및 .cpp 또는 .c를 포함시키는 것이 었습니다.어떻게 메이크 파일에서 동적으로 개체 파일의 이름을 바꿉니다
Visual Studio에서 gcc로 프로젝트의 컴파일 과정을 이식해야하며 이미 동료가 작성한 솔루션이 있지만 솔루션을 컴파일하기 위해 4 개의 bash 스크립트와 makefile을 사용했습니다.
대신에 유지 관리가 쉬운 솔루션을 찾고있었습니다. 내 질문은 아주 어리 석고 인정할 수도 있지만 어디서나 찾을 수는 없으며 모든 것을 제대로 이해할 수있었습니다. 아래의 대상에서
:
$(OBJECTS): %.o: %.cpp
$(CC) $(CPPFLAGS) -c $< -o [email protected]
내가 .o 만이 존재 이미 생성되는 경우 테스트하고 다른 뭔가로 이름을 변경하고 싶습니다. 이것은 프로젝트에서 동일한 이름을 가지고 있지만 내용이 다른 여러 소스 파일이 있기 때문에 필요합니다.
예를 들어 컴파일중인 현재 .cpp 파일 이름이 file.cpp이고 생성 될 개체가 file.o 인 경우 규칙은 file.o가 이미 있는지 테스트하고 현재 file.o의 이름을 변경해야합니다 그밖에.
이 설명이 포함 된 훌륭한 튜토리얼을 알고 있다면 알려 주시기 바랍니다. 나는 그 규칙에 의해 컴파일되는 현재 파일에 대한 테스트를 만드는 방법을 보여주는 많은 예제를 발견했지만 오브젝트 .o의 이름을 바꿀만한 예제는 발견하지 못했습니다.
미리 감사드립니다. 여기에 쓰여지는 "멍청이"에 대해 사과드립니다. :-)
이전에 수행 한 작업은 소스 파일과 동일한 디렉토리 계층에 객체 파일을 배치하는 것입니다. 나는 같은 이름의 다른 레벨에 파일을 가지고 있다고 생각하니? – Max
@Max, 예. file1.cpp file2.cpp와 같은 이름의 소스 파일이있는 두 개의 다른 디렉토리가 있습니다. – zlogdan