sepolicy_replace_paths
:=
$(foreach pf,
$(BOARD_SEPOLICY_REPLACE), \
$(if $(filter $(pf),
$(BOARD_SEPOLICY_UNION)), \
$(error Ambiguous request for sepolicy
$(pf). Appears in both \
BOARD_SEPOLICY_REPLACE and
BOARD_SEPOLICY_UNION), \
) \
$(eval _paths := $(filter-out
$(BOARD_SEPOLICY_IGNORE), \
$(wildcard $(addsuffix /$(pf),
$(BOARD_SEPOLICY_DIRS))))) \
$(eval _occurrences := $(words $(_paths))) \
$(if $(filter 0,$(_occurrences)), \
$(error No sepolicy file found for $(pf) in
$(BOARD_SEPOLICY_DIRS)), \
) \
$(if $(filter 1, $(_occurrences)), \
$(eval sepolicy_replace_paths +=
$(_paths)), \
$(error Multiple occurrences of replace
file $(pf) in $(_paths)) \
) \
$(if $(filter 0, $(words $(wildcard
$(addsuffix /$(pf), $(LOCAL_PATH))))), \
$(error Specified the sepolicy file $(pf)
in BOARD_SEPOLICY_REPLACE, \
but none found in $(LOCAL_PATH)), \
) \
)
Sepolicy_replace_path := 시작하는 한줄이기 때문에 각 줄 끝마다 \ 가 붙음.
변수 대입 인자 :=
(BOARD_SEPOLICY_REPLACE)의 인자들을
Pf에 대입하여,
BOARD_SEPOLICY_UNION에 있는 내용이면 강제 에러 발생, $error 사용법.
11
down vote accepted
|
From the manual:
$(error Bad svn version v1.4, please install v1.6)
This
will result make to a fatal error:
$ make
Makefile:2: *** Bad svn version v1.4, please install v1.6. Stop. |
Eval 키워드는 좌변을 무조건 변수로 만들어 준다. 는 정도로 이해 바람.
_paths에는 BOARD_SEPOLICY_DIRS / pf변수 (즉,BOARD_SEPOLICY_REPLACE) 에서
BOARD_SEPOLICY_IGNORE 된 값이 들어감.
_occurrences에는 _paths의 단어수가 들어감.
아래쪽에서 0이면 암것도 없는거고 1이면 해당
$(addsuffix
suffix,names...)
매개변수 names는 공백문자들로 분리된, 일단의 이름들로 취급된다; suffix는 유닛으로써 사용된다. suffix의 값은 각
개별 이름의 끝에 더해지고 그들 사이에 단일 스페이스들을 추가한 더 큰 이름들이 그 결과이다. 예를 들어서,
$(addsuffix .c,foo bar)
는 `foo.c bar.c'라는 결과를 만들어낸다.
$(wildcard
pattern)
pattern 매개변수는 파일 이름 패턴이다. 전형적으로 와일드 카드 문자들 (쉘 파일 이름 패턴과 동일한) 을 담고 있다.
wildcard 함수의 결과는 패턴과 일치하는 현존하는 파일들의 이름들을 스페이스로 분리한 리스트이다. See section 파일 이름에 와일드카드
사용(Using Wildcard Characters in File Names).
$(word
n,text)
이것은 text의 n번째 단어를 리턴한다. n의 합법적인 값은 1부터 시작한다. n가 text에 있는 단어들 개수보다 더 크다면
그 값은 빈 것이 된다. 예를 들어서,
$(word 2, foo bar baz)
`bar'를 리턴한다.
$(words
text)
이것은 text에 있는 단어들 개수를 리턴한다. 그래서, text의 마지막 단어는 $(word $(words
text),text) 로 표현될 수 있다
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.