私はhttp://llvm.org/docs/WritingAnLLVMPass.htmlで作業しており、非常に単純なパスを作成しようとしています。(関連するディレクトリに既に「hello」があるため、「hello」ではなく「Joe」を使用していると仮定します)
必要な場所に「joe」ディレクトリを作成し、提案されたcppファイルを「joe」に作成します(ただし、近くのディレクトリにはcppファイルが含まれていないことに注意してください)。「joe.cpp」という名前を付けます私が違うと言われたことを信じないでください...
「ローカル ディレクトリで単純な "gmake" コマンドを使用してファイルをコンパイルする」というドキュメントの部分に到達しますが、エラーが発生します。
make: *** 対象
/Users/joXXXXX/llvm/llvm/lib/Transforms/joe/Makefile', needed by
の Makefile を作成するルールはありません。止まる。
これは非常に紛らわしいです。このケースとの類似性に注意しますが、その場合は ../config を実行してから、ルート ディレクトリで make を実行すると問題が解決します。私のタスクでは、これに 20 分かかりましたが、何も変わっていません。
編集 - ローカル Makefile は次のようになります。
# Makefile for hello pass
#
# # Path to top level of LLVM hierarchy
LEVEL = ../../..
#
# # Name of the library to build
LIBRARYNAME = joe
#
# # Make the shared library become a loadable module so the tools can
# # dlopen/dlsym on the resulting library.
# LOADABLE_MODULE = 1
BUILD_ARCHIVE = 1
# # Include the makefile implementation stuff
include $(LEVEL)/Makefile.common