diff --git a/three_files_folder/2020_08_07.md b/three_files_folder/2020_08_07.md
index 68cd43420ea6a3ec196ac90e456da97b4e4c33fa..c4f7a05e75ba550ace3b9fc5f61a16a5205c9b1c 100644
--- a/three_files_folder/2020_08_07.md
+++ b/three_files_folder/2020_08_07.md
@@ -2,31 +2,35 @@
 
 ## Makefile 작성   
 
-![image](/uploads/b1e796b80bed56c878a60e8e9238ab4f/image.png)
+![image](/uploads/bd4fad65fe0680ce5e2bb99e5b9fe1fb/image.png)
 <br><br>
-매크로 정의
+### 1.매크로 정의
 > 1. SRCS : 컴파일에 필요한 소스파일들을 의미
 > 2. OBJS : SRCS에 정의된 .c 파일들의 각 이름만을 .o 파일에 치환된 것을 의미
 > 3. CC : gcc로 치환
 > 4. CFLAGS : gcc 컴파일시 사용할 옵션들을 정의 
 
-최종 실행파일 test를 빌드하기 위해서  OBJS(오브젝트 파일들)이 먼저 생성되야한다.
-test를 실행시 사용되는 매크로들을 보면 
+### 2.최종 실행파일 test를 빌드하기 위해서  OBJS(오브젝트 파일들)이 먼저 생성되야한다.
+
 > 1. CC : 앞에서 정의한 매크로 -> gcc 
 > 2. 내장매크로 @ : 현재 target 파일명 -> test
 > 3. 내장매크로 ^ : 현재 모든 의존파일들 -> main.o func.o
 
 
-.c.o : 확장자 규칙으로, 파일의 확장자를 보고 그에 따라 적절한 연산을 수행한다.<br>
+### 3. .c.o : 확장자 규칙으로, 파일의 확장자를 보고 그에 따라 적절한 연산을 수행한다.<br>
 여기서 .c는 C소스코드, .o는 Object 파일을 의미한다.<br>
 
 > 1. 앞에서 정의한 매크로들을 치환하면, gcc -c -O -Wall $<이다.
 > 2. 내장매크로 < : 의존파일 중 첫번째 파일명
 > 3. 결국 의존파일 중 확장자가 .c인 C소스코드나 .o인 Object파일들에 대해 모두 gcc -c -O -Wall을 수행한 것.
 
-make clean : make의 결과로 생긴 Object 파일들과 실행 파일을 삭제.
-
-<p>gccmakedep : 소스파일의 의존관계를 자동으로 찾아 파일간의 종속에 대한 정보를 모두 타이핑할 필요가
+### 4. make clean : 
+<p>make의 결과로 생긴 Object 파일들과 실행 파일을 삭제한다. 원래는 최종 실행파일을 만드는데 필요한 Object 파일들이 현재 디렉토리 내에 없을 경우
+에러를 발생시키지만, -rm을 사용하면 삭제하고자하는 파일이 없더라도 에러를 발생시키지 않고 다음 명령을 실행한다.
+Object 파일을 따로 생성해두지 않고 바로 빌드를 하는 경우도 있기 때문에 -rm OBJS를 사용했고 반면 실행파일은 반드시 make clean의 대상이어야 하기에 
+-rm이 아닌 rm을 썼다.</p>
+### 5. gccmakedep 
+<p> 소스파일의 의존관계를 자동으로 찾아 파일간의 종속에 대한 정보를 모두 타이핑할 필요가
 없어짐. make dep을 실행시키면 dep 라벨 밑에 명령이 생성되고,  이후 make시 컴파일과 링크를 dep 라벨 밑의 명령으로 수행한다.
 </p>