1. gcc 있는 지 확인
gcc
2. 없으면 설치
sudo apt install gcc
1. vi hello.c
#include <stdio.h>
int main(){
printf("hello world\n");
return 0;
}
gcc hello.c
-> 성공 시 a.out 실행 파일 생성
gcc -o hello hello.c
-> hello 실행파일이 생성
././a.out
실행시키면 코드가 실행이된다

makemake 설치sudo apt install make
1. one.c
#include <stdio.h>
int main(){
printf("Go To Module Two\n");
two();
printf("End of Module One\n");
return 0;
}
2. two.c
#include <stdio.h>
int two(){
printf("In Module Two\n");
printf("This is a Module Two\n");
printf("End of Module Two\n");
return 0;
}
vi makefile
# 최종적으로 만들 실행 파일 이름을 지정
TARGET=one
# 컴파일 후 연결할 오브젝트 파일들 지정
OBJECTS=one.o two.o
# ----------------------------------------
# [1] 실행 파일 생성 규칙
# 만약 one 이 존재하지 않거나 one.o 또는 two.o 중 하나라도 수정되었다면 이 규칙이 실행됨
${TARGET} : ${OBJECTS}
# gcc를 사용하여 OBJECTS에 명시된 오브젝트 파일들을 링크하여 실행파일 생성
gcc -o ${TARGET} ${OBJECTS}
# ----------------------------------------
# [2] one.c 파일을 컴파일하여 one.o 생성
# 만약 one.o가 없거나 one.c가 수정되었다면 실행됨
one.o : one.c
# one.c를 컴파일하여 one.o 생성 (링크는 하지 않음)
gcc -c one.c
# ----------------------------------------
# [3] two.c 파일을 컴파일하여 two.o 생성
# 만약 two.o가 없거나 two.c가 수정되었다면 실행됨
two.o : two.c
# two.c를 컴파일하여 two.o 생성 (링크는 하지 않음)
gcc -c two.c
# 정리 규칙
clean:
rm -f ${TARGET} ${OBJECTS}
실행파일(one)이 생성됨
make

./one

실행파일매크로이름=실행파일이름
목적파일패크로이름=목적파일 나열
${실행파일매크로이름}:${목적파일패크로이름}
gcc -o ${실행파일패크로이름} ${목적파일패크로이름}
# 소스파일 컴파일---------------------
목적파일이름 : 소스파일이름
gcc -c 소스파일이름
.
.
.