ターゲットとオブジェクトをそれぞれ bin/ と obj/ ディレクトリにコピーする Makefile を作成しようとしています。
それでも、実行しようとすると、次のエラーが発生します。
nasm -f elf64 -g -F stabs main.asm -l spacelander.lst
ld -o spacelander obj/main.o
ld: cannot find obj/main.o: No such file or directory
make: *** [spacelander] Error 1
Why is this happening?
アップデート
エラーを投稿したときに、空白のエラーが原因であることに気付きました。それらを処理した後も、前に述べた古いエラーに置き換えた新しいエラーが引き続き発生します。
これは何ですか??
更新 2
-d
Makefile ソースの下にフラグ出力を掲載しました。
ソース
ASM := nasm
ARGS := -f
FMT := elf64
OPT := -g -F stabs
SRC := main.asm
OBJDIR := obj
TARGETDIR := bin
OBJ := $(addprefix $(OBJDIR)/,$(patsubst %.asm, %.o, $(wildcard *.asm)))
TARGET := spacelander
.PHONY: all clean
all: $(OBJDIR) $(TARGET)
$(OBJDIR):
mkdir $(OBJDIR)
$(OBJDIR)/%.o: $(SRC)
$(ASM) $(ARGS) $(FMT) $(OPT) $(SRC) -l $(TARGET).lst
$(TARGET): $(OBJ)
ld -o $(TARGET) $(OBJ)
clean:
@rm -f $(TARGET) $(wildcard *.o)
@rm -rf $(OBJDIR)
make -d
出力 - 注: 出力は本文の文字数が多すぎるため、ペーストビン化されます