带有 SDL2 的 Makefile C
Makefile C with SDL2
我得到了使用 SDL2 和 nasm 用 C 语言编写的程序。我的 makefile 有问题:“*** Nor rule to make target'../home/amellana/Desktop/project/main.c', 'main.o' 需要”
有人知道要在我的 makefile 中更改什么吗?
CC=gcc
CFLAGS=-Wall -Wextra
ASM=nasm
AFLAGS=-f elf64
all: myfunc mytest
main.o: ../home/amellana/Desktop/project/main.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/main.c
mytest.o: ../home/amellana/Desktop/project/mytest.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/mytest.c
program.o: program.nasm
$(ASM) $(AFLAGS) program.nasm
myfunc: main.o myfunc.o
$(CC) $(CFLAGS) main.o program.o -lSDL2 -o myfunc
mytest: mytest.o program.o
$(CC) $(CFLAGS) mytest.o program.o -o mytest
clean:
rm -f *.o
rm -f myfunc
rm -f mytest
Makefile
规则的一般语法是:
<target>: <dependencies>
<recipe>
在你的情况下,这部分:
main.o: ../home/amellana/Desktop/ARKO/main.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/main.c
表示为了创建目标 main.o
,必须首先构建依赖项 ../home/amellana/Desktop/ARKO/main.c
。该文件不存在,并且没有为此类目标定义的规则。所以,依赖失败了。
您可能拼错了文件名,或者路径不正确。
我得到了使用 SDL2 和 nasm 用 C 语言编写的程序。我的 makefile 有问题:“*** Nor rule to make target'../home/amellana/Desktop/project/main.c', 'main.o' 需要” 有人知道要在我的 makefile 中更改什么吗?
CC=gcc
CFLAGS=-Wall -Wextra
ASM=nasm
AFLAGS=-f elf64
all: myfunc mytest
main.o: ../home/amellana/Desktop/project/main.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/main.c
mytest.o: ../home/amellana/Desktop/project/mytest.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/mytest.c
program.o: program.nasm
$(ASM) $(AFLAGS) program.nasm
myfunc: main.o myfunc.o
$(CC) $(CFLAGS) main.o program.o -lSDL2 -o myfunc
mytest: mytest.o program.o
$(CC) $(CFLAGS) mytest.o program.o -o mytest
clean:
rm -f *.o
rm -f myfunc
rm -f mytest
Makefile
规则的一般语法是:
<target>: <dependencies>
<recipe>
在你的情况下,这部分:
main.o: ../home/amellana/Desktop/ARKO/main.c
$(CC) $(CFLAGS) -c ../home/amellana/Desktop/project/main.c
表示为了创建目标 main.o
,必须首先构建依赖项 ../home/amellana/Desktop/ARKO/main.c
。该文件不存在,并且没有为此类目标定义的规则。所以,依赖失败了。
您可能拼错了文件名,或者路径不正确。