반응형
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 |