エラー:メークファイル:12:***最初のターゲットの前にレシピが開始されます。やめる。最初のターゲットの前にレシピが開始されます
私のメイクファイル:
objDir := obj
incDir := include
srcDir := src
binDir := bin
files := matrix palindrome encryption
define generateObject
@nasm -f elf32 -o $(objDir)/$(1).o $(srcDir)/$(1).asm
endef
object: $(addprefix $(srcDir)/,$(addsuffix .asm,$(files)))
@echo -n "Generating object files... "
$(foreach file,$(files),$(eval $(call generateObject,$(file))))
@echo "Done"
私はこれが不要な空白/タブに起因することができることを記事で読んしかし、私はいずれかを見つけることができませんでした。
私はcat -e -t -v Makefile
を試してみましたが、出力されました:
objDir := obj$
incDir := include$
srcDir := src$
binDir := bin$
files := matrix palindrome encryption$
$
define generateObject$
^[email protected] -f elf32 -o $(objDir)/$(1).o $(srcDir)/$(1).asm$
endef$
$
object: $(addprefix $(srcDir)/,$(addsuffix .asm,$(files)))$
^[email protected] -n "Generating object files... "$
^I$(foreach file,$(files),$(eval $(call generateObject,$(file))))$
^[email protected] "Done"$
私が見ることができるこのメイクファイルには何も問題はありません。私がそれを使ってmakeを実行すると、そのようなエラーは発生しません。どのオペレーティングシステムを使用していますか? makeのどのバージョンを使用していますか( 'make --version'を実行してください)? – MadScientist
私はUbuntu 16.04でGNU Make 4.1を使用しています。 –