如何在 Makefile 中使用通配符?
How to use wildcard in Makefile?
以下片段:
... rest of makefile ...
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usb_bsp.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usb_core.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usb_dcd.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_cdc_core.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_cdc_vcp.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usb_dcd_int.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_core.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_desc.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_ioreq.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_req.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_usr.c
... rest of makefile
编译,但如果我将其替换为:
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/$(wildcard *.c)
make
命令returns链接器错误:
FingerCell/Source/STM32F4-DISCOVERY_USB/User.o: No such file or directory
STM32F4-DISCOVERY_USB
目录不包含除第一个代码片段中列出的文件之外的其他 .c
文件。 我在这里使用的通配符不正确吗?
SRCS += $(wildcard $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/*.c)
以下片段:
... rest of makefile ...
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usb_bsp.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usb_core.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usb_dcd.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_cdc_core.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_cdc_vcp.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usb_dcd_int.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_core.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_desc.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_ioreq.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_req.c
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/usbd_usr.c
... rest of makefile
编译,但如果我将其替换为:
SRCS += $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/$(wildcard *.c)
make
命令returns链接器错误:
FingerCell/Source/STM32F4-DISCOVERY_USB/User.o: No such file or directory
STM32F4-DISCOVERY_USB
目录不包含除第一个代码片段中列出的文件之外的其他 .c
文件。 我在这里使用的通配符不正确吗?
SRCS += $(wildcard $(BASEDIR)FingerCell/Source/STM32F4-DISCOVERY_USB/*.c)