Finder에서 Makefile 실행


8

필자는 종종 컴파일이 시험되는 다양한 프로젝트 (LaTeX 기사, 프로그래밍 자료)의 소스 디렉토리에서 Finder를 사용하여 여행합니다 Makefile. makeFinder에서 직접 좋은 디렉토리에 해당 명령 ( ) 을 호출하는 간단한 방법 (서비스 메뉴, Automator)이 있는지 궁금합니다 (뭔가 마우스 오른쪽 버튼으로 클릭).

OS X 10.8을 실행하고 있습니다.

귀하의 제안에 미리 감사드립니다


확실하지 약 100 % 파인더 make당신은 터미널 창을 열고 입력 할 수 -ing,하지만 make를 드래그 한 후 Makefile그 경로를 복사 터미널에.
2rs2ts

1
@ 2rs2ts,이 방법으로 이동하면 make -C 을 드래그하기 전에 입력 하십시오 Makefile.
lhf 2016 년

@lhf 아 물론입니다.
2rs2ts 2016 년

1
@ 2rs2ts에 추가하면 아마도 터미널이나 편집기에서 make가 오류 메시지를
보길 원할 것입니다.

답변:


3

다음과 같은 기능을 사용할 수 있습니다.

fmake() {
  cd "$(osascript -e 'tell application "Finder"
      POSIX path of (target of Finder window 1 as alias)
  end tell' 2> /dev/null)"
  make && make install
}

또는 cd 명령에 대해서만 함수를 저장하고 history-search-backward를 사용하여 다음과 같이 실행하십시오 cdf && make && make install.

또는 Automator를 열고 서비스 템플릿을 선택하고 입력 유형을 입력 안 함으로 설정 한 후 다음과 같이 AppleScript 실행 동작을 추가하십시오.

try
    tell application "Finder"
        POSIX path of (target of Finder window 1 as alias)
    end tell
    tell application "Terminal"
        do script "cd " & quoted form of result & " && make && make install"
        activate
    end tell
end

try 블록이 없으면 Automator는 스크립트가 오류와 함께 종료되면 오류 대화 상자를 표시합니다.


또한 stdout과 std를 파이프하여 오류를 보거나 오류 로그가 어디에 있는지
묻습니다.

0

인정, 이것은 서투른 방법이지만 아무것도 아닌 것보다 낫습니다.

makeit.command라는 텍스트 파일을 만들고 한 줄의 텍스트를 넣으십시오.

make

그런 다음 파일을 chomod하십시오 755

chmod 755 makeit.command 

make를 실행하려면 해당 폴더로 드래그 / 복사 한 다음 두 번 클릭하십시오.


1
이 경우 현재 디렉토리는 무엇입니까? 나는 메이크업 아마 실패 할 것이다, 그래서는 메이크 파일이 어디있을 것이다 생각하지 않는다
user151019

0

#!/usr/bin/make -f첫 번째 줄로 추가 Makefile하고 실행 가능하게 만들었지 만 올바른 폴더에서 실행되지 않습니다. 그래서 The-Dood의 대답에 따라 해결책을 찾았습니다.

터미널을 열고 투사하고있는 폴더로 이동 Makefile한 후 다음을 입력하십시오.

cat <<EOF > Makeit
make -C `dirname $_`
echo 'Press enter to continue'
read
EOF
chmod +x Makeit

이제 두 번 클릭하면 같은 폴더에서 Makeit호출 make됩니다. 원하는대로 호출 make하거나 편집 할 때 다른 인수를 추가 할 수 있습니다 Makeit.

이 솔루션은 작동하지만 Makeit각 폴더에 사본이 필요하므로 매우 편리하지 않을 수 있습니다 .


0

Lauri Ranta의 AppleScript 답변이 마음에 듭니다. 나는 Finder를 사용하여 폴더를 찾고 Finder에서 선택한 디렉토리에 git 저장소를 만들 수있는 그런 일을하고있었습니다.

폴더에서 make 명령을 호출 할 위치를 알 수 있습니다.

Finder의 GUI를 사용하는 것이 좋으며 선택한 디렉토리로 많은 일을하고 싶을 것 같습니다.

선택한 디렉토리에 연결

이 Automator 서비스는 AppleScript 내부의 디렉토리에 대한 모든 종류의 명령을 실행하는 것보다 일반적이며 원하는 쉘 명령을 입력 할 수 있습니다.

--- 편집하다 ---

죄송합니다. 위의 게시물이 원래 질문에 대한 답변이 아닙니다. 다음은 Finder에서 선택한 디렉토리에서 make 명령을 실행하는 서비스로 저장된 Automator 워크 플로우에 대한 링크입니다.

Make Run

이 새로운 서비스를 사용해 보았는데 때때로 "make"쉘 명령을 수행하고 싶을 수도 있고 "make && make install"쉘 명령을 수행하고 싶을 수도 있기 때문에 마음에 들지 않았습니다. 다른 목표 "만들기"또는 무언가를 만드십시오. 그렇기 때문에 "선택한 디렉토리에 연결"이라는 서비스가 가장 적합하다고 생각했습니다.


이것이 일반적인 의견이지만 정확한 답변은 아닌 것으로 보이는 질문에 어떻게 대답합니까?
user151019

죄송 해요. 다운로드 할 때 서비스로 설치되는 완성 된 코드에 대한 링크를 정확하게 제공하려고했습니다.
Kaydell

두 번째 서비스와 동일한 기능을 수행하는 사전 설치된 서비스 (폴더의 새 터미널)가 이미 있습니다.
Lri

@ "Lauri Ranta"감사합니다. 당신은 확실히 지식이 있습니다. "폴더의 새 터미널"서비스가 작동하지 않습니다. ".bash_profile"에 기본 디렉토리를 설정했기 때문입니다. 어떤 이유로 든 내 서비스 : "선택한 디렉토리에 연결"이 작동하지만 서비스 : "폴더의 새 터미널"은 Terminal.app를 열지 만 현재 디렉토리를 올바르게 설정하지는 않습니다. ".bash_profile"에 설정된 현재 디렉토리가 있습니다.
Kaydell
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.