2016-05-02 5 views
2

タイトルには、いくつかの依存関係を持つPINツールをコンパイルする方法があります。たとえば、PINツールの#include "somefile.h"があり、オブジェクトファイルg++ -c somefile.cppが生成された場合、PINツールでその機能を使用できるように、オブジェクトファイルをPINツールとリンクするにはどうすればよいですか?依存関係を持つPINツールのコンパイル

+0

オブジェクトファイルはPin自体と同じランタイムでコンパイルする必要があります。 objファイルの生成方法を見て、Pintoolメイクファイルに同様の行を追加するには、いくつかのピンキットメイクファイルを見ることをお勧めします。 – nitzanms

答えて

3

だから私は、PINのウェブサイトhereの下に「makefile.rules」を変更する上でいくつかのドキュメントを見つけることができました。私の状況では、これらの6行以下が "makefile.rules"の最後に追加されます。別のメイクファイルから変更します

$(OBJDIR)"somefile"$(OBJ_SUFFIX): "somefile".cpp "somefile".h 
    $(CXX) $(TOOL_CXXFLAGS) $(COMP_OBJ)[email protected] $< 

$(OBJDIR)"PinFile"$(OBJ_SUFFIX): "pin_tool".cpp 
    $(CXX) $(TOOL_CXXFLAGS) $(COMP_OBJ)[email protected] $< 

$(OBJDIR)"pin_tool"$(PINTOOL_SUFFIX): $(OBJDIR)"somefile"$(OBJ_SUFFIX) $(OBJDIR)"PinFile"$(OBJ_SUFFIX) "somefile".h 
    $(LINKER) $(TOOL_LDFLAGS_NOOPT) $(LINK_EXE)[email protected] $(^:%.h=) $(TOOL_LPATHS) $(TOOL_LIBS) 

唯一のことは、私は引用符に入れて言葉だろう。実際の "makefile.rules"では引用符で囲まれた単語は引用符で囲まれてはならないことに注意してください。

2

あなたはあなたの「makefile.rules」の末尾に新しいルールが必要になります。

$(OBJDIR)YourPinToolMainFile$(PINTOOL_SUFFIX): $(OBJDIR)YourPinToolMainFile$(OBJ_SUFFIX) $(OBJDIR)somefile$(OBJ_SUFFIX) 
$(LINKER) $(TOOL_LDFLAGS) $(LINK_EXE)[email protected] $^ $(TOOL_LPATHS) $(TOOL_LIBS) 
関連する問題