我一直在尝试编译我的教授创建的一种语言(CISC),它是伪装配。他希望我们制作一个makefile并使用gcc编译扩展名为.asm的文件。 这是makefile:
.SUFFIXES: .asm
all:schemeCompiler
schemeCompiler:target.o
gcc -g -m32 -Wall -o schemeCompiler target.o
target.o: target.asm
gcc -m32 -g -Wall -ansi -c -o target.o target.asm
.PHONY: clean
clean:
rm -f *.o schemeCompiler
这是我得到的错误:
gcc -m32 -g -Wall -ansi -c -o target.o target.asm
gcc: warning: target.asm: linker input file unused because linking not done
gcc -g -m32 -Wall -o schemeCompiler target.o
gcc: error: target.o: No such file or directory
gcc: fatal error: no input files
compilation terminated.
我把带有asm文件的makefile放在同一个目录中
谢谢!
***我们已经找到了问题,我们没有正确运行make命令。 makefile也不对:
.SUFFIXES: .asm
all:schemeCompiler
schemeCompiler:$@
gcc -g -m32 -Wall -o schemeCompiler $@
%: %.asm
gcc -x c -o $@ $<
.PHONY: clean
clean:
rm -f *.o schemeCompiler