Makefile - 사용자의 bin 디렉토리에 bash 스크립트를 설치하는 방법은 무엇입니까?

Makefile - 사용자의 bin 디렉토리에 bash 스크립트를 설치하는 방법은 무엇입니까?

bash 스크립트를 사용자 디렉토리에 설치하려면 Makefile을 만들어야 하는데 bin, 이를 수행하는 가장 좋은 방법이 무엇인지 잘 모르겠습니다. bin 디렉토리의 위치를 ​​지정하기 위해 사용자 입력을 허용하는 변수를 사용해야 합니까, 아니면 환경 변수가 있습니까(적어도 대부분의 배포판에서는)?

답변1

일반적으로 사용자에게는 bin 디렉터리가 없을 수도 있습니다. 이와 같은 Makefile을 사용하면 make DESTDIR=/usr/local/bin install/usr/local/bin에 설치하고 ~/bin에 기본값을 지정할 수 있습니다.

# DESTDIR is where the program should be installed
DESTDIR = $$HOME/bin
prog: a.c b.c
      ${CC} -o $@ $<
install: prog
      mkdir -p ${DESTDIR}
      cp $< ${DESTDIR}

이로 인해 프로그램은 여러 개의 C 파일로 구성됩니다. installbin 디렉토리가 존재하지 않으면 대상은 이를 생성한 다음(존재하는 경우 -p는 오류를 방지함) 파일을 복사합니다. $$쉘 변수에 유의하십시오 .

GNU make는 order only prerequisite디렉토리가 존재하지 않는 경우에만 디렉토리 생성을 허용하지만 mkdir을 실행하는 데 걸리는 시간은 컴파일 시간에 비해 짧을 수 있습니다.

관련 정보