私は私が一緒にリンクする必要がアセンブリとCのソースコードが混在しているMakefileのターゲットは、
:-(私のMakefileでトラブルを抱えている。私は両方以来。これら二つのタイプごとに異なるビルド手順が必要私は今しようとしている何%Cの建設が多い例で見つかったのMakefile
この:アセンブラとCコンパイラの出力* .oファイル、私は一般的な%の.oのを使用することはできません。
は、すべてのリストを取得します。 Cファイルと結果の出力ファイル:
C_SRCFILES := $(shell find $(SRCDIRS) -type -f -name "*.c")
C_OBJFILES := $(patsub %.c,%.o,$(C_SRCFILES))
すべてのASMファイルとその結果の出力ファイルのリストを取得します:
A_SRCFILES := $(shell find $(SRCDIRS) -type -f -name "*.asm")
A_OBJFILES := $(patsub %.asm,%.o,$(A_SRCFILES))
私は画面にそれらのVARSをエコーするとき、彼らは正しいように見えるが、どのように私は今、自分の目標を定義していますか?
は私が...任意の提案を、この
$(A_OBJFILES): ($A_SRCFILES)
$(AS) $(AFLAGS) -o [email protected] $*
$(C_OBJFILES): ($C_SRCFILES)
$(CC) $(CFLAGS) -c -o [email protected] $*
all: $(A_OBJFILES) $(C_OBJFILES)
$(LD) $(LDFLAGS) $(A_OBJFILES) $(C_OBJFILES) -o $(TARGET_OUTPUT)
が、勿論、これは動作しないようなものを試してみましたか?
[OK]を、私は今、正常に動作してそれを持っています。ありがとうございます:-) –
なぜあなたは答えを受け入れるのですか? –