my notebook blog : Ubuntu
ファイルが存在している場合だけ処理する方法, ifでフロー制御 ( GNU Make )
たとえば、 patch.txt が存在していた場合だけ、patchを適用したい。存在していなければ何もしない そんな作業をする Makefile を書くには if を使えばよい。
GNU Makeでの if 関数による 実行制御
Makeでは、条件に応じて処理を変えられることが判明。 以下の例では、カレントディレクトリに index.html が 存在している場合は、proc-a マクロを実行、そうでない場合は proc-b マクロを実行します。
How to use diff and patch
ブログ構築システムをつくっていて、 ディレクトリの深さに応じて、パスの指定方法がちょっとだけ異なるテンプレートファイルを 使う必要が出てきた。 このテンプレートをコピーしていると共通部分に変更が生じたときに 全部のテンプレートを書き直す必要が生じてしまうので、diff と patch を 使って対処することに。
NTFSフォーマット済HDDをext3にフォーマットする方法(Linux ubuntu 8.10)
Ubuntuの場合、NTFSフォーマットにも対応しており接続すると自動的にマウントしてしてしまう。 今回のように、NTFSフォーマット済みディスクをext3フォーマットにしたい場合、結構やっかいだったので、覚え書きとして記録。
Makefileの中でワイルドカードを使ってファイルを指定する方法
カレントディレクトリに複数のXMLファイル (*.xml) があり、これをHTMLに変換したい。 このときMakeを使って、更新されたファイルだけ変換するようにしたいがどうすればいいか。
前提条件
- 変換コマンドは /bin/toHtml とする( 標準入力からXMLを入れて、標準出力にHTMLが出力される )
- xmlからhtmlに変換するときファイル名は拡張子以外は一致させる foo.xml → foo.html
- XMLファイルはどんどん増えていく