강좌 & 팁
글 수 2,412
2015.09.22 12:20:39 (*.39.166.80)
43588
프로그램을 작성하다 보면 여러 개의 실행 파일을 만드는 경우가 많습니다.
각각의 프로그램 소스는 디렉터리로 분류하여 작성하게 되는데,
컴파일 환경이 바뀌거나 전역 변수, 전역 상수가 바뀌게 되면
모든 디렉터리에 있는 프로그램을 다시 컴파일하거나
백업을 위해 필요 없는 파일을 제거할 필요가 있습니다.
이를 위해 각 디렉터리별로 이동해서 make all 또는 make clean을
실행하면 되지만, 매우 귀찮은 일입니다.
상위 디렉터리에 아래와 같은 내용으로 Makefile을 만들어 놓는다면
한 번의 실행으로 모든 서브 디렉터리에서 make all 또는 make clean을
자동으로 실행하게 됩니다.
app_dir1과 app_dir2는 예제를 위한 서브 디렉터리입니다.
SUBDIRS = app_dir1 app_dir2
all:
for dir in $(SUBDIRS); do \
$(MAKE) -C $$dir all; \
done
clean:
for dir in $(SUBDIRS); do \
$(MAKE) -C $$dir clean; \
done