makeとsubによってコンパイルされる各ファイルに、一意の番号を割り当てようとしています。このために私はexport varName = 1
を使用してトップレベルのmakeに変数をエクスポートして、このサブメイクファイルが呼び出されたときに問題がvarName
が再び1
に初期化されメークファイルのグローバル変数
$(eval varName=$(shell echo $$(($(varName)+1))))
次を使用してコンパイルされた各.c
ファイルに対してインクリメントなっていますトップレベルのmakefile。
サブメークファイルを呼び出すときに最後に更新された値を保持するにはどうすればよいですか?
なぜこれをやりたいですか?より良い方法があるかもしれません。 –
標準の定義済みマクロ(__FILE__、__LINE__)に似たユーザー定義マクロを定義したいと考えています。 __FILE__マクロはファイル名を与えます。私はファイルの一意の整数値を与える__FILENUMBERのようなものを実装したいと思います。私はこの特定のCファイルを-DFILE_NUMBER = fileNumを使って割り当てることができます。ここで、fileNumは、Makeによってコンパイルされるファイルごとに異なります。その他の提案は大歓迎です。ありがとう –
'foo.c'がファイル番号35を取得した場合、それは に35番目のファイルであったことを意味し、その番号を' foo.o'にコンパイルしますか? 次回は、それがコンパイルされる168番目のファイルかもしれません。あるいは、まったくコンパイルされず、 'bar.c'は35番になります。だから、' foo.o'と 'bar.o'はどちらも35番です。私はその考え方がどういう意味か分かりません。 –