2
所以我有一個GCC命令,我想使用SIMPLE makefile。之前從未在makefile上工作過,並且在參考教程後仍然遇到問題。makefile:搜索子目錄中的文件
所以在終端的命令是
[email protected]:~/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
- 希望Makefile查找文件的子目錄
- 正如我用了「cfiles/hfiles」來檢查的變化,我想通配符來檢查子目錄中的文件。
幫助讚賞! :)
如果只有兩個文件發現,你知道他們在哪裏,你真的需要一個完整強大的搜索功能? – Beta
嘗試'VPATH = ./src/L4COMM。/ src/L4SERIAL' – zakkak
自動將任何源文件包含在樹中的構建中? **啊!!!**。在make中明確表達。 (儘管你可以用'cfiles:= $(shell find。-type f -name'* .c')'來做你想要的。) – bobbogo