Makefile 문법 해석 - cryptopp GNUmakefile 파일

in zyx •  7 years ago  (edited)

Awesomw > 코딩

cryptopp GNUmakefile 파일


SHELL = bash

= 는 변수가 사용될때마다 값이 요구된다. CFLAGS = $(CFLAGS) -O 이런 문법은 재귀적으로 확장되어 무한루프를 생성할 수 있기때문에 사용시 주의 해야한다.


AR ?= ar

?=의 문법은 아래와 같다

ifeq ($(origin AR), undefined)
  AR = ar
endif

UNAME := $(shell uname)

:= 또는 ::= 는 변수 값을 한번만 할당하고 사용한다.


$(shell uname)

쉘 명령어를 실행한 결과를 가져온다.


.PHONY: valgrind

.PHONY: 로 정의한 target 들은 실제 파일 이름이 아닌 가상의 이름을 나타낸다. 만약에 clean, all 이라는 파일이 존재한다면 target과 혼동하여 make 가 오작동할 가능성이 있다. 이때 .PHONY 로 지정해서 실제 파일이 아님을 확인시켜줄 수 있다.


%.o : %.cpp

% 는 파일 확장자를 제외한 파일 이름 이다.


$>

입력 파일명.


$@

출력 파일명.


$*

입력 파일에서 확장자(.c, .o)를 제외한 파일명.

참고

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!