반응형

Make Utility

  • 소프트웨어 개발을 위해 유닉스 계열 운영 체제에서 주로 사용되는 프로그램
  • 여러 파일들의 의존성과 필요한 명령을 정의할 수 있음.
  • 컴파일 & 실행파일을 생성할 수 있는 표준문법이 있음. 
  • Makefile을 실행함.

장점 

  • 파일에 대한 반복적 명령 자동화로 시간 절약
  • 프로그램의 종속 구조를 빠르게 파악하고 관리가 용이
  • 단순 반복 작업 및 재작성을 최소화

Compiling libraries

gcc -c menu.c -o menu.o

gcc -c guest.c -o guest.o

Build(main)

gcc -o pizzashop main.c menu.o guest.o

Run 

./pizzashop

Makefile

make utility를 실행하면 Makefile을 읽어들임

구조

Target : 명령어가 수행된 결과 파일명 

- target(결과 파일이 있는 경우)/dummy target(결과 파일이 없는 경우)

Dependency : 대상 파일 생성을 위해 필요한 파일

(실행파일을 만들기 위해 사용되는 목적파일이나 소스파일들)

- 파일 수정 날짜 체크 

Command : 실행할 명령 문장

Macro : 코드 단순화

 

target2 : dependency1 dependency2

<tap>command1

<tap>command2

 

Macro 작성방법

  • NAME = 문자열 (관습적으로 NAME은 대문자 사용)
  • #주석문
  • \ 여러 행에 걸쳐서 문자열을 사용할 때 
  • $(NAME) 매크로를 참조 
  • 정의되지 않은 매크로를 사용하는 경우 NULL로 치환됨
  • 문자열의 따옴표도 문자열로 인식함.

Suffix rule

파일 확장자를 보고 그에 따라 적절한 명렬을 실행함.

C소스파일(*.c), 목적파일(*.o)을 인식

목적파일이 없는 경우 같은 이름의 C 소스 파일을 컴파일 하여 생성

Special Macros

$@ : 현재 Target 이름

$* : (확장자가 있는 경우에) 확장자가 없는 현재 Target

$< : 첫번째 dependency 이름

$^ : dependency 전체

$? : dependency중 현재 target보다 최근에 갱신된 파일 

반응형

'2021~2022 > 리눅스' 카테고리의 다른 글

vim 정리  (0) 2022.04.10
Linux 기본정리  (0) 2022.04.10

+ Recent posts