inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 IPC 프로그래밍 - 이론과 실습

Makefile에 대한 질문입니다

해결된 질문

193

젓인

작성한 질문수 158

0

선생님 Makefile을 유용하게 쓰고 있는데,

선생님은 Makefile에서 어떤 옵션이 같은 디렉토리 내에서 다수의 main이 존재하는 것인가요?

선생님 Makefile은 헤더파일이 있으면 동작이 안되어서 

https://gist.githubusercontent.com/surinoel/f00b345a8b8e91f80ac7b2084c4b4d90/raw/bcbc54c4b7c5d60916ecbdb949a582cd2b05e0cb/Makefile

제가 헤더파일을 링크하는 Makefile을 작성했는데, 선생님 기능(main이 독립적)을 넣고 싶은데 어떻게 할 수 있나요?

linux

답변 2

0

젓인

항상 감사드립니다 :)

0

런잇(ProgCoach4U)

답변이 늦어져 죄송합니다. 

제가 작성한 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

 

fork() 후 address

0

40

2

bind(): Address already in use

0

59

2

POSIX named semaphore 자원이 제대로 해지되지 못한 상태로 프로세스가 종료됐을 때 해당 semaphore 재사용 방법

0

216

2

강의 순서

0

262

1

강의자료 질문

0

244

1

수업 관련 질문

0

354

3

안녕하세요! 메세지 큐 방식에 대해 질문있습니다.

0

268

1

리눅스는 디버깅이 없나요?

1

722

1

fcntl 에서 Read/Write 기능

1

354

1

시스템 프로그래밍 향후 공부

1

507

1

Shared Memory와 동기화 관련

1

1182

1

거의 모든 함수를 static 선언하시는 이유는 무엇인가요?

1

2328

1

SHM_REMAP

1

318

2

recvfrom 질문

1

715

6

컴파일 질문입니다

1

675

1

partial send/recv에 관하여

1

670

1

스레드끼리의 통신에도 적용가능한가요?

1

375

1

File Lock API - 정리 table에서 multi-thread 사용가능시....

1

412

1

WSL Ubuntu에서 메시지 큐

1

464

1

shared memory(14강) live programming file mapping 에 관한 질문입니다.

1

205

1

에러 - bind(): Address already in use

1

1138

1

POSIX MQ의 설정 문의

1

604

2

accept 함수에 대한 문의

1

295

1

datagram socket 구현시 recvfrom에서 블록킹됩니다.

1

1507

1