所以我正在编写一些汇编代码,然后由Makefile编译:
# linking
main: main.o #
ld -o build/main build/main.o -melf_i386
# compiling
main.o: main.s #
as -o build/main.o main.s --32
我不得不添加构建目录,因为我经常将代码推送到我的GitHub存储库,而且有点难以.gitignore
linux可执行文件。现在我知道,我可以在Makefile中执行bash命令。 F.e我测试了类似bash -c "pwd"
的东西,是的,它打印了我当前的工作目录。我想要实际做的是在编译后立即跳转到构建目录。所以我写了这样的Makefile:
# linking
main: main.o #
ld -o build/main build/main.o -melf_i386
bash -c "cd ~/Desktop/asm/build"
# compiling
main.o: main.s #
as -o build/main.o main.s --32
输出结果为:
[frynio@manjaro asm]$ make
as -o build/main.o main.s --32
ld -o build/main build/main.o -melf_i386
bash -c "cd ~/Desktop/asm/build"
[frynio@manjaro asm]
因为您可以看到它没有更改目录(仅使用相对build
路径尝试,但也不起作用)。我怎样才能使它发挥作用?