Ubuntu, Debian 또는 Red Hat으로 작업하는 경우 make라는 오류가 표시될 수 있습니다. *** 지정된 대상이 없고 makefile이 없습니다. 중지. 이것은 전체적으로 GNU Make와 관련된 일반적인 문제이기 때문에 수많은 Unix 구현에서 볼 수 있습니다. 현재 작업 디렉토리에 makefile 또는 Makefile이라는 파일이 없다는 의미입니다. 다행히도 쉽게 고칠 수 있는 오류입니다.
방법 1:현재 디렉토리에서 Makefile 찾기
make를 실행해 볼 수 있습니다. 현재 디렉토리에서 한 번 더 명령을 실행하여 동일한 오류가 발생하는지 확인하십시오. 이것은 새 터미널 창을 열고 이미 올바른 디렉토리를 찾으려고 시도한 경우 또는 마지막으로 GNU make를 실행하려고 시도한 이후로 cd 명령을 사용한 경우에 특히 중요합니다.
그렇다면 ls를 실행해 보세요. 또는 디렉터리 현재 디렉토리에 어떤 파일이 있는지 확인하는 명령입니다. 디렉토리 트리의 오른쪽 부분에 있지 않을 수 있습니다. 루트 / 디렉토리 또는 홈 ~ 디렉토리에 속한 디렉토리를 발견했다면 cd 명령을 실행하여 make 명령을 실행할 올바른 위치에 배치하고 싶을 것입니다.
예상했던 곳에서 더 멀리 떨어져 있는 자신을 발견할 가능성이 있습니다. 이 예에서는 /var/crash 디렉토리에서 make를 실행하려고 시도했지만 전혀 작동하지 않는다는 것을 발견했습니다. 이 특정 위치에 있는 유일한 파일은 관련 없는 충돌 보고서에서 가져온 것이기 때문에 여기에서 실행할 수 없습니다.
아마도 홈 디렉토리 내부 어딘가에 있는 디렉토리에서 make 명령을 실행하고 싶을 것입니다. 예를 들어, 소스에서 최신 버전의 GNU nano를 빌드했다면 아마도 ~/nano-2.9.6에 디렉토리가 있을 것입니다. 이 디렉토리는 cd로 이동한 다음 make를 다시 실행할 수 있습니다. ls을(를) 실행해 볼 수 있습니다. make를 시도하기 전에 빌드할 디렉토리 내에 makefile이 있는지 확인하십시오.
먼저 설치를 구성해야 합니다. configure 명령은 GNU 컴파일러가 번성할 수 있는 완벽한 환경을 만듭니다. 올바른 프로젝트 디렉토리에서도 makefile을 찾을 수 없다면 ./configure를 실행하세요. 아직 안에 있는 동안 make 명령. 이것이 올바르게 컴파일되면 sudo make install을 사용하여 프로젝트를 설치할 수 있습니다. , 그러나 루트로 아무것도 빌드하고 싶지 않으므로 sudo make 또는 설치 이외의 다른 것을 실행하고 싶지 않다는 것을 기억하십시오.
방법 2:사용자 지정 Makefile 지정
문제가 해결되었다고 가정하면 더 이상 수행할 작업이 없습니다. 그러나 이전 방법으로 문제가 해결되지 않은 경우 고려해야 할 두 가지 특별한 사용 사례가 있습니다. 이 두 가지 모두 수동으로 구성한 프로젝트에 대한 고유한 메이크파일을 작성하는 것과 관련이 있습니다.
-f 옵션을 사용하여 말 그대로 makefile이 아닌 다른 이름으로 불리는 맞춤 makefile을 지정할 수 있습니다. 예를 들어 makefile.bak이라는 백업 makefile이 있는 경우 make -f makefile.bak을 실행하여 지정할 수 있습니다. 명령줄에서. makefile.bak을 파일 이름으로 대체할 수 있으며 컴파일러가 실행되는 동안 사용자 지정 또는 오래된 makefile의 오류를 무시하려면 -i 옵션을 포함할 수 있습니다. 메이크파일에 문제가 있는 경우 수정해야 하기 때문에 일반적으로 권장하지 않습니다.
매우 밀접하게 관련된 다른 사용 사례는 대소문자 구분이 문제인 상황과 관련됩니다. 다음은 Unix 비즈니스 방식의 모든 개별 파일입니다.
- 메이크파일
- 메이크파일
- make파일
- MakeFile
- MakefileE
사용자 정의 구성 프로그램은 대문자가 홀수인 메이크파일을 인식하지 못할 수 있습니다. 작업 중인 코딩 프로젝트를 위해 손으로 작성한 경우 -i 옵션을 사용하여 GNU make가 찾을 수 있도록 할 수 있지만 이름을 makefile로 바꾸고 싶을 것입니다. 모든 것을 올바르게 작성했다면 우선 자신의 프로젝트에서 ./configure를 실행하여 강제로 올바른 환경을 생성하고 이 문제를 피할 수 있음을 기억하십시오.