You cannot see this page without javascript.

make - 04 매크로

Programing 조회 수 241 추천 수 0 2017.02.22 17:13:54

make 파일을 작성하다 보면 같은 파일이름을 여러 번 써야 하는 경우가 있다. 이런 경우에 매크로를 사용하면 편리하고 명령을 단순화 시킬 수 있다.

1) 매크로 정의

 

004.png

 

매크로명 M_NAME은 사용자가 임의로 정할 수 있으며 등호 오른쪽의 값으로 확장된다. 대소문자는 구분하지 않으며 대문자를 일반적으로 사용한다.
정의된 매크로는 다음의 형태로 사용할 수 있다.

 

005.png

 

2) make 예제 2
다음과 같이 이전 makefile의 내용을 매크로를 이용하여 수정한다.

 

makefile  <makefile 작성>
1: OBJ=main_test.o func1.o func2.o
2: test : $(OBJ)
3:    cc -o  test $(OBJ)
4: main_test.o : io.h main_test.c
5:    cc -c main_test.c
6: func1.o : io.h func1.c
7:    cc -c func1.c
8: func2.o: io.h func2.c
9:    cc -c func2.c
10: clean:
11:    rm $(OBJ)

 


매크로가 잘 동작되는지 실행하여 본다.

$  make
        cc -c main_test.c
        cc -c func1.c
        cc -c func2.c
        cc -o  test main_test.o func1.o func2.o

$  make clean
        rm main_test.o func1.o func2.o

첨부
엮인글 :
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
29 Linux 03 - VMware,네트워크,VMware인터넷설정,리눅스인터넷 file LynX 2012-11-29 317
28 Linux 02 - CentOS 다운로드 및 설치 (VMware 설치) file [13] LynX 2012-11-29 2816
27 Linux 01 - 정규식과 표현 LynX 2012-11-29 330
26 윈도우서버2008 - 06 (보안 정책 및 감사) file [10] LynX 2012-11-28 296
25 윈도우서버2008 - 05 (공유,DFS 분산파일시스템) file [13] LynX 2012-11-28 370
24 윈도우서버2008 - 04 (그룹 생성,관리,권한) file LynX 2012-11-28 430
23 윈도우서버2008 - 03 (액티브디렉토리,XP환경) file [9] LynX 2012-11-28 586
22 윈도우서버2008 - 02 (Active Directory Service<AD>) file [15] LynX 2012-11-28 379
21 윈도우서버2008 - 01 <설치 및 설정> file [3] LynX 2012-11-28 343
20 Windows Server 2012 설치 file LynX 2012-11-23 464
19 윈도우 2008서버에 XE 설치 절차 [9] LynX 2012-11-22 221
18 IIS에 FastCgi모듈 활성화 시키기 file [12] LynX 2012-11-21 1249
17 HP Officejet 6500A (Plus) 호환 드라이버 [8] LynX 2012-05-16 267
16 Xyview DVR서버 연결 [8] LynX 2012-04-19 278
15 아레한글 사용시 출력물에 음영이 나타나는 현상. file [11] LynX 2012-03-29 1106
14 디지털 서명 file [1] LynX 2012-03-15 436
13 윈도우7 알수없는장치 file [8] LynX 2012-03-13 262
12 RoundCube 첨부 용량 변경 / 한글 수정 [10] LynX 2012-01-31 818
11 윈도우7 메모리 인식 문재 file [13] LynX 2011-11-30 518
10 Win XP Crack file [8] LynX 2011-10-31 227

XE Login