많은 반복적 인 내용으로 Makefile을 작성하고 있습니다. 타겟 'SYST'가 정의 Makefile의 함수
debug_ifort_Linux:
if [ $(UNAME) = Linux ]; then \
$(MAKE) FC=ifort FFLAGS=$(difort) PETSC_FFLAGS="..." \
[email protected] LEXT="ifort_$(UNAME)" -e syst; \
else \
echo $(err_arch); \
exit 1; \
fi
변수 'UNAME'는 정의 (리눅스는 일반적이지만, 또한 시그윈 또는 OSF1가 있음)와 변수 "difort '및'err_arch"도 정의되어있다 . 이 코드 블록은 다른 컴파일러 타겟 ('
'이라는 이름 규칙을 사용)에 매우 많이 사용됩니다. 이것은 많은 양의 중복 코드이므로 더 간단한 방법으로 작성할 수 있기를 바랍니다. 예를 들어 다음과 같이하고 싶습니다.
여기서 compile은 인수를 기반으로 위 코드를 수행하는 함수가 될 수 있습니다. 아무도 내가 이것을 성취 할 수있는 어떤 생각을 가지고 있습니까?
이것이 현재 올바른 것으로 표시된 이전 답장보다 나은 이유는 무엇입니까? –
\가 아닌 여러 줄 변수를 사용해야합니다. 다시 한번 "너무 복잡하여 그 대답을 편집 할 수 없습니다"(지금까지 리뷰를받은 한) – JonnyJD
여러 줄 변수를 설명하는 것은 주석을 작성하는 데 너무 많은 부분입니다. 물론 당신은 동의 할 필요가 없습니다. – JonnyJD