Oracle Solaris Studio 12.2: C ユーザーガイド

B.2.128.9 プリコンパイル済みヘッダーファイルの依存関係と make ファイル

-xpch=collect が指定されている場合、コンパイラはプリコンパイル済みヘッダーファイル用の依存関係情報を生成します。この依存関係情報を利用するには、メイクファイル内に適切な規則を作成する必要があります。次のメイクファイルの例を考えてみてください。


%.o : %.c shared.cpch
         $(CC) -xpch=use:shared -xpchstop=foo.h -c $<
default : a.out

foo.o + shared.cpch : foo.c
         $(CC) -xpch=collect:shared -xpchstop=foo.h foo.c -c

a.out : foo.o bar.o foobar.o
         $(CC) foo.o bar.o foobar.o

clean :
         rm -f *.o shared.cpch .make.state a.out

コンパイラによって生成された依存関係情報とともに、これらの make 規則があると、-xpch=collect で使用されたソースファイル、またはプリコンパイル済みヘッダーファイルを構成するヘッダーのどれかに変更があった場合、手動で作成されたプリコンパイル済みヘッダーファイルが強制的に再作成されます。これにより、古いプリコンパイル済みヘッダーファイルの使用が防止されます。

-xpch=auto または -xpch=autofirst の場合、メイクファイルに追加の make 規則を作成する必要はありません。