반응형
Makefile If-Then Else 및 루프
누군가 Makefile에서 if-then 문과 for 루프를 사용하는 방법을 설명 할 수 있습니까? 예제가있는 좋은 문서를 찾을 수없는 것 같습니다.
조건부 양식
단순한
conditional-directive
text-if-true
endif
다소 복잡함
conditional-directive
text-if-true
else
text-if-false
endif
더 복잡한
conditional-directive
text-if-one-is-true
else
conditional-directive
text-if-true
else
text-if-false
endif
endif
조건부 지시문
같으면 구문
ifeq (arg1, arg2)
ifeq 'arg1' 'arg2'
ifeq "arg1" "arg2"
ifeq "arg1" 'arg2'
ifeq 'arg1' "arg2"
같지 않은 경우 구문
ifneq (arg1, arg2)
ifneq 'arg1' 'arg2'
ifneq "arg1" "arg2"
ifneq "arg1" 'arg2'
ifneq 'arg1' "arg2"
정의 된 구문
ifdef variable-name
정의되지 않은 경우 구문
ifndef variable-name
foreach 기능
foreach 함수 구문
$(foreach var, list, text)
foreach 의미론
"list"에서 공백으로 구분 된 각 단어에 대해 "var"로 명명 된 변수가 해당 단어로 설정되고 텍스트가 실행됩니다.
다음과 같은 경우의 예가 있습니다.
ifeq ($(strip $(OS)),Linux)
PYTHON = /usr/bin/python
FIND = /usr/bin/find
endif
이것은 Make의 다른 버전이 약간 다른 구문을 가지고 있다는 경고의 한마디와 함께 제공되며 어느 것도 잘 문서화되지 않은 것 같습니다.
GNU make 문서 를 사용해 보셨습니까 ? 예제와 함께 조건문에 대한 전체 섹션이 있습니다.
You do see for loops alot of the time, but they are usually not needed. Here is an example of how one might perform a for loop without resorting to the shell
LIST_OF_THINGS_TO_DO = do_this do_that
$(LIST_OF_THINGS_TO_DO):
run $@ > $@.out
SUBDIRS = snafu fubar
$(SUBDIRS):
cd $@ && $(MAKE)
ReferenceURL : https://stackoverflow.com/questions/180760/makefile-if-then-else-and-loops
반응형
'IT TIP' 카테고리의 다른 글
NPM과 NVM의 차이점 (0) | 2020.12.30 |
---|---|
VS 솔루션을 열 때마다“최근이 솔루션에 프로젝트가 추가되었습니다. (0) | 2020.12.30 |
두 번째 주마다 작업을 실행하도록 cron에 지시하는 방법은 무엇입니까? (0) | 2020.12.30 |
파이썬은 튜플 목록을 어떻게 정렬합니까? (0) | 2020.12.30 |
내 사용자 정의 속성이 적용된 멤버를 가져 오려면 어떻게합니까? (0) | 2020.12.30 |