빌드 스크립트: "이전에 완료된 단계 건너뛰기" 구현 방법

빌드 스크립트: "이전에 완료된 단계 건너뛰기" 구현 방법

GCC용 빌드 스크립트(현재 작동함)를 만들려고 하는데 GCC/binutils를 업데이트할 때 모든 필수 라이브러리 재구축을 건너뛸 수 있기를 바랍니다. 스크립트가 건너뛸 모든 단계를 포함하여 기본 빌드 디렉터리에 파일을 생성하도록 하고 싶습니다. 어떻게 해야 합니까? 명령 cat과 찾기를 사용하여 파일에 단계가 있는지 확인하십시오. 이렇게 하면 필요한 경우 특정 부품을 수동으로 다시 빌드할 수 있습니다.

업데이트: 게시된 답변에서는 makefile이 필요하다고 가정하는 것 같습니다. 매우 번거롭고 원하지 않는 빌드 프로세스는 makefile에서 원하지 않는 많은 CD, 구성, make, 설치 단계로 구성됩니다. 조금도. 스크립트가 거의 완성되었으며 이것이 나에게 필요한 마지막 단계입니다...

업데이트 2: 아래 설명에서 말했듯이 저는 Windows에서 MSYS bash를 셸로 사용하고 있습니다.

감사해요!

추신: 스크립트를 실행할 때마다 "완료된 단계 건너뛰기"를 수행해야 합니다.

답변1

make나는 GNU 친구들이 작성한 소개가 필요한 것 같다고 생각합니다 .

Make는 여러 중간 파일을 보고 어떤 파일을 다시 컴파일해야 하는지 결정할 수 있습니다. 그리고 그 중 어느 파일에 따라 지원 파일을 재귀적으로 다시 빌드해야 하는지도 알아보세요.

Makefile을 생성하여 미리 설정해야 하지만 기꺼이 수행할 수 있을 것 같습니다.

자세한 내용은 다음 URL을 확인하세요.http://www.gnu.org/software/make/. 사실, 두 번째 요점은 제가 할 수 있는 어떤 것보다 더 잘 설명하는 것처럼 들립니다.

답변2

그렇다면 실제로 프레임 작성에 대해 묻는 것이 아니라 텍스트 파일에 특정 줄이 있는지 확인하는 방법에 대한 구체적인 질문인 것 같습니다.

foo문자열이 파일에 존재하는지 알고 싶다면 다음을 수행하십시오.

if grep -q foo thefile; then
   # it's there
else
   # otherwise
fi

그러면 문제가 해결될 것입니다.

답변3

당신은 알고 싶을 수도 있습니다CMake. 아마도 당신이 설명하는 내용에 비해 다소 과잉일 수 있으며 make더 적절할 것입니다.autotools당신의 삶을 더 쉽게 만들어 줄 수 있는 것.

관련 정보