フラグを付けてmakeを実行すると、使用可能なすべてのコアが使用されますが、スレッドによってはスラッシュやその他の悪いことが発生することがあります。n-1コア用に1本のライナー?
代わりにn-1
コアを使用するにはどうすればいいですか(n>1
以外の場合は1)。
これよりもそれを行うための簡単な方法が存在しなければならない:
NJOBS=$((`getconf _NPROCESSORS_ONLN 2>/dev/null \
|| sysctl hw.ncpu \
|| echo 2` \
- 1))
:あなたはあなたのメイクがそれに渡された-jフラグを無効にしたい場合は
は、あなたのような何かを実行します。したがって、あなたのような何かを行うことができますall-capsは良い形式ではありません - 環境変数に関する[POSIX第7号の仕様](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html)を参照してください。名前はオペレーティングシステムとシェルにとって意味のある変数に使用され、少なくとも1つの小文字の名前はアプリケーション用に予約されています。シェル変数を設定すると、同じ名前の環境変数が上書きされるため、この慣例も同様に適用されます。 –
それほど簡単ではないソリューションでも、 'n = 1'の場合や何かが欠けていますか? – 5gon12eder