메이크 파일이란 무엇이며 어떻게 만들 수 있습니까?


8

나는 이것이 어리석은 질문이라는 것을 알고 있지만, 나 자신이 리눅스를 배우기 위해 열심히 노력하고 있기 때문에 동료들로부터 도움이 필요하다.

인터넷 에서이 작업을 찾았고 해결하려고하지만 Linux에서 makefile을 어떻게 사용하고 어떻게 만들 수 있는지 정확히 이해하지 못합니다.

내 인쇄 작업 디렉토리가 있다고 가정 해 봅시다. /home/george/Documents

다음을 수행하는 makefile을 작성하고 싶습니다.

  1. "안녕하세요, 오늘은 일요일입니다"라는 메시지를 표시합니다. 일요일은 일요일에서옵니다. 따라서이 datemake 파일에서 명령을 사용 하여 처음 세 글자 만 표시 해야합니다 .
  2. 압축 /etc/hosts/tmp사용 gzip아마 여기가 (같은해야한다

    gzip -c SOURCE DESTINATION # ?? 
    

건배


Makefile은 소프트웨어 개발 활동에서 소스 파일에서 오래된 오브젝트 파일을 선택적으로 빌드 할 수 있습니다. 그것은 당신이 할 일과는 아무런 관련이 없습니다.
enzotib

답변:


8

귀하의 질문에 대답하기 위해 모든 것을 다루기 때문에 한 줄 / 단락 답변을 줄 수 없습니다. 예제와 함께 필요한 모든 것이 있는 첫 번째 링크를 읽으 십시오 .

make에 관한 모든 것을 설명 할 수있는 좋은 튜토리얼


3
첫 번째 링크는 다음과 같아야합니다 mrbook.org/blog/tutorials/make
Shahryar Saljoughi

mrbook.org/blog/tutorials/make 튜토리얼은 오래된 C ++ 코드를 사용하고 더 이상 컴파일하지 않습니다. 이해하고 고치려면 이 질문 을 참조하십시오 .
David

연결이 끊어졌습니다.
ComputerScientist 15

2

Makefile은 C 프로그램 컴파일을위한 "맵"으로 사용됩니다. make유틸리티 와 함께 작동합니다. 실행 파일로 전환 된 후에 올바르게 작동하려면 프로그램을 컴파일 / 링크하는 방법을 설명합니다. 전역 UNIX / shell 작업의 경우 makefile이 아닌 쉘 스크립트를 찾고 있습니다. :)

참조 http://en.wikipedia.org/wiki/Make_(software)#Makefiles를 메이크 파일에 대한 자세한 내용 및 http://en.wikipedia.org/wiki/Shell_script을 쉘 스크립트를 발견 할 수 있습니다.

당신이하려는 일에 대한 기본 쉘 스크립트는 다음과 같습니다.

#!/bin/bash
echo "Hello world, today is $(date +%a)"
gzip -c SOURCE DESTINATION

파일이 보관하고 프롬프트 쉘을 사용하여 실행 ( bash myscript.sh, sh myscript.sh, ...). 다음을 사용하여 스크립트를 실행 가능하게 만들 수도 있습니다.

chmod +x myscript.sh

그런 다음 기본 인터프리터로 다음을 실행하십시오.

./myscript.sh

1
쉘 스크립트가 아닌 makefile을 만들려고합니다.
Adrian George

그런 다음이를 수행하는 C 프로그램을 개발하고 원하는 경우 Makefile을 사용하여 컴파일해야합니다. Makefile Linux 작업을 실행 하지 않으며 C 프로그램 컴파일을 안내합니다. 완전히 다른 것입니다.
John WH Smith

1
@JohnWHSmith C 프로그램 컴파일 에는 특별한 것이 없습니다 . Makefile 을 사용하여 다양한 작업을 수행 할 수 있습니다. (그렇게 말한다면, 많은 작업이 제대로 메이크의 사용에 적합합니다.)
엘리야 케이건에게

0

쉘 스크립트를 작성한 다음 작성한 쉘 스크립트를 가리키는 기호 링크를 작성하십시오. PATH에있는 디렉토리에 심볼릭 링크를 배치하면 사용자가 위치한 디렉토리에 관계없이 심볼릭 링크를 '실행'할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.