34
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windows10環境でmakeコマンドを使用する方法【ハマリ回避】

Posted at

こういう記事があったのでやってみたのですが、残念ながら私の環境では動かなかったので備忘録を置いておきます。
また、MinGWと一緒に入れたmakeはうまく動きませんでした(後述)。
手間を惜しまず、おとなしくMake for Windowsを入れましょう。

手順

Make for Windowsのダウンロード

下記からダウンロードできます。
Make for Windows
「Complete package, except sources」を選択すればOKです。
2020-12-14_011606.png

インストール先をCドライブ直下に変更する

Program Filesフォルダにインストールすると、makeコマンドのパスにスペースが入ってうまく動かないようです。
具体的には、

syntax error near unexpected token ('

が出ます。
ですので、インストール先をCドライブ直下に変更しておきましょう。
2020-12-14_011948.png

makeコマンドを実行できるようにパスを通す

さて、インストールしただけでは、makeコマンドを実行できません。
コマンドプログラムがあるディレクトリにパスを通すことで、初めてmakeを実行できるようになります。
Windowsでパスを通す方法は色々なところで説明されていると思いますので、それを参考にするのがよいでしょう。

Cドライブ直下にMake for Windowsをインストールした場合は、
C:\GnuWin32\bin
をパスに追加することになります。
2020-12-14_012250.png

MinGWインストール時に入れたmakeが動かない件

MinGWをインストールする際にmsysを一緒にインストールするとmakeプログラムもインストールされますが、
この方法でインストールされたmakeは一部の組み込み変数の値がおかしくなっているようです。

具体的には$(MAKE)の内容が正しいパスになっていないみたいな問題が発生していました。
これによりcmakeで作ったMakefileを実行してもNo such file or directoryが出てしまい、ダメでした。

この件については色々調査しましたが、makeコマンド側の問題だと思われます。
実際、

all:
	@echo $(MAKE)

とだけ書いたMakefileファイルを用意してmakeコマンド実行したところ、
この$(MAKE)変数の中身が「PowerShell」や「コマンドプロンプト」では正しい値になっていないようでした。
「Git Bash」や「cygwin terminal」では正しい値になっていたのですけどね。
Windows用に最適化されていないからでしょうか。

なお、私はこれで2日ハマリました…。

34
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?