Makefile..sed 사용 중 오류가 발생했습니다.

Makefile..sed 사용 중 오류가 발생했습니다.

애플리케이션이 구성을 시도 중입니다.

sudo make configure
(cd /opt/ioapi-3.2/ioapi   ;  sed -e 's|IOAPI_BASE|/opt/ioapi-3.2|' -e 's|LIBINSTALL||' -e 's|BININSTALL||' -e 's|IOAPI_DEFS||' -e 's|NCFLIBS|-L/opt/netcdf/lib -lnetcdff -L/opt/netcdf/lib -lnetcdf|' -e 's|MAKEINCLUDE|include /opt/ioapi-3.2/ioapi/Makeinclude|' -e 's|PVMINCLUDE|include  |' < Makefile..sed > Makefile )
/bin/sh: Makefile..sed: No such file or directory
make: *** [Makefile:211: configure] Error 1

명령의 마지막 부분이 수행해야 하는 작업과 오류가 발생하는 이유를 이해할 수 없습니다.

출력은 make -n configure다음과 같습니다

(cd /home/centos/ioapi-3.2/ioapi   ;  sed -e 's|IOAPI_BASE|/home/centos/ioapi-3.2|' -e 's|LIBINSTALL||' -e 's|BININSTALL||' -e 's|IOAPI_DEFS||' -e 's|NCFLIBS|-lnetcdff -lnetcdf|' -e 's|MAKEINCLUDE|include /home/centos/ioapi-3.2/ioapi/Makeinclude|' -e 's|PVMINCLUDE|include  |' < Makefile..sed > Makefile )
(cd /home/centos/ioapi-3.2/m3tools ;  sed -e 's|IOAPI_BASE|/home/centos/ioapi-3.2|' -e 's|LIBINSTALL||' -e 's|BININSTALL||' -e 's|IOAPI_DEFS||' -e 's|NCFLIBS|-lnetcdff -lnetcdf|' -e 's|MAKEINCLUDE|include /home/centos/ioapi-3.2/ioapi/Makeinclude|' -e 's|PVMINCLUDE|include  |' < Makefile..sed > Makefile )

답변1

Makefile.template프로젝트 파일 보기ioapic-3.2GitHub에서, 표시되는 명령은 sed변수를 사용한 결과임이 분명합니다.makeSEDCMD

SEDCMD = \
-e 's|IOAPI_BASE|$(BASEDIR)|' \
-e 's|LIBINSTALL|$(LIBINST)|' \
-e 's|BININSTALL|$(BININST)|' \
-e 's|IOAPI_DEFS|$(IOAPIDEFS)|' \
-e 's|NCFLIBS|$(NCFLIBS)|' \
-e 's|MAKEINCLUDE|include $(IODIR)/Makeinclude|' \
-e 's|PVMINCLUDE|include  $(PVMINCL)|'

이와 같이:

configure: ${IODIR}/Makefile ${TOOLDIR}/Makefile
    (cd $(IODIR)   ;  sed $(SEDCMD) < Makefile.$(CPLMODE).sed > Makefile )
    (cd $(TOOLDIR) ;  sed $(SEDCMD) < Makefile.$(CPLMODE).sed > Makefile )

보시다시피 변수라는 변수를 읽으려고 시도하고 있습니다 Makefile.$(CPLMODE).sed. 해당 CPLMODE변수는 여러 번 언급되었습니다.댓글에서Makefile에 있지만 기본값으로 설정하지 마십시오.

이 변수의 유효한 값은 nocpl, cpl또는 입니다 pncf. 저장소의 파일에는 Makefile을 사용자 정의하라고 나와 있는데, 여기에는 프로젝트의 최상위 디렉터리에 호출되는 복사본을 만든 다음 이를 수정하는 작업이 README.txt포함된다고 가정해야 합니다 .Makefile.templateMakefile

필요한 모든 수정 사항을 적용하지 않은 것 같습니다.

관련 정보