Skip to content

Latest commit

 

History

History
33 lines (29 loc) · 1.06 KB

Directory Structure.md

File metadata and controls

33 lines (29 loc) · 1.06 KB
ROOT
├── modules
│   ├── libft
│   ├── libmodule1
│   └── libmodule2
├── includes
│   └── *.h
├── srcs
│   └── *.c
├── Makefile
└── *.mk

modules 디렉토리 안에 각 모듈을 배치한다. 모듈로 분류될 수 없는 기능은 ROOT/srcsROOT/includes에 배치한다.

libmodule1
├── includes
│   └── *.h
├── srcs
│   ├── *.c
│   └── *.h
├── *.c
├── *.h
├── Makefile
└── filelist.mk

각 모듈은 독자적인 Makefile을 가지고 있고, 여기서는 libft와 같이 파일을 컴파일 및 아카이빙만 할 뿐 링크를 수행하지 않는다. 각 모듈의 소스 코드 목록은 별도의 파일 (filelist.mk)에 작성하고 이를 모듈의 Makefile과 루트 Makefileinclude하여 공유하도록 한다.

타 모듈에서 사용해야 하는 함수 및 구조체는 includes 내에 정의한다. 이 모듈 내에서만 사용되는 내용은 includes에 노출시키지 않는다.