特定のプラットフォームでクロスコンパイルするために設計された比較的複雑なOMakeファイルのスイートがあります。私のソースはC++です。
私はWindowsからビルドしているので、名前にスペースが含まれているディレクトリをコンパイラに渡す必要があります。ファイルをコンパイルするためにコマンドラインに挿入されるincludes文字列を作成する方法は、次の行です。
public.PREFIXED_INCLUDES = $`(addprefix $(INCLUDES_OPT), $(set $(absname $(INCLUDES))))
OMakeファイルの他の時点で、次のような行があります。
INCLUDES += $(dir "$(LIBRARY_LOCATION)/Path with spaces/include")
コマンドラインの途中で、これは次のように展開されます。
-IC:\Library location with spaces\Path with spaces\include
私はそれを次のように拡張したいと思います:
-I"C:\Library location with spaces\Path with spaces\include"
可能であれば、「INCLUDES + = ...」行以外は変更したくありませんが、そのファイル内の他の何かを変更することもできます。PREFIXED_INCLUDESの定義を変更するようなことはしたくありません。これは、SDKの一部であるOMakeファイルのスイートに含まれているためです。これは可能ですか?もしそうなら、どうすればそれを行うことができますか?そうでない場合、小さなmakefileコード(できれば1行)を変更することで、スペースを含むインクルードが引用符で囲まれていることをどのように確認できますか?