2017-02-18 6 views
0

以下は、私のmakefileの1つにある2つのルールの簡略版です。makefileは、ルールに渡された変数を切り捨てます。

Link: 
    ld $(SONG_OBJ) -o Songs/$(FILE)/$(FILE) 

Song: 
    $(eval SONG_OBJ = $(wildcard Songs/$(FILE)/Build/*.o)) 
    make Link FILE=$(FILE) SONG_OBJ=$(SONG_OBJ) 

このように、SONG_OBJには、空白で区切られた複数の文字列が含まれています。しかしながら、ソング規則は最初の文字列、すなわち、最初の空白の後のSONG_OBJ内の何かをリンク規則に送るだけであるように見える。どのようにこの問題を解決するためのアドバイス?助けてくれてありがとう。現状では、SONG_OBJは、最初の単語に設定され、他の名前を単純にするために、よりターゲットとしてmakeに渡され

make Link FILE=$(FILE) SONG_OBJ="$(SONG_OBJ)" 

答えて

0

あなたはmakeの再帰呼び出しでSONG_OBJ=$(SONG_OBJ)二重引用符で囲む必要があります(に加えて)組み込まれています。

関連する問題