Make가 무작위로 파일을 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

Witiko

내가 빈 디렉토리에 있다고 가정합니다. 이제 아무것도 포함하지 않고 all: randomFilename라는 빈 파일을 포함하는 Makefile을 만들면 이 호출 될 때 randomFilename.shGNU Make가 수행 cat randomFilename.sh >randomFilename; chmod a+x randomFilename됩니다 make.

$ echo 'all: randomFilename' > Makefile
$ make
make: *** No rule to make target 'randomFilename', needed by 'all'.  Stop.
$ touch randomFilename.sh
$ make
cat randomFilename.sh >randomFilename 
chmod a+x randomFilename
$ make -v | head -n2
GNU Make 4.0
Built for x86_64-pc-linux-gnu

더 나쁜 것은 Make randomFilename가 이미 존재한다면 라는 파일을 덮어 쓴다는 것입니다.

$ echo "My content" > randomFilename
$ echo "My content, all gone" > randomFilename.sh
$ make -B
cat randomFilename.sh >randomFilename 
chmod a+x randomFilename
$ cat randomFilename
My content, all gone

Make가 이렇게하는 이유와 그 행동을 방지하는 방법을 찾고 싶습니다.

Witiko

이 동작은 Make의 기본 제공 접미사 규칙 (이 경우 소스 코드 제어 시스템의 레거시 버전 [ 1 ])의 결과입니다. 기본 제공 접미사 규칙은 빈 .SUFFIXES의사 대상 [ 2 ] 을 지정하여 비활성화 할 수 있습니다 .

$ echo '.SUFFIXES:'          >  Makefile
$ echo 'all: randomFilename' >> Makefile
$ make
make: *** No rule to make target 'randomFilename', needed by 'all'.  Stop.
$ touch randomFilename.sh
$ make
make: *** No rule to make target 'randomFilename', needed by 'all'.  Stop.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

automake가 INSTALL을 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

strcpy가 다른 변수도 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

Cloud Firestore 트리거가 서로 덮어 쓰는 것을 중지하는 방법은 무엇입니까?

분류에서Dev

추가 모드에서 파이썬 덮어 쓰기 파일을 수정하는 방법은 무엇입니까?

분류에서Dev

sed 명령이 원본 파일을 덮어 쓰고 새 파일을 출력하는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

magento에서 admin phtml 파일을 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

사용자 정의 할 수없는 앱이 수동으로 변경된 파일을 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

Firefox가 방문 날짜를 기록에서 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

분류에서Dev

Debian 패키지가 권한을 덮어 쓰도록 강제하는 방법은 무엇입니까?

분류에서Dev

현재 내용을 덮어 쓰지 않고 파일에 쓰는 방법은 무엇입니까?

분류에서Dev

편집을 위해 잠금을 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

덮어 쓰지 않고 로그 파일에 콘텐츠를 추가하는 방법은 무엇입니까?

분류에서Dev

writefile () 호출에 사용되는 파일을 덮어 쓰거나 삭제하는 방법은 무엇입니까?

분류에서Dev

writefile () 호출에 사용되는 파일을 덮어 쓰거나 삭제하는 방법은 무엇입니까?

분류에서Dev

명령을 사용하여 FTP를 통해 파일을 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

automake가 _DATA 파일을 덮어 쓰는 것을 방지하는 방법

분류에서Dev

파이썬 스크립트 파일에서 일부 할당을 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

HotSpot JVM이 힙 덤프 파일을 덮어 쓰도록 강제하는 방법은 무엇입니까?

분류에서Dev

Maven을 통해 우선 순위가 낮은 리소스 파일을 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

API 경로 이름을 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

Django 앱을 Pythonanywhere로 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

sftp put : 실수로 파일을 덮어 쓰는 것을 방지하는 방법

분류에서Dev

덮어 쓰지 않고 R의 기존 파일에 추가하는 방법은 무엇입니까?

분류에서Dev

Proguard가 매니페스트 파일을 덮어 쓰는 것을 방지하는 방법

분류에서Dev

각 항목을 덮어 쓰지 않고 하위 사전을 만드는 방법은 무엇입니까?

분류에서Dev

Evince로 주석이 달린 파일을 저장 / 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

Evince로 주석이 달린 파일을 저장 / 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

Evince로 주석이 달린 파일을 저장 / 덮어 쓰는 방법은 무엇입니까?

분류에서Dev

Pandas 시리즈의 값을 덮어 쓰는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    automake가 INSTALL을 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

  2. 2

    strcpy가 다른 변수도 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

  3. 3

    Cloud Firestore 트리거가 서로 덮어 쓰는 것을 중지하는 방법은 무엇입니까?

  4. 4

    추가 모드에서 파이썬 덮어 쓰기 파일을 수정하는 방법은 무엇입니까?

  5. 5

    sed 명령이 원본 파일을 덮어 쓰고 새 파일을 출력하는 것을 방지하는 방법은 무엇입니까?

  6. 6

    magento에서 admin phtml 파일을 덮어 쓰는 방법은 무엇입니까?

  7. 7

    사용자 정의 할 수없는 앱이 수동으로 변경된 파일을 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

  8. 8

    Firefox가 방문 날짜를 기록에서 덮어 쓰는 것을 방지하는 방법은 무엇입니까?

  9. 9

    Debian 패키지가 권한을 덮어 쓰도록 강제하는 방법은 무엇입니까?

  10. 10

    현재 내용을 덮어 쓰지 않고 파일에 쓰는 방법은 무엇입니까?

  11. 11

    편집을 위해 잠금을 덮어 쓰는 방법은 무엇입니까?

  12. 12

    덮어 쓰지 않고 로그 파일에 콘텐츠를 추가하는 방법은 무엇입니까?

  13. 13

    writefile () 호출에 사용되는 파일을 덮어 쓰거나 삭제하는 방법은 무엇입니까?

  14. 14

    writefile () 호출에 사용되는 파일을 덮어 쓰거나 삭제하는 방법은 무엇입니까?

  15. 15

    명령을 사용하여 FTP를 통해 파일을 덮어 쓰는 방법은 무엇입니까?

  16. 16

    automake가 _DATA 파일을 덮어 쓰는 것을 방지하는 방법

  17. 17

    파이썬 스크립트 파일에서 일부 할당을 덮어 쓰는 방법은 무엇입니까?

  18. 18

    HotSpot JVM이 힙 덤프 파일을 덮어 쓰도록 강제하는 방법은 무엇입니까?

  19. 19

    Maven을 통해 우선 순위가 낮은 리소스 파일을 덮어 쓰는 방법은 무엇입니까?

  20. 20

    API 경로 이름을 덮어 쓰는 방법은 무엇입니까?

  21. 21

    Django 앱을 Pythonanywhere로 덮어 쓰는 방법은 무엇입니까?

  22. 22

    sftp put : 실수로 파일을 덮어 쓰는 것을 방지하는 방법

  23. 23

    덮어 쓰지 않고 R의 기존 파일에 추가하는 방법은 무엇입니까?

  24. 24

    Proguard가 매니페스트 파일을 덮어 쓰는 것을 방지하는 방법

  25. 25

    각 항목을 덮어 쓰지 않고 하위 사전을 만드는 방법은 무엇입니까?

  26. 26

    Evince로 주석이 달린 파일을 저장 / 덮어 쓰는 방법은 무엇입니까?

  27. 27

    Evince로 주석이 달린 파일을 저장 / 덮어 쓰는 방법은 무엇입니까?

  28. 28

    Evince로 주석이 달린 파일을 저장 / 덮어 쓰는 방법은 무엇입니까?

  29. 29

    Pandas 시리즈의 값을 덮어 쓰는 방법은 무엇입니까?

뜨겁다태그

보관