Sun Studio 12: C++ ユーザーズガイド

2.7.3 make の使用

make ユーティリティーは、Sun のすべてのコンパイラで簡単に使用できる非常に強力なプログラム開発ツールです。詳細については make(1S) のマニュアルページを参照してください。

2.7.3.1 make での CCFLAGS の使用

メイクファイルの暗黙のコンパイラ規則を使用する、つまり、C++ コンパイル行がない場合は、make プログラムによって CCFLAGS が自動的に使用されます。

2.7.3.2 メイクファイルへの接尾辞の追加

メイクファイルに別のファイルの接尾辞を追加すると、C++ にその接尾辞を取り込むことができます。次の例は、C++ ファイルに対する有効な接尾辞として .cpp を追加します。次のように、メイクファイルに SUFFIXES マクロを追加してください。

SUFFIXES: .cpp .cpp~

(この行は、メイクファイル内のどこにでも入れることができます)。

次の内容をメイクファイルに追加します。インデントされている行は、必ずタブでインデントしてください。


.cpp:
    $(LINK.cc) -o $@ $< $(LDLIBS)
.cpp~:
    $(GET) $(GFLAGS) -p $< > $*.cpp
    $(LINK.cc) -o $@ $*.cpp $(LDLIBS)
.cpp.o:
    $(COMPILE.cc) $(OUTPUT_OPTION) $<
.cpp~.o:
    $(GET) $(GFLAGS) -p $< > $*.cpp
    $(COMPILE.cc) $(OUTPUT_OPTION) $<
.cpp.a:
    $(COMPILE.cc) -o $% $<
    $(COMPILE.cc) -xar $@ $%
    $(RM) $%
.cpp~.a:
    $(GET) $(GFLAGS) -p $< > $*.cpp
    $(COMPILE.cc) -o $% $<
    $(COMPILE.cc) -xar $@ $%
    $(RM) $%

2.7.3.3 標準ライブラリヘッダーファイルに対する make の使用

標準ライブラリファイル名には、.h 接尾辞が付きません。 標準ライブラリファイルには、istreamfstream、というような名前が付きます。また、テンプレートのソースファイルは、istream.ccfstream.cc といった名前になります。