make

21世紀に新たにMakefileを書く意味はあるのか?

物心ついた頃は昭和で、十代まるまる20世紀だった地方民にとって、21世紀は「超音速原子力旅客機が飛び、潜水可能な豪華客船が航行し、海底の透明チューブの中を列車が走り、マイカーは自動運転でホバーで空だって飛べるさ」な時代になるはずだったのだが、…

CoffeeScript用のMakefile雛形4つ(GNU Make専用)

いやまあ普通は「Cakefile使えよ」となるのだろうけど……それでもメジャーでポピュラーなビルドツールといえばmake(1)で、数あるmake(1)の実装の中で一番人気なのはGNU Makeだと思うわけです。大概のLinuxディストリやMac OS Xのmakeの実体はGNU Makeだ。Free…

ごく普通なGNU Make活用例

2012年半ばぐらいから拡張機能ありでGNU Makeを使用するようになったが、makeの基本的なところを通り越したあたりの話題――実践の場にて各機能をどんな風に使用するかについての情報がなかなか見つからない。特に拡張機能の話題が少ない。仕方なくNetBSD Make…

LuaをVisual C++でビルドするMakefileを書いた

Visual Studioで開発しているアプリにLuaを組み込みたかったのだが、LuaBinariesのDLLはMinGWでビルドした代物で案の定使えなかったので、自前でビルドすることを決意した。という訳でLuaのライブラリ部分(静的ライブラリとDLL)のみをNMAKE + Visual C++…

Ubuntuを10.04から12.04にしたらfile(1)の出力内容が変わった

Ubuntu 10.04から12.04.1にアップグレードしたらfile(1)の出力内容が変わった。スクリプトファイルのテキストのエンコーディングを出力するようになったようだ。例えば10.04の頃の出力はこんな感じだった。 # Groovy 2.0.5付属の起動用シェルスクリプトで実…

JVMベースの言語処理系用にシンボリックリンクを張りなおすMakefile

Javaプラットフォームで動作する言語処理系を幾つかUbuntuに入れている。$HOME/langs以下に各処理系のアーカイブを伸張・展開しておき、付属の実行スクリプトへのシンボリックリンクを$HOME/binに作成して使用している。アーカイブを展開した後のディレクト…

GNU Makeで集合演算

GNU Makeはテキストを「空白区切りの単語の集合」として扱うことが比較的容易だ。組み込み関数*1を使うと簡単な集合演算を簡単に実現できる。 集合を作る 単純に空白区切りで単語を並べれば、GNU Makeではそれが集合となる。ただ組み込み関数を使う都合上、…

そろそろ剰余を使わないFizzBuzzについて一言(ry 時代遅れひとりFizzBuzz祭り 剰余無し編

FizzBuzzというニッチな市場*1において更にニッチな「剰余を使わない」分野ではあるものの、どうも需要があるようなので*2書いておく。ひとまず既存ネタから幾つか再録して解説する。それから新作を出そうと思う。 既存ネタ:「事前に答えを用意しておく」ア…

時代遅れひとりFizzBuzz祭り make編(gmakeでもpmakeでも書いてみせらあ。でもnmakeだけは勘弁な!)

時代遅れひとりFizzBuzz祭り、今回はまさかのmake。Makefileで粛々とFizzBuzzする日がくるだなんて2〜3日前には想像もしていなかった。というかmakeはプログラミング言語なのだろうか? OMakeぐらいのレベルならともかく、gmake(GNU Make)やpmake(NetBSD …