[program] Makefile

development 2012. 1. 4. 13:15

Table of Content
  1. Example of Makefile
  2. 텍스트 함수









1. Example of Makefile
  하위 디렉토리를 관리하는 가장 기본적인 예제

 .SILENT:

SUB_DIRS=$(shell ls -d */ |cut -f1 -d/)

all:
    @for list in $(SUB_DIRS); do make -C $$list ; done

clean:
    @for list in $(SUB_DIRS); do make -C $$list clean ; done

distclean:
    @make clean
  위 예제는 하위 디렉토리를 자동 검색하게 하여 make list 에 넣는 형태로 되어 있다.
  배포용으로는 아주 좋은 형태이지만, 실제 개발 프로젝트 진행시에는 모든 하위 디렉토리를 컴파일하게 만들면 불편한 상황이 발생하게 된다.  
  그래서 아래와 같이 make list 를 명시적으로 지정하게 하는 것이 개발할 때 더 편하다.
 
  개발 프로젝트 진행시 가장 편리한 예제
 .SILENT:

SUB_DIRS=project1\
               project2\
               project3

all:
    @for list in $(SUB_DIRS); do make -C $$list ; done

clean:
    @for list in $(SUB_DIRS); do make -C $$list clean ; done

distclean:
    @make clean
 


2. 텍스트 함수

makefile 은 텍스트를 다루는 다양한 기능(함수) 를 제공한다.

subst

문법

  $(subst TARGET,DEST,SRC_TEXT)

설명

  SRC_TEXT 에서 TARGET 을 DEST 로 변환한다.

예제

  SRC_STRING="I am a boy"

  RESULT=$(subst boy,man,$(SRC_STRING))

  => I am a man 으로 변환됨.

notdir :

wildcard

'development' 카테고리의 다른 글

[kernel] Top Half? Bottom Half? context?  (5) 2012.01.13
[kernel] 스핀락  (1) 2012.01.04
[kernel] 커널 쓰레드  (0) 2012.01.04
[kernel] 시간지연  (1) 2012.01.02
[kernel] 커널 메모리 모델  (0) 2011.12.29
블로그 이미지

김유석0

,