프로그래밍/리눅스 프로그래밍

[Makefile] Linux Makefile이란??

jinkwon.kim 2018. 8. 27. 17:16
728x90
반응형

Makefile이란?


1. Makefile의 정의

  - linux상에서 반복 적으로 발생하는 컴파일을 쉽게하기위해서 사용하는 make 프로그램의 설정 파일이다.

  - Makefile을 통하여 library 및 컴파일 환경을 관리 할수 있다.


2. Makefile의 기본 구조 

  - 파일명 : Makefile

  - 기본 구조는 다음과 같이 매크로 정의, 룰 , 명령어로 되어있다.


3. Makefile의 매크로 정의란 무엇인가? 

  - Makefile에서 미리 정의 되어있는 환경 변수라고 생각하면된다.

  - 2. 기본 구조에서 CC = gcc 에서 CC가 매크로이다.


4. Makefile에서의 매크로의 종류

  - makefile에서 미리 정의된 매크로 확인 방법

#make -p

  - 주요 매크로 설명

 매크로 명 

 용도 

 DEFS 

 Define 추가 할때 사용한다. 

 CFLAGS

 gcc의 옵션을 추가 할때 사용한다. 

 CC

 컴파일러는 변경할때 사용한다. 

 CPPFLAGS

 c++ 의 보션을 

 CXX 

 c++ 의 컴파일러는 선택  

 LDFLAGS

  ld 의 옵션 세팅

 LD = ld

 


5. 예제를 통한 Makefile 만들기

  1) 목표

    - hello word Make 파일

cc = gcc TARGET = hello $(TARGET) : hello.o $(cc) -o $(TARGET) hello.o hello.o : hello.c $(cc) -c -o hello.o hello.c clean : rm -rf $(TARGET)

    - hello.c 파일

#include<stdio.h>

int main(int argc,  char** argv) {
	printf("Hellow Makefile\n");
	return 0;
}

    - 실행 

     #make 또는 make -f Makefile











728x90
반응형