.../articles/
Makefile小ネタ

Makefile小ネタ

2019.10.24

最近 make をタスクランナーとして使うようになりました。

きっかけはGolangを使い始めた時にみんなのGo言語を読んだことです。(改訂2版でましたね)

最近は割となんでも make に記述するようになってきましたが、その中でこれは使えるなと思った小ネタを紹介します。


タスクによっては何かをデプロイしたり削除したりすることがあるかと思います。

例えば以下のように serious-task というタスクが定義されているとします。

.PHONY: serious-task
serious-task:
	something-serious

このとき make serious-task を実行すると直接 something-serious が実行されてしまいますが、タスクの内容によっては間違って実行されないようになっていて欲しいことがあります。

なにかいい方法はないかと思って見つけたのが以下のQuestion。

これを参考に confirmation というタスクを以下のように定義しました。

.PHONY: confirmation
confirmation:
	@read -p "Are you serious? [y/N]: " ans && [ $${ans:-N} = y ] || (echo "You’re kidding me."; exit 1)

confirmationy という入力を受け取ったときのみ正常に終了します。

$ make confirmation
Are you serious? [y/N]: y

$ make confirmation
Are you serious? [y/N]: N
You’re kidding me.
make: *** [confirmation] Error 1

あとは confirmation を適宜実行するだけです

.PHONY: serious-task
serious-task:
	@$(MAKE) confirmation
	something-serious
$ make serious-task
Are you serious? [y/N]: y
something-serious

$ make serious-task
Are you serious? [y/N]: N
You’re kidding me.

これで明示的に y を入力した時のみ something-serious が実行されるようになりました。

written by

.../article/

Articles

記事

経営層・リーダーのための生成AI活用 〜自走型DXのためのアプローチ〜

経営層・リーダーのための生成AI活用 〜自走型DXのためのアプローチ〜

生成AIを活用して、経営者やリーダー自身が課題抽出・打ち手検討を行える体制を構築する。 弊社が提供する“伴走型支援”と組み合わせることで、DX推進の質とスピードを飛躍的に高める方法をご紹介します。

AWS AmplifyにmonorepoのNext.js(App Router)をデプロイする

AWS AmplifyにmonorepoのNext.js(App Router)をデプロイする

monorepo管理しているNext.jsをAmplifyにデプロイしようとした際にいくつか躓く内容があったのでまとめておきます。

Laravel 日本一解りやすい全文検索のマイグレーション記載方法解説

Laravel 日本一解りやすい全文検索のマイグレーション記載方法解説

Laravel + MySQLで全文検索を実装する

リモートワーク・オンライン会議でも、スムーズに制作を進めるために大切なこと[資料編]

リモートワーク・オンライン会議でも、スムーズに制作を進めるために大切なこと[資料編]

コロナ禍の影響により、リモートワークの導入をおこなっている制作会社も多く、実際に弊社でも導入しています。

売れるECサイトデザインを作るために。参考にしたいおしゃれな事例の探し方。

売れるECサイトデザインを作るために。参考にしたいおしゃれな事例の探し方。

売れるECサイトのデザインは、「この形式」という決まりはありません。ECサイトで売り上げを上げるなら、しっかりとしたコンセプトと、コンセプトを決定するまでのリサーチが必要です。

Figmaでデザインのコミット履歴を残せるプラグイン【Thought Recorder】をリリースしました

Figmaでデザインのコミット履歴を残せるプラグイン【Thought Recorder】をリリースしました

Figmaを利用するWebデザイナーの助けになれると嬉しいです。使い方は本記事をご覧ください。

制作会社の考える、業務効率化ツールのおすすめ。個人でも使いやすいサービスなど。

制作会社の考える、業務効率化ツールのおすすめ。個人でも使いやすいサービスなど。

新型コロナウイルス感染拡大の影響で、リモートワークが主流になり、弊社でも週のほとんどは各自宅で作業をしています。

ECの構築方法、おすすめのECサービス。

ECの構築方法、おすすめのECサービス。

ファッションや家電、スーパーの買い物でさえもECサイトを利用することが当たり前になりました。加えて新型コロナウイルスの影響もあり、弊社にも「どんなプラットフォームを利用したら良いか」「どれくらいコストがかかるのか」などECに関するさまざまなご相談を頂きます。

Laravelのオブザーバーが便利だった

Laravelのオブザーバーが便利だった

オブザーバーを使って、モデルのCRUDイベントキャッチしようという試み

DX(デジタルトランスフォーメーション)の全体像をざっくり解説

DX(デジタルトランスフォーメーション)の全体像をざっくり解説

もはやバズワードと化したDXという言葉ですが、実際何を意味しているのか? どのようなことをしたらいいのか? といったことを相談されるようになってきたので、DXをイメージするための全体像をざっくり解説します。

すべての記事

お問い合わせ