makefile의 간단한 사용

1974 단어
최근github에서 작은 소스 코드를 보았는데 괜찮은 것을 발견하면 다운로드 (download zip) 를 포장했다.
내가 다운로드한 이 코드들 중에는 항상 Makefile 파일이 나타난다.이전에는 Makefile을 자주 접촉했는데 깊이 연구한 적도 없고 사용한 적도 없습니다.최근에 Makefile을 자주 만났는데 소스 코드도 Makefile을 사용해야 하기 때문에 오늘 이 Makefile에 대해 총괄하고 공부하겠습니다.
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
Makefile은 하나의 프로젝트에 많은 원본 파일이 있고 서로 의존 관계가 복잡하다는 설명 파일이다.makefile는 각 원본 파일의 관계를 간단명료하게 정리하여 프로그램 개발 효율을 크게 높일 수 있다.
우리는 일반적으로 리눅스에서 프로젝트가Makefile을 사용하는 것을 자주 볼 수 있지만 윈도우즈에서는 보기 드물다. 왜냐하면 윈도우즈의 IDE 도구가 자동으로 Makefile을 생성하고 프로젝트를 컴파일할 때Makefile을 자동으로 호출하여 컴파일하기 때문에 윈도우즈에서 우리는 항상 모르는 상황에서Makefile와 접촉한다.
그렇다면 Makefile의 내용은 무엇일까요?
Makefile은 대상 파일, 종속 파일 및 생성된 명령 등을 생성하는 방법을 지정합니다.
makefile의 기본 구문 규칙은 다음과 같습니다.
4
     :         
    command
주의:command가 목표 파일과 한 줄이 아니라면command 앞에tab키를 붙여야 합니다
예:
1. fun. 정의h 헤더 파일
#ifndef _FUN_H
   #define _FUN_H
   
   extern int fun1(void)
   extern int fun2(void)
   extern int fun3(void)
   
   #endif

2. fun. 정의c 파일
#include<stdio.h>
   int fun1()
   {
           printf("This is first function!
"); return 0; } int fun2() { printf("This is second function!
"); return 0; } int fun3() { printf("This is third function!
"); return 0; }

3.mian을 정의합니다.c 파일
#include<stdio.h>
   #include<stdlib.h>
   int main()
   {
           fun1();
           fun2();
           fun3();
          return 0;
  }

위의 항목을 컴파일하기 위해 Makefile을 다음과 같이 컴파일합니다.
 edit : main.o fun.o
           cc -o edit main.o fun.o
   mian.o : main.c
           cc -c mainn.c
   fun.o : fun.c fun.h
           cc -c fun.c
   clean:
           rm fun.o main.o

Makefile을 저장하고 Makefile 디렉터리에 make를 입력하면 컴파일러가 이 항목을 컴파일하기 시작합니다.

좋은 웹페이지 즐겨찾기