-
vim editor(vim 편집기) - Makefile을 이용한 분할 컴파일Linux/vim 편집기 2020. 7. 6. 22:39반응형This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
#include <stdio.h> void grade_estimate(int grade); int main(void) { int grade = 0; scanf("%d", grade); grade_estimate(grade); return 0; } void grade_estimate(int grade) { if (grade >= 90 && grade <= 100) { printf("A\n"); } else if (grade >= 80 && grade <= 89) { printf("B\n"); } else if (grade >= 70 && grade <= 79) { printf("C\n"); } else if (grade >= 60 && grade <= 69) { printf("D\n"); } else { printf("F\n"); } } 위의 코드를 vim 편집기에서 Makefile 을 이용해 분할 컴파일 해본다.
11) vim 편집기를 통해 main.c , grade_estimate.c, common.h를 작성해 준다.
main.c grade_estimate.c common.h 2) 명령어를 통해 Makefile 을 작성해준다.
1행 : execute : 실행 파일의 이름
5행 : 반드시 맨 앞을 Tab으로 띄어야 한다
| 오류
코드를 작성하다가 6행의 object 파일을 만드는 과정에서 grade_estimete.c 가 아니라 grade_estimate.o 로 잘 못
기입하면 상호 의존성은 무시된다는 메세지가 뜬다.
컴파일은 잘 되지만 주의 할것!
컴파일을 할때 make를 해주기 전에 make clean을 해주면 생성되었던 object 파일들과 실행 파일이 삭제 된다.
| 실행결과
|매크로 사용하기
$@: 현재 Target 이름
$^: 현재 Target이 의존하는 대상들의 전체 목록
$<: 현재 Target이 의존하는 대상들의 첫번째
Object 들만 정의 해준 경우 4행 : CFLAGS로 정의해준 -g 는 디버깅에 필요하다
Makefile의 매크로 마지막 그림의 1행에 object 파일만 추가 해주면 다른 파일들도 추가로 컴파일이 가능하다.
728x90'Linux > vim 편집기' 카테고리의 다른 글
동적 라이브러리 (1) 2020.07.10 vim editor(vim 편집기) - 정적 라이브러리 (0) 2020.07.10 vim editor(vim 편집기) - 명령어 (0) 2020.07.06 vim editor(vim 편집기) - 분할 컴파일 (0) 2020.07.06 vim editor (vim 편집기) 사용하기 (0) 2020.07.06