• Make를 쓰는 이유

 - 각 파일에 대한 반복적 명령의 자동화로 인한 시간 절약

 - 프로그램의 종속 구조를 빠르게 파악 할 수 있으며 관리가 용이

 - 단순 반복 작업 및 재작성을 최소화


  • Makefile의 구성

 - 목적파일(Target) : 명령어가 수행되어 나온 결과를 저장할 파일 

 - 의존성(Dependency) : 목적파일을 만들기 위해 필요한 재료

 - 명령어(Command) : 실행 되어야 할 명령어들

 - 매크로(macro) : 코드를 단순화 시키기 위한 방법


  •  Makefile 만드는 이유

 - 하나의 실행파일을 생성하는데 필요한 c파일이 여러 개인 경우 그만큼의 명령어가 필요하다. 이러한 상황을 해결해 주기 위해 makefile

 을 사용한다.





문제 13) 문제 12와 동일한 mainAlg 실파일이 만들어 질 수 있도록 make 유틸리티를 실행할 수 있는 Makefile 파일의 내용을 쓰세요.


1. Makefile을 만들기 위해 printMain.c 와 printmsg.c 파일을 만든다.




1) ‘printMain’와 ‘printmsg’ 파일 2개를 생성한다.

위의 사진은 ls의 명령어를 통해 파일이 생성되었는지 확인하는 장면이다.


 (1) 각 object 파일을 생성한다.

 gcc -c -o printMain.o printMain.c

 gcc -c -o printmsg.o printmsg.c


 이때, 

 -c 옵션 : object 파일을 생성

 -o 옵션 : 생성 될 파일 이름을 지정


 각 object 파일을 묶어 실행파일 생성한다.

 gcc -o mainAlg printMain.c printmsg.c


 실행 후 출력한다.

 ./mainAlg


2. Makefile을 생성


 1) Makefile 생성 방법




 

 2) 생성

  mainAlg : printMain.o printmsg.o

               gcc -o mainAlg printMain.o printmsg.o

  printMain.o : printMain.c

                   gcc -c -o printMain.o printMain.c

  printmsg.o : printmsg.c

                  gcc -c -o printmsg.o printmsg.c

  clean :

           rm *.o mainAlg 

  



3. 실행화면




 


 

느낀점 : Make를 사용하면 어떤 장점이 있는지 알지 못하고 무작정 외우기만 했다. 여러 번 힘들게 명령어를 작성하여 실행하는 과정을 make를 사용하면 간편하게 처리할 수 있다는 장점이 있다. 이러한 장점을 적용할 수 있었던 계기가 됬다.

+ Recent posts