アセンブリコードとCソースファイルを混合するavr-gccプロジェクトをビルドするためにEclipseを使用しています。いくつかのプロセスをmakefileに自動化する必要があるため、およびその他の理由で、Eclipseのmakefileの自動生成を削除したいと思います。
私は数回前にcmakeを使用しましたが、それに満足していたので、それを使用してソースファイルをコンパイルしてみたいと思います。すべてがCソースで期待どおりに実行されます。問題は、最後にいくつかのアセンブリファイル(実際には2つ)をコンパイルして、それらをターゲットに追加する必要があることです。
グーグルで検索しましたが、これを行う方法が見つかりませんでした。誰かがこれを行う方法についてのアイデアを持っていますか?
問題は、Eclipseに-xassembler-with-cppがあることです。
gcc引数リストに追加されました。asmファイルに対してのみこのパラメーターを標準のgcc引数リストに選択的に追加する方法を見つける必要があります。私はこれを行う方法を見つけられませんでした。
前もって感謝します
解決策:CMakeLists.txtで、すべてのファイルを同じリストにコンパイルするように設定します
enable_language(C ASM)
set ( SOURCES
foo.c
bar.c
foobar.s
)
add_executable(program ${SOURCES} )
ツールチェーンファイルに次の場所を配置する必要があります。
SET(ASM_OPTIONS "-x assembler-with-cpp")
SET(CMAKE_ASM_FLAGS "${CFLAGS} ${ASM_OPTIONS}" )
2行目は、asmファイルのコンパイル中に追加のオプションを渡す必要がある場合です。すべてのCFLAGSといくつかのASM_OPTIONSを渡したかった