2016-11-10 1 views
0

選択:「$ @をD」依存ファイル名が自動生成されたことにより、どのようは自動的に命名し、次のメイクファイルの抜粋で依存関係ファイル

common.o : 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "[email protected]" -c miwt_os/dispatcher/common.cpp 
-include commono.o.d 

array_safe.o : 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "[email protected]" -c miwt_os/dispatcher/array_safe.cpp 
-include array_safe.o.d 

tstamp.o : 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "[email protected]" -c miwt_os/dispatcher/tstamp.cpp 
-include tstamp.o.d 

cbor_encoder.o : 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "[email protected]" -c miwt_os/coap/cbor_encoder.cpp 
-include cbor_encoder.o.d 

cbor_encoder_test.o : 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "[email protected]" -c miwt_os/coap/unittest/cbor_encoder_test.cpp 
-include cbor_encoder_test.o.d 

cbor_encoder_test : array_safe.o tstamp.o cbor_encoder_test.o cbor_encoder.o \ 
        common.o gmock_main.a 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o [email protected] 

お知らせしますが、それが含まれているときに、私がする必要はあり手動でファイルの依存関係の名前を入力します。依存関係ファイル名を自動的に生成する方法はありますか?

+0

すべての.dを特定のディレクトリに出力するには、 'dir/*。d' – John

答えて

2

あなたが代わりにそれらをインライン化、オブジェクトファイルのリストを含む変数を持っていた場合、それは些細なことですが:

OBJS = array_safe.o tstamp.o cbor_encoder_test.o cbor_encoder.o common.o 

-include $(addsuffix .d,$(OBJS)) 

cbor_encoder_test : $(OBJS) gmock_main.a 
     ... 

私は、自動生成されたヘッダファイルを扱うこの方法があることを指摘すべきです準最適。 better waysがあります。

関連する問題