개발/개발도구와 환경(22)
-
Makefile - 2. Makefile의 기본 문법 (2-3. 패턴 규칙 (Pattern Rules))
📌 2-3. 패턴 규칙 (Pattern Rules)1. 패턴 규칙(Pattern Rules)란?패턴 규칙(Pattern Rules)은 Makefile에서 반복되는 규칙을 줄이고 유지보수를 쉽게 하기 위해 사용됩니다.여러 개의 파일을 동일한 방식으로 처리해야 할 때 매우 유용하며, 특히 오브젝트 파일(.o) 생성 등에서 자주 활용됩니다.2. 일반적인 패턴 규칙📌 2-1. 패턴 규칙의 기본 구조패턴 규칙의 기본 문법은 다음과 같습니다.%.target: %.dependency commands%는 와일드카드(wildcard) 역할을 하며, 파일명을 대체합니다.%.o: %.c는 "어떤 파일명이든 .c 확장자를 가진 파일을 .o 파일로 변환"하라는 의미입니다.📌 2-2. 패턴 규칙이 필요한 이유✅ 코드 중복 ..
2025.03.11 -
Makefile - 2. Makefile의 기본 문법 (2-2. 자동 변수 (Automatic Variables))
📌 2-2. 자동 변수 (Automatic Variables)Makefile에서는 자동 변수(Automatic Variables)를 사용하여 현재 목표(Target), 의존성(Dependency) 등을 간단하게 참조할 수 있습니다.자동 변수를 활용하면 더욱 효율적이고 유지보수하기 쉬운 Makefile을 작성할 수 있습니다.1. 자동 변수란?자동 변수(Auto Variables)는 Makefile에서 컴파일 또는 빌드 과정에서 자동으로 설정되는 특별한 변수입니다.자동 변수는 특정 규칙을 작성할 때 유용하며, 특히 패턴 규칙(Implicit Rules)과 함께 사용하면 반복적인 작업을 줄일 수 있습니다. 자동 변수 설명$@현재 목표(Target) 파일 이름$첫 번째 의존성(Dependency) 파일 이름$..
2025.03.11 -
Makefile - 2. Makefile의 기본 문법 (2-1. 변수 (Variables))
📌 2-1. 변수 (Variables)Makefile에서 변수(Variable)는 빌드 과정에서 자주 사용되는 값(컴파일러, 플래그, 파일 목록 등)을 효율적으로 관리하는 데 사용됩니다.변수를 활용하면 코드를 간결하게 유지하고, 유지보수성을 높일 수 있으며, 명령줄에서 쉽게 값을 변경할 수도 있습니다.1. 변수를 사용하는 이유📌 1-1. 변수 활용의 장점✅ 코드의 가독성 향상변수 없이 동일한 값이 여러 번 반복되면 유지보수하기 어려움.변수를 사용하면 재사용성 증가 및 코드 간결화 가능.✅ 유지보수 용이특정 값을 변경해야 할 때, 한 곳에서 수정하면 전체에 적용됨.예를 들어, 컴파일러를 gcc에서 clang으로 변경해야 한다면, 변수를 활용하면 쉽게 변경 가능.✅ 플랫폼 독립적인 코드 작성 가능시스템에..
2025.03.11 -
Makefile - 1. Makefile 기본 개념 (1-3. 기본적인 Makefile 구조)
📌 1-3. 기본적인 Makefile 구조Makefile은 특정 목표(Target)을 만들기 위해, 해당 의존성(Dependency)을 확인하고, 필요한 명령어(Command)를 실행하는 구조로 되어 있습니다.이를 통해 자동화된 빌드 시스템을 구현할 수 있으며, 프로젝트의 크기가 커질수록 더욱 효율적인 빌드를 가능하게 합니다.1. Makefile 기본 구조📌 1-1. Makefile의 문법Makefile은 기본적으로 다음과 같은 3가지 요소로 구성됩니다.target: dependencies commands 구성 요소 설명Target (목표)생성하려는 파일 (예: 실행 파일)Dependencies (의존성)Target을 만들기 위해 필요한 파일Commands (명령어)Target을 만들기 위한 실행 명..
2025.03.11 -
Makefile - 1. Makefile 기본 개념 (1-2. Makefile의 동작 방식)
📌 1-2. Makefile의 동작 방식Makefile은 소스 코드의 컴파일을 자동화하기 위한 파일로, 종속성(Dependency) 관리를 통해 효율적으로 빌드를 수행합니다.이를 이해하기 위해 종속성 개념, Makefile의 실행 흐름, .o 파일과 실행 파일의 관계를 자세히 살펴보겠습니다.1. 종속성(Dependency) 개념📌 1-1. 종속성이란?Makefile에서 종속성(Dependency)은 어떤 파일이 다른 파일을 생성하는 데 필요한 경우를 의미합니다.즉, 특정 파일이 변경되면, 이를 의존하는 다른 파일도 다시 빌드해야 합니다.📌 1-2. 종속성의 원리A 파일이 변경되면, A에 의존하는 B도 자동으로 다시 생성됨.이를 통해 불필요한 전체 재컴파일을 방지하고 빌드 시간을 단축할 수 있음.📌..
2025.03.11 -
Makefile - 1. Makefile 기본 개념 (1-1. Makefile이란?)
📌 1-1. Makefile이란?1. Makefile의 역할과 필요성🛠 1-1-1. Makefile이란?Makefile은 소스 코드의 컴파일과 실행 파일 생성을 자동화하기 위한 빌드 스크립트입니다.특히 C/C++ 프로젝트에서 여러 개의 소스 파일을 효율적으로 빌드하는 데 필수적입니다.🔍 1-1-2. Makefile이 필요한 이유컴파일 명령어 자동화여러 개의 .c와 같은 소스코드 컴파일 과정을 단순화합니다.예제:gcc -o myprogram main.c utils.c math.c→ 파일이 많아질수록 명령어가 복잡해지므로 Makefile이 필요합니다.빠른 빌드 (증분 빌드, Incremental Build)변경된 파일만 다시 컴파일하여 빌드 속도를 최적화합니다.예를 들어, utils.c만 수정되었다면 ..
2025.03.11