ソースコードを整理するために #ifdef, #endif 他を削除したい場合、どうやるのか調べたところ
unifdef というコマンドがありました。
(Ubuntu 12.04 で確認)
1. unifdef をインストール
# apt-get install unifdef
2. カレントディレクトリ以下のソースをすべて処理したい場合のシェルスクリプト例
他にもエレガントな方法がありそうだが、ひとまずはこれで。
-DHOGEHOGE のところに unifdef のオプションを記述。
ちなみに rename コマンドは perl 版。
.svn ディレクトリを除外するようにしてます。
#!/bin/sh find . -type d -name ".svn" -prune -o -type f -exec unifdef -DHOGEHOGE {} -o {}.unifdef \; find . -name '*.unifdef' | xargs rename -f 's/\.unifdef$//'
● #if, #ifdef, #ifndef, #elif, #else, #endif, 一括, 削除, 処理, delete, unifdef, スクリプト