2016-08-22 14 views
0

私たちは現在、古くからのバッチスクリプトから、NMakeを使用してmakefileシステムにアップグレードしています。 C++に変換される最終的な中間言語を使用しているため、翻訳者の中にはファイル名に共通する部分を持つ10個のファイルを生成することができるところがあります。もう1つの難しい点は、CSVファイルを使用してインターフェイスを設定することです。これらのファイルは、より多くのソースコードファイルを生成する設定ツールに渡されます。今私は設定ファイルのための単純なルールを作成することに焦点を当てていますが、依存関係が存在する場合、依存関係をルールに関連付ける方法を見つけることはできません。私は$(ワイルドカードxxx.csv)を使用しようとしましたが、GNU MakeのようにこのコマンドがNMakeのために存在しないことを発見しました。NMakeオプションの依存関係

これは、常に存在する2つの依存関係のcsvファイルと、プロジェクトが呼び出すときにのみ存在する3番目のcsvファイルがある場合に、コマンドを実行して実行するようにルールを作成する方法です。

答えて

0

[..]私のプロジェクトがそれを要求したときだけ存在するでしょうか?

これは少し不明です。いくつかの外部の状況に応じて - - というコマンドがあると仮定すると、第3 CSVファイルを生成することがあります、あなたは「スタンプのファイルを」使用することができます(私は、彼らがNMAKEで「擬似ターゲット」と呼んだと思う):申し訳ありません

stamp: 
    command_that_might_generate_csv3 
    touch stamp # updates timestamp of "stamp" (or creates it) 

target: csv1 csv2 stamp 
    command_using_all_of csv1 csv2 csv3 
+0

、それは曖昧です。私はそれを明らかにする。私は、このツールセットを使用している複数のプロジェクトでこのmakefileを使用できるように、このmakefileを一般的なものにしたいと考えています。プロジェクト固有のものがあれば、別のファイルに移動します。そのため、当社のシステムには、当社がラックに接続したカードに応じてシステムを構成するために使用される定義済みのCSVファイルが設定されています。少数のCSVファイルが存在しなければならず、関連するハードウェアが使用される場合にのみ存在する必要があります。うまくいけばそれは理にかなっている – Talguy