2

所以我有一个 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 ./src/input.c

这工作正常,但是当我创建一个 makefile 时,我无法让它搜索分别位于 src/L4COMM 和 src/L4SERIAL 中的文件“l4comm.c 和 l4serial.c”。

这是我的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
  1. 希望makefile在子目录中查找文件
  2. 正如我使用“cfiles/hfiles”检查更改一样,我想使用通配符来检查子目录中的文件。

帮助表示赞赏!:)

4

1 回答 1

-1

你可以使用这个 g2make:

 $(CC) $(INCLUDE) -o .src/main.c ./src/L4COMM/l4comm.c ./src/L4SERIAL/l4serial.c ./src/bypass.c ./src/input.c
于 2012-12-07T01:04:54.093 回答