Linux 시스템 프로그래밍: (9) 자동 빌드 도구 make/Makefile 완전 가이드

자동화 빌드의 핵심: make와 Makefile의 기초부터 고급 기법까지 현대 소프트웨어 개발에서 수십 개 이상의 소스 파일을 다루는 프로젝트는 손으로 컴파일 명령을 일일이 입력하는 방식으로는 불가능하다. 복잡한 종속성과 반복적인 빌드 과정은 실수를 유발하고 시간을 낭비한다. 이에 대응하는 해결책이 바로 make와 Makefile이다. 이 글에서는 단순한 컴파일 명령을 ...

7월 15일 16:49에 게시됨

Makefile 빌드 변수 CFLAGS와 LDFLAGS 활용법

개요Makefile에서 CFLAGS와 LDFLAGS는 각각 컴파일 단계와 링크 단계에 필요한 옵션을 전달하는 관례적인 변수입니다. 이 두 변수를 적절히 활용하면 빌드 과정을 체계적으로 제어할 수 있습니다. CFLAGS 상세CFLAGS(Compiler Flags)는 소스 파일(.c)을 목적 파일(.o)로 변환하는 컴파일 단계에서 사용되는 옵션들을 담당합니다. 주요 옵션옵션설명-I<경로>헤더 파 ...

7월 4일 16:42에 게시됨

Autoconf: 이식성 고민을 해결해주는 크로스 플랫폼 빌드 시스템

1991년 어느 날, David MacKenzie라는 개발자는 Makefile을 37번째 수정하고 있었습니다. 그는 C 프로그램을 작성했고, 자신의 Linux 머신에서는 완벽하게 컴파일되고 실행되었습니다. 하지만 코드를 동료에게 보냈을 때 문제가 발생했습니다. 동료는 SunOS를 사용 중이었고, SunOS의 C 라이브러리에는 strerror() 함수가 없었습니다. 그는 #ifdef를 추가해 우회했습니다. ...

5월 31일 23:55에 게시됨