makefile과make 시리즈 노트

2036 단어
전언
makefile과make의 구체적인 개념을 소개하기 전에 우리는 먼저 하나의 예를 통해makefile과make가 도대체 어떤 문제를 해결하기 위해 존재하는지 설명한다.
만약 파일이 매우 많고 복잡한 C 언어 공학 demo가 있다면 실행 가능한 프로그램 demo를 컴파일하려면 다음 명령을 실행해야 합니다.
#   1:       
$ gcc -o <100       o  > -c <100       c  >

#   2:      a
$ gcc -o <1000     a o  > <1000     a c  >
$ ar rcs liba.a <1000     a o  >

#   3:      b
$ gcc -o <1000     b o  > <1000     b c  >
$ ar rcs libb.a <1000     b o  >

#   4:       demo
$ gcc -o demo <100       o  > -L. -la -lb

상술한 예는 두 가지 문제를 반영하였다.
4
  • 상기 4개의 컴파일 절차 중 거의 모든 단계에 긴 파일 이름 목록을 입력해야 하고 일부는 중복되어야 한다. 이런 작업은 무미건조하고 시간이 걸리며 사람이 소홀해서 오류가 발생하기 쉽다

  • 4
  • 만약에 우리의 demo 프로젝트가 매번 컴파일하는 데 걸리는 시간이 비교적 길다고 가정한다면 만약에 우리가 이전에 우리의 demo 프로젝트를 성공적으로 컴파일한 후에 일부 원본 파일이 업데이트해야 하는 demo 파일을 수정했을 때 이론적으로 우리는 전체 프로젝트를 다시 컴파일할 필요도 없고 그 중의 의존 관계만 분석할 필요가 있다.링크를 다시 컴파일해야 하는 명령만 실행하면 컴파일 시간을 절약할 수 있지만 의존 관계가 매우 복잡한 프로젝트에 있어 원본 파일이 관련된 의존 관계를 분석하는 것은 매우 복잡하고 오류가 발생하기 쉬운 과정이다

  • make와makefile의 존재는 바로 상술한 두 문제를 해결하기 위한 것이다.다음은 본인이 정성껏 정리한 4편의makefile 학습노트입니다.make명령의 사용과makefile의 쓰기법을 비교적 상세하게 소개하여 여러분에게 참고하도록 하겠습니다.
    makefile 학습노트 (1) makefile 학습노트 (2) makefile 학습노트 (3) makefile 학습노트 (4)

    좋은 웹페이지 즐겨찾기