同じマシンに入った Windows と Linux でクロスプラットフォーム対応のアプリケーションを開発していると、コンパイルのためにコードをいちいちコピーするのは面倒。片方でガリガリ書き進めたコードを、誤ってもう片方のコードで上書きしてしまったり。 そこで、ソースコード自体は Windows 側に置き、 make がどちらの OS で実行されたかによって、生成ファイルの格納されるディレクトリを分けることにした。 で、 Makefile はこんな感じ。 ifeq ($(OS),Windows_NT) # Windows 上で実行された include Makefile.win else include Makefile.lin endif それぞれファイルを分けておき、環境変数の内容で条件分岐させてその内容を取り込んでいる。