我有这样的文件夹结构。
Gif_Utility
-> 生成文件
-> 包含(所有 .h 文件都在这里)
-> Src(所有 .c 文件都在这里)。
我正在写一个makefile。
Makefile
VPATH = src:include
INC = -I ./include
gif_objects = gif_display.o \
gif_lzw.o \
gif_read.o \
sysm.o \
x86_main.o
gif_display.0 : gif_display.c
gcc -I /export/home/joshis1/MakeTutorial/GIF_Utility/include -c $<
#gif_lzw.0 : gif_lzw.c
# gcc $(INC) -c src/gif_lzw.c
#gif_read.0 : gif_read.c
# gcc -I ./include/ -c $<
#sysm_main.0 : sysm_main.c
# gcc -I ./include/ -c $<
#x86_main.0 : x86_main.c
# gcc -I ./include/ -c $<
On command prompt:
$ make gif_display.o
cc -c -o gif_display.o src/gif_display.c
src/gif_display.c:2:17: fatal error: sysm.h: No such file or directory
compilation terminated.
make: *** [gif_display.o] Error 1
另一方面,如果我喜欢这样做,它可以很好地编译 $make -> 这会创建 gif_display.o
我不知道为什么在指定规则时会引发错误。我错过了什么,请帮忙。
我正在使用 Ubuntu 机器来构建我的代码。