2020年4月5日日曜日

GNU Make 4.1 (1)

$ make --version
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

makeは、versionが異なると細かい部分で異なるので注意が必要

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

makeは、makefileと呼ばれるファイルを読み込み、makefileに従い処理を行う。
makefileには、ビルドに必要な情報が書かれている。

makeを引数なしで実行すると
GNUmakefile, makefile, Makefileの順でファイルを探していく。
最初に見つかったファイルをmakefileとして処理する。

.dependがあれば読み込む。

$ make
make: *** No targets specified and no makefile found.  Stop.

$ touch GNUmakefile
$ make
make: *** No targets.  Stop.

$ echo hello: > makefile
$ make
make: *** No targets.  Stop.       # makefile でなくGNUmakefileが読み込まれる
$ cp makefile GNUmakefile 
$ make
make: Nothing to be done for 'hello'.

通常は、Makefileを使うことが推奨されている。
GNUmakefileは、GNU makeに限定される場合だけに使用する。

makeが上手く動作しない場合は、-dを付けて実行すると、原因がわかるかもしれない

概要   https://www.gnu.org/software/make/
マニュアルhttps://www.gnu.org/software/make/manual/
開発   http://savannah.gnu.org/projects/make/







0 件のコメント:

コメントを投稿