makefile:在子目录中搜索文件
所以我有一个GCC命令,我想使用一个简单的makefile。以前从未使用过makefile,参考教程后仍然存在问题 所以终端上的命令是makefile:在子目录中搜索文件,makefile,Makefile,所以我有一个GCC命令,我想使用一个简单的makefile。以前从未使用过makefile,参考教程后仍然存在问题 所以终端上的命令是 link4@link4-VirtualBox:~/link4/G2/G2 module/src$ gcc -I.src/L4COMM -I.src/L4SERIAL -I.src/L4SYSTEM -I.src/main.c -I.src/L4COMM/l4comm.c -I.src/L4SERIAL/l4serial.c ./src/bypass.c ./sr
link4@link4-VirtualBox:~/link4/G2/G2 module/src$ gcc -I.src/L4COMM -I.src/L4SERIAL -I.src/L4SYSTEM -I.src/main.c -I.src/L4COMM/l4comm.c -I.src/L4SERIAL/l4serial.c ./src/bypass.c ./src/input.c
这很好,但是当我创建一个makefile时,我无法让它搜索文件'l4comm.c和l4serial.c',它们分别位于src/l4comm和src/l4serial中
这就是我的makefile的外观:
CC =gcc
INCLUDE = -I/src/L4COMM \
-I/src/L4SERIAL
VPATH = -I/src/L4COMM \
-I/src/L4SERIAL
cfiles := $(patsubst %.c, %.o, $(wildcard *.c))
hfiles := $(patsubst %.h, %.o, $(wildcard *.h))
g2make: $(cfiles)
$(CC) $(INCLUDE) -o main.c l4comm.c l4serial.c bypass.c input.c
感谢您的帮助!:) 您可以使用此g2make:
$(CC) $(INCLUDE) -o .src/main.c ./src/L4COMM/l4comm.c ./src/L4SERIAL/l4serial.c ./src/bypass.c ./src/input.c
您可以使用此g2make:
$(CC) $(INCLUDE) -o .src/main.c ./src/L4COMM/l4comm.c ./src/L4SERIAL/l4serial.c ./src/bypass.c ./src/input.c
如果只有两个文件要查找,并且您知道它们在哪里,您真的需要进行全面搜索吗?请尝试在生成中自动将树中的所有源文件包括在内???啊!!!。在制作上要明确。(虽然您可以使用
cfiles:=$(shell find.-type f-name'*.c')
执行您要求的操作)如果只有两个文件要查找,并且您知道它们在哪里,您真的需要进行全功能搜索吗?请尝试VPATH=./src/L4COMM./src/L4SERIAL
自动将树中的任何源文件包含在生成中???啊!!!。在制作上要明确。(尽管您可以使用cfiles:=$(shell find.-type f-name'*.c')
执行您的要求)