IT_World

[Go lang] shell 창에서 man Makefile 실행 본문

Programming language/go lang

[Go lang] shell 창에서 man Makefile 실행

engine 2021. 10. 1. 10:37

NAME

make - GNU make utility to maintain groups of programs

make - GNU는 프로그램 그룹을 유지하기 위한 유틸리티를 만듭니다.

SYNOPSIS

make [OPTION]... [TARGET]...

 

DESCRIPTION

The make utility will determine automatically which pieces of a large program need to be recompiled, and issue the commands to recompile them. The manual describes the GNU implementation of make, which was written by Richard Stallman and Roland McGrath, and is currently maintained by Paul Smith. Our examples show C programs, since they are very common, but you can use make with any programming language whose compiler can be run with a shell command. In fact, make is not limited to programs. You can use it to describe any task where some files must be updated automatically from others whenever the oth‐ ers change.

make 유틸리티는 대형 프로그램의 어떤 부분을 재컴파일해야 하는지 자동으로 결정하고 이를 재컴파일하는 명령을 실행합니다.

이 매뉴얼은 Richard Stallman과 Roland McGrath가 작성하고 현재 Paul Smith가 관리하고 있는 make의 GNU 구현에 대해 설명합니다. 예는 C 프로그램이 매우 일반적이기 때문에 보여주지만, 쉘 명령으로 컴파일러를 실행할 수 있는 모든 프로그래밍 언어와 함께 make를 사용할 수 있습니다. 사실 make는 프로그램에 국한되지 않습니다. 다른 파일이 변경될 때마다 다른 파일에서 자동으로 업데이트되어야 하는 작업을 설명하는 데 사용할 수 있습니다.

 

To prepare to use make, you must write a file called the makefile that describes the relationships among files in your pro‐ gram, and the states the commands for updating each file. In a program, typically the executable file is updated from object files, which are in turn made by compiling source files. Once a suitable makefile exists, each time you change some source files, this simple shell command:

make 사용을 준비하려면 프로그램에 있는 파일 간의 관계를 설명하고 각 파일을 업데이트하기 위한 명령을 설명하는 makefile이라는 파일을 작성해야 합니다. 프로그램에서 일반적으로 실행 파일은 소스 파일을 컴파일하여 만든 개체 파일에서 업데이트됩니다.

 

 

make

 

suffices to perform all necessary recompilations.

The make program uses the makefile description and the last-modification times of the files to decide which of the files need to be updated.

make 프로그램은 makefile 설명과 파일의 마지막 수정 시간을 사용하여 업데이트해야 할 파일을 결정합니다.


For each of those files, it issues the commands recorded in the makefile.

make executes commands in the makefile to update one or more target names, where name is typically a program.

If no -f option is present, make will look for the makefiles GNUmakefile, makefile, and Makefile, in that order.

Normally you should call your makefile either makefile or Makefile.

(We recommend Makefile because it appears prominently near the beginning of a directory listing, right near other important files such as README.)

 

각 파일에 대해 makefile에 기록된 명령을 실행합니다.

make는 makefile에서 명령을 실행하여 하나 이상의 대상 이름을 업데이트합니다. 여기서 name은 일반적으로 프로그램입니다.

-f 옵션이 없으면 make는 GNUmakefile, makefile 및 Makefile을 순서대로 makefile을 찾습니다. 일반적으로 makefile을 makefile 또는 Makefile로 호출해야 합니다.

(Makefile은 디렉토리 목록의 시작 부분, README와 같은 다른 중요한 파일 바로 옆에 눈에 띄게 나타나기 때문에 권장합니다.)

 

The first name checked, GNU‐ makefile, is not recommended for most makefiles. You should use this name if you have a makefile that is specific to GNU make, and will not be understood by other versions of make. If makefile is '-', the standard input is read. make updates a target if it depends on prerequisite files that have been modified since the target was last modified, or if the target does not exist.

 

확인된 이름인 GNUmakefile은 대부분의 makefile에 권장되지 않습니다. GNU make에 특정한 makefile이 있고 다른 make 버전에서는 이해할 수 없는 경우 이 이름을 사용해야 합니다. makefile이 '-'이면 표준 입력을 읽습니다. 대상이 마지막으로 수정된 이후 수정된 전제 조건 파일에 의존하거나 대상이 존재하지 않는 경우 make는 대상을 업데이트합니다.

 

OPTIONS

-b, -m

These options are ignored for compatibility with other versions of make.

옵션은 make의 다른 버전과의 호환성을 위해 무시됩니다.

 

-B, --always-make

Unconditionally make all targets.

무조건 모든 대상을 만듭니다.

 

-C dir, --directory=dir

Change to directory dir before reading the makefiles or doing anything else. If multiple -C options are specified, each is interpreted relative to the previous one: -C / -C etc is equivalent to -C /etc. This is typically used with recursive invocations of make.

makefile을 읽거나 다른 작업을 수행하기 전에 디렉토리 dir로 변경하십시오. 여러 -C 옵션이 지정되면 각각은 이전 옵션에 상대적으로 해석됩니다.(-C / -C etc 와 -C /etc 동일 )일반적으로 make의 재귀 호출과 함께 사용됩니다.


-d

Print debugging information in addition to normal processing.

The debugging information says which files are being considered for remaking, which file-times are being compared and with what results, which files actually need to be remade, which implicit rules are considered and which are applied---everything interesting about how make decides what to do.

일반 처리 외에 디버깅 정보를 인쇄합니다.
디버깅 정보는 어떤 파일이 재작성을 위해 고려되고 있는지, 어떤 파일 시간이 비교되고 어떤 결과와 어떤 결과가 있는지, 어떤 파일이 실제로 재작성되어야 하는지, 어떤 묵시적 규칙이 고려되고 어떤 것이 적용되는지를 알려줍니다. 

 

--debug[=FLAGS]

Print debugging information in addition to normal processing. If the FLAGS are omitted, then the behavior is the same as if -d was specified.  FLAGS may be a for all debugging output (same as using -d), b for basic debugging, v for more verbose basic debugging, i for showing implicit rules, j for details on invocation of commands, and m for debugging while remaking makefiles.

Use n to disable all previous debugging flags.

일반 처리 외에 디버깅 정보를 인쇄합니다. FLAGS가 생략된 경우 동작은 -d가 지정된 경우와 동일합니다. FLAGS는 모든 디버깅 출력(-d 사용과 동일), b는 기본 디버깅, v는 더 자세한 기본 디버깅, i는 암시적 규칙 표시, j는 명령 호출에 대한 세부 정보, m은 makefile을 다시 만드는 동안 디버깅할 수 있습니다.

 

-e, --environment-overrides

Give variables taken from the environment precedence over variables from makefiles.

환경에서 가져온 변수를 makefile의 변수보다 우선시하십시오.

 

-f file, --file=file, --makefile=FILE

Use file as a makefile.

파일을 makefile로 사용합니다.

 

-i, --ignore-errors

Ignore all errors in commands executed to remake files.

파일을 다시 만들기 위해 실행된 명령의 모든 오류를 무시합니다.

 

-I dir, --include-dir=dir Specifies a directory dir to search for included makefiles.

If several -I options are used to specify several direc‐ tories, the directories are searched in the order specified.

Unlike the arguments to other flags of make, directories given with -I flags may come directly after the flag: -Idir is allowed, as well as -I dir. This syntax is allowed for compatibility with the C preprocessor's -I flag.

여러 디렉터리를 지정하기 위해 여러 -I 옵션을 사용하는 경우 디렉터리는 지정된 순서대로 검색됩니다.
make의 다른 플래그에 대한 인수와 달리 -I 플래그로 지정된 디렉토리는 플래그 바로 뒤에 올 수 있습니다. -Idir뿐만 아니라 -I dir도 허용됩니다. 이 구문은 C 전처리기의 -I 플래그와의 호환성을 위해 허용됩니다.

 

-j [jobs], --jobs[=jobs]

Specifies the number of jobs (commands) to run simultaneously. If there is more than one -j option, the last one is effective. If the -j option is given without an argument, make will not limit the number of jobs that can run simul‐ taneously.

동시에 실행할 작업(명령)의 수를 지정합니다. -j 옵션이 두 개 이상 있으면 마지막 옵션이 유효합니다. -j 옵션이 인수 없이 주어지면 make는 동시에 실행할 수 있는 작업의 수를 제한하지 않습니다.

 

-k, --keep-going

Continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.

오류 후 가능한 한 계속하십시오. 실패한 대상과 이에 종속된 대상은 다시 만들 수 없지만 이러한 대상의 다른 종속성은 모두 동일하게 처리될 수 있습니다.

 

-l [load], --load-average[=load]

Specifies that no new jobs (commands) should be started if there are others jobs running and the load average is at least load (a floating-point number). With no argument, removes a previous load limit.

실행 중인 다른 작업이 있고 로드 평균이 로드(부동 소수점 숫자) 이상인 경우 새 작업(명령)이 시작되지 않도록 지정합니다. 인수가 없으면 이전 로드 제한을 제거합니다.

 

-L, --check-symlink-times

Use the latest mtime between symlinks and target.

-n, --just-print, --dry-run, --recon Print the commands that would be executed, but do not execute them (except in certain circumstances).

 

-o file, --old-file=file, --assume-old=file

Do not remake the file file even if it is older than its dependencies, and do not remake anything on account of changes in file. Essentially the file is treated as very old and its rules are ignored.

파일 파일이 종속성보다 오래되었더라도 다시 만들지 말고 파일 변경으로 인해 아무 것도 다시 만들지 마십시오. 기본적으로 파일은 매우 오래된 것으로 처리되고 해당 규칙은 무시됩니다.

 

-O[type], --output-sync[=type]

When running multiple jobs in parallel with -j, ensure the output of each job is collected together rather than inter‐ spersed with output from other jobs. If type is not specified or is target the output from the entire recipe for each target is grouped together. If type is line the output from each command line within a recipe is grouped together.

If type is recurse output from an entire recursive make is grouped together. If type is none output synchronization is disabled.

-j와 병렬로 여러 작업을 실행할 때 각 작업의 출력이 다른 작업의 출력과 산재되지 않고 함께 수집되는지 확인합니다. 유형이 지정되지 않았거나 대상인 경우 각 대상에 대한 전체 레시피의 출력이 함께 그룹화됩니다. type이 line이면 레시피 내 각 명령줄의 출력은 함께 그룹화됩니다. 유형이 재귀인 경우 전체 재귀 make의 출력이 함께 그룹화됩니다. 유형이 없음이면 출력 동기화가 비활성화됩니다.

 

-p, --print-data-base

Print the data base (rules and variable values) that results from reading the makefiles; then execute as usual or as otherwise specified. This also prints the version information given by the -v switch (see below). To print the data base without trying to remake any files, use make -p -f/dev/null.

메이크파일을 읽은 결과 데이터베이스(규칙 및 변수 값)를 인쇄합니다. 그런 다음 평소와 같이 또는 달리 지정된 대로 실행합니다.
이것은 또한 -v 스위치에 의해 제공된 버전 정보를 인쇄합니다(아래 참조).

파일을 다시 만들지 않고 데이터베이스를 인쇄하려면 make -p -f/dev/null을 사용하십시오.

 

-q, --question

``Question mode''. Do not run any commands, or print anything; just return an exit status that is zero if the speci‐ fied targets are already up to date, nonzero otherwise.

명령을 실행하거나 아무 것도 인쇄하지 마십시오. 지정된 대상이 이미 최신 상태이면 종료 상태를 0으로 반환하고 그렇지 않으면 0이 아닌 값을 반환합니다.

 

-r, --no-builtin-rules

Eliminate use of the built-in implicit rules. Also clear out the default list of suffixes for suffix rules. -R, --no-builtin-variables Don't define any built-in variables.

내장된 암시적 규칙의 사용을 제거합니다. 또한 접미사 규칙에 대한 기본 접미사 목록을 지웁니다. -R, --no-builtin-variables 내장 변수를 정의하지 마십시오.

 

-s, --silent, --quiet

Silent operation; do not print the commands as they are executed.

조용한 작동; 명령이 실행될 때 인쇄하지 마십시오.

 

-S, --no-keep-going, --stop

Cancel the effect of the -k option. This is never necessary except in a recursive make where -k might be inherited from the top-level make via MAKEFLAGS or if you set -k in MAKEFLAGS in your environment.

-k 옵션의 효과를 취소합니다. 이것은 -k가 MAKEFLAGS를 통해 최상위 make에서 상속될 수 있는 재귀적 make 또는 사용자 환경의 MAKEFLAGS에서 -k를 설정하는 경우를 제외하고는 절대 필요하지 않습니다.

 

-t, --touch

Touch files (mark them up to date without really changing them) instead of running their commands. This is used to pretend that the commands were done, in order to fool future invocations of make.

명령을 실행하는 대신 파일을 터치합니다(실제로 변경하지 않고 최신 상태로 표시). 이것은 make의 향후 호출을 속이기 위해 명령이 완료된 것처럼 가장하는 데 사용됩니다.

 

--trace

Information about the disposition of each target is printed (why the target is being rebuilt and what commands are run to rebuild it).

각 대상의 처리에 대한 정보가 인쇄됩니다(대상이 재구축되는 이유와 대상을 재구축하기 위해 실행되는 명령).

 

-v, --version

Print the version of the make program plus a copyright, a list of authors and a notice that there is no warranty.

make 프로그램의 버전과 저작권, 저자 목록 및 보증이 없다는 고지를 인쇄하십시오.

 

-w, --print-directory

Print a message containing the working directory before and after other processing. This may be useful for tracking down errors from complicated nests of recursive make commands.

다른 처리 전후에 작업 디렉토리를 포함하는 메시지를 인쇄하십시오. 이것은 재귀 make 명령의 복잡한 중첩에서 오류를 추적하는 데 유용할 수 있습니다.

 

--no-print-directory

Turn off -w, even if it was turned on implicitly.

암시적으로 켜져 있더라도 -w를 끕니다.

 

-W file, --what-if=file, --new-file=file, --assume-new=file

Pretend that the target file has just been modified. When used with the -n flag, this shows you what would happen if you were to modify that file. Without -n, it is almost the same as running a touch command on the given file before running make, except that the modification time is changed only in the imagination of make.

대상 파일이 방금 수정되었다고 가정하십시오. -n 플래그와 함께 사용하면 해당 파일을 수정하면 어떻게 되는지 보여줍니다. -n이 없으면 수정 시간이 make의 상상 속에서만 변경된다는 점을 제외하고는 make를 실행하기 전에 주어진 파일에 대해 터치 명령을 실행하는 것과 거의 같습니다.

 

--warn-undefined-variables

Warn when an undefined variable is referenced.

정의되지 않은 변수가 참조될 때 경고합니다.

 

EXIT STATUS

GNU make exits with a status of zero if all makefiles were successfully parsed and no targets that were built failed. A status of one will be returned if the -q flag was used and make determines that a target needs to be rebuilt. A status of two will be returned if any errors were encountered.

GNU make는 모든 makefile이 성공적으로 구문 분석되고 빌드된 대상이 실패하지 않은 경우 0 상태로 종료됩니다. -q 플래그가 사용되고 make가 대상을 다시 빌드해야 한다고 결정하면 상태 1이 반환됩니다. 오류가 발생하면 상태 2가 반환됩니다.

 

SEE ALSO

The full documentation for make is maintained as a Texinfo manual. If the info and make programs are properly installed at your site, the command : info make

should give you access to the complete manual.

make에 대한 전체 문서는 Texinfo 매뉴얼로 유지됩니다.
info 및 make 프로그램이 사이트에 제대로 설치되어 있으면 명령 : into make
전체 설명서에 액세스할 수 있어야 합니다.

 

 

http://www.gnu.org/licenses/

 

Licenses - GNU Project - Free Software Foundation

Licenses Published software should be free software. To make it free software, you need to release it under a free software license. We normally use the GNU General Public License (GNU GPL), specifying version 3 or any later version, but occasionally we us

www.gnu.org

 

 

Comments