我一直无法尝试运行我的程序,该程序包含一个.cpp文件,该文件调用一组调用.o驱动程序文件的64位NASM .asm文件。我想为它制作一个makefile,但我无法弄清楚如何让它在终端进行测试。我正在使用Linux系统。
更新: 所以我想出了一些事情。 这是我当前的makefile,由于某些原因,所有它都是myclear.o是最新的。
ASM=nasm
LINK=g++
SOURCES=main.cpp
myclear.o:
$(ASM) $< -f elf64 myclear.asm
mysetSize.o:
$(ASM) $< -f elf64 mysetSize.asm
mypenUp.o:
$(ASM) $< -f elf64 mypenUp.asm
mypenDown.o:
$(ASM) $< -f elf64 mypenDown.asm
mysetDrawColor.o:
$(ASM) $< -f elf64 mysetDrawColor.asm
mysetBkgndColor.o:
$(ASM) $< -f elf64 mysetBkgndColor.asm
mymoveTo.o:
$(ASM) $< -f elf64 mymoveTo.asm
draw: myclear.o mysetSize.o mypenUp.o mypenDown.o mysetDrawColor.o mysetBkgndColor.o mymoveTo.o main.cpp
$(LINK) -Wall myclear.o mysetSize.o mypenUp.o mypenDown.o mysetDrawColor.o mysetBkgndColor.o mymoveTo.o main.cpp p1
答案 0 :(得分:1)
自己想出来 这是我的makefile看起来如何,可能不是很整洁,但它的工作原理,这就是我所需要的。
LD=g++
ASM=nasm
LINK=g++
SOURCES=main.cpp
OBJ = $(SRC:.asm=.o)
OBJ2 = $(CPP:.cpp=.o)
CPP = main.cpp
SRC = myclear.asm mysetSize.asm mypenUp.asm mypenDown.asm mysetDrawColor.asm mysetBkgndColor.asm mymoveTo.asm
draw: myclear.o mysetSize.o mypenUp.o mypenDown.o mysetDrawColor.o mysetBkgndColor.o mymoveTo.o main.cpp plotterDriver.o
$(LINK) -o draw myclear.o mysetSize.o mypenUp.o mypenDown.o mysetDrawColor.o mysetBkgndColor.o mymoveTo.o main.cpp plotterDriver.o
myclear.o:
$(ASM) -f elf64 myclear.asm
mysetSize.o:
$(ASM) -f elf64 mysetSize.asm
mypenUp.o:
$(ASM) -f elf64 mypenUp.asm
mypenDown.o:
$(ASM) -f elf64 mypenDown.asm
mysetDrawColor.o:
$(ASM) -f elf64 mysetDrawColor.asm
mysetBkgndColor.o:
$(ASM) -f elf64 mysetBkgndColor.asm
mymoveTo.o:
$(ASM) -f elf64 mymoveTo.asm