Pythonでmakefileを作る|女子大生エンジニアの備忘録 #3

こんにちは、鈴です。

 

今回はPython言語でのmakefileの作成方法についてです。

 

前回の記事はこちらから↓

 

riririririn.hatenablog.com

 

 

前置きは省略して早速本題に行きましょう。

 

 

makefileとは

ターミナル(コマンドプロンプト)でのコマンド入力を自動化できるファイルです。

 

実行したいファイルがあるディレクトリに"makefile"という名前のファイルを作成し、その中にコマンドを記述するだけで一括で実行できるので、非常に便利です。

 

本来はC言語のようにコンパイルが必要な言語において利用されていますが、Pythonでも作成することができます。

 

基本的には

$ make (option)

と打ち込むことで実行できます。

 

option内に特定のワードを打ち込むことで自動で行うコマンドを分岐させることができます(後述)。

 

makeだけでも実行可能です。

 

 

書き方の例

ここからはコード形式で書き方の例を示します。

コメントで概要は書いてありますが、見にくいかもしれないので箇条書きで同じ説明を書いておきます。

 

f:id:riririririn:20211128001258p:plain

Pythonで作成したmakefile
  • Pythonと同じく#でコメントを書くことができます
  • 変数名?= で入力を受け取ることができます
  • $ make VER=10 EX=2 のような形式で記述します
  • $ make の場合はmakefile内に記述しているデフォルトの値になります
  • 変数名= で入力を受け取らない変数を作ることもできます
  • ${EX}の形式でEXの値を埋め込むことができます
  • 変数の中に埋め込むこともできるので結構便利です
  • $ make のみを打ち込むとdefault: 以下のコマンドが実行されます
  • 実行コマンドを分岐させるには.PHONY: 以下に分岐に使用する名前を書きます
  • $ make question と記述することでquestion: 以下のコマンドが実行されます

 

ファイル構造

f:id:riririririn:20211128001139p:plain

ディレクトリ内の構造

上の画像を見るとファイル構造がわかるようになっているので、makefileの記述と照らし合わせて見てもらえればどのように実行しているかわかると思います。

 

 

余談

 

卒業研究でシステム構築に取り組んでいるため、そのテストにmakefileを使用することでかなり作業を効率化できているな〜と感じます。

 

Pythonmakefileを作る記事が検索であまりヒットしなかったため(私が怠惰なだけなのかもしれませんが・・・)試行錯誤してこのような形になりました。

 

いかにして本質的でない作業の負担を減らすか、が効率化の鍵だなあとしみじみ。

 

一人前のエンジニアになるにはまだまだ時間がかかりそうです。

 

次の記事はこちらから↓

 

riririririn.hatenablog.com

 

 

では。