내 프로젝트 디렉토리는 다음과 같습니다.
/project
Makefile
main
/src
main.cpp
foo.cpp
foo.h
bar.cpp
bar.h
/obj
main.o
foo.o
bar.o
나는 모든 컴파일하는 것입니다 할 내 메이크 싶은 무엇 .cpp
의 파일 /src
에 폴더를 .o
에있는 파일 /obj
폴더를 모든 링크 .o
에있는 파일을 /obj
최상위 폴더에 출력 바이너리로 /project
.
나는 Makefiles에 대한 경험이 거의 없으며 이것을 달성하기 위해 무엇을 검색 해야할지 잘 모르겠습니다.
또한이 작업을 수행하는 "좋은"방법입니까, 아니면 내가하려는 작업에 대한보다 표준적인 접근 방식이 있습니까?
gnu.org/software/make/manual/make.html , 예 : gnu.org/software/make/manual/make.html#Simple-Makefile
—
Anycorn
@aaa : OP가 각 소스 파일을 명시 적으로 나열 할 필요가없는 솔루션을 원한다고 생각합니다.
—
Cascabel
나는 내가 가지고있는 각 소스 파일을 지정하고 싶지 않고 그 매뉴얼을 전에 읽어 보려고했지만 그것이 혼란스럽고 이해하기 어렵다는 것을 알았다. 건식 한 기술 매뉴얼보다는 내가 기대하는 바를 잘 설명하고있는 실제 예제에서 훨씬 더 잘 배운다.
—
Austin Hyde
괜찮아. 그러나 make 문서는 좋은 예제와 함께 훌륭합니다 (기술 매뉴얼을 시도하지 않습니다). 패턴 규칙을 찾고 있습니다 : gnu.org/software/make/manual/make.html#Pattern-Rules
—
Anycorn
내가 원하는 것과 조금 더 비슷해 보입니다. IMHO, make 매뉴얼은 make가 중간 수준 인 개발자를 대상으로하는 것으로 보이며 그 이상으로 매우 크고 심층적이므로 약간 건조합니다. 아마도 너무 많을 것입니다.
—
Austin Hyde