"Unix as IDE" 개념에서 C makefile을 어떻게 처리합니까?

"Unix as IDE" 개념에서 C makefile을 어떻게 처리합니까?

저는 오랫동안 VIM을 기본 편집기로 사용해 왔으며 그 이후로는 IDE를 건드리지 않았습니다. 이는 시장에 나와 있는 대부분의 프로그래밍 언어에서 매우 잘 작동합니다. 그러나 C의 경우 makefile 작성이 너무 번거롭기 때문에 여전히 간단한 프로젝트에만 국한됩니다. "IDE로서의 Unix" 철학은 makefile에 어떻게 접근합니까? 명령줄에서 특정 작업을 수행하는 내가 모르는 도구가 있습니까? 아니면 모든 사람이 자신의 makefile을 작성합니까?

답변1

makefile을 생성하는 도구는 다양합니다. 가장 일반적인 두 가지는CMake그리고자동차 제조업체;두 명령 모두 프로젝트의 구성 요소와 원하는 출력을 설명하고 makefile을 생성하도록 요청합니다.

이것은 의심할 바 없이 의견의 문제이지만, 크로스 컴파일이 필요한 경우 CMake를 익히기가 더 쉬울 수 있으며 결국에는 Automake가 필요할 것입니다.자동화된 회의).

간단한 프로젝트의 경우 내장된 규칙 제공GNU가 만든다예를 들어 두 개의 소스 파일과 로 구성된 프로젝트를 빌드하는 경우 a.c다음 b.cMakefile이 작동합니다.

all: a

a: a.o b.o

실행하면 make이것을 발견 a.c하고 b.c컴파일하고 링크하여 생성해야 합니다 a...

(처럼프로그램 제작자기본 제공 규칙은 이보다 더 많은 작업을 수행하지 않으며 makefile에서 다음을 지정해야 한다는 점을 지적하세요.모두프로젝트 제목을 포함한 파일 간의 관계, 종속성 등을 관리하는 데 도움이 되는 추가 도구를 곧 찾을 수 있습니다. )

답변2

Makefile에 대한 이해가 잘못되었습니다. 복잡한 것을 구축하지 않는 한, 간단한 프로젝트에는 VIM에서 쉽게 유지 관리할 수 있는 간단한 Makefile이 필요합니다. IDE가 필요하지 않습니다. 물론, IDE는 매우 복잡한 Makefile을 만드는 것을 좋아하지만, 그것이 바로 여러분이 IDE를 싫어하는 이유입니다. 그렇지 않습니까?

여러 운영 체제 또는 복잡한 코드 생성 시나리오에 적응하는 등 더 복잡한 작업을 수행하도록 요청하면 Makefile이 복잡해집니다. 소스 파일이 많고 이를 컴파일하여 애플리케이션에 링크해야 하는 경우 걱정할 필요가 없습니다.

관련 정보