해결된 질문
19.07.18 15:27 작성
·
164
0
선생님 Makefile을 유용하게 쓰고 있는데,
선생님은 Makefile에서 어떤 옵션이 같은 디렉토리 내에서 다수의 main이 존재하는 것인가요?
선생님 Makefile은 헤더파일이 있으면 동작이 안되어서
제가 헤더파일을 링크하는 Makefile을 작성했는데, 선생님 기능(main이 독립적)을 넣고 싶은데 어떻게 할 수 있나요?
답변 2
0
0
2019. 07. 20. 21:26
답변이 늦어져 죄송합니다.
제가 작성한 Makefile은 xxx.c 파일이 있으면 xxx.c -> xxx 라는 실행파일을 만들도록 구성되어 있습니다. 예를 들어 pipe.c 라는 소스 파일을 작성하고 make를 실행하면 pipe 이라는 실행파일이 만들어지는 구조이죠. 사실 이 구조가 일반적인 구조는 아닙니다. 일반적으로는 하나의 Makefile에서는 해당 디렉터리 혹은 하위의 디렉터리의 여러 소스 파일들로부터 하나이상의 라이브러리나 실행파일을 만들게 됩니다. 여러 소스 파일이 하나의 실행파일/라이브러리로 만들어지는 것이 일반적이라 할 수 있습니다. 저는 실습에 편하고자 이런 구조로 작성을 한 것이구요 :)
유영재님께서 작성하신 Makefile이 일반적인 구조라 할 수 있습니다. 다만, 여기에 실행 파일을 추가하고자 하신다면 SRC, OBJ, TARGET을 따로 지정하셔야 할 것 같습니다. SRC부터 *.c로 구성되다보니 디렉터리 내의 모든 .c 파일이 하나의 실행파일을 만들게 되어 있네요.
아래 링크 참조하셔서 Makefile을 수정해보시길 바랍니다 :)
https://stackoverflow.com/questions/5950395/makefile-to-compile-multiple-c-programs