中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

makefile如何編譯文件夾下的文件

小億
130
2023-09-12 18:00:34
欄目: 編程語言

在Makefile中,可以使用通配符(wildcard)來獲取文件夾下所有文件的列表,然后使用規則來編譯這些文件。

以下是一個示例的Makefile,用于編譯文件夾下的所有.c文件:

# 獲取文件夾下所有的.c文件
SRCS := $(wildcard *.c)
# 生成對應的目標文件列表
OBJS := $(SRCS:.c=.o)
# 目標文件
TARGET := myprogram
# 編譯規則
$(TARGET): $(OBJS)
gcc $^ -o $@
%.o: %.c
gcc -c $< -o $@
.PHONY: clean
clean:
rm -f $(OBJS) $(TARGET)

在這個Makefile中,首先使用通配符$(wildcard *.c)獲取當前文件夾下所有的.c文件,并將它們保存到變量SRCS中。然后,通過將.c替換為.o,生成對應的目標文件列表OBJS

接下來,定義了兩個規則。第一個規則$(TARGET): $(OBJS)表示生成目標文件$(TARGET)的依賴是所有的目標文件列表$(OBJS)。在規則的命令中,使用$^表示所有的依賴文件,$@表示目標文件,通過gcc命令將目標文件鏈接成可執行程序。

第二個規則%.o: %.c表示根據.c文件生成對應的目標文件。在規則的命令中,使用$<表示第一個依賴文件,通過gcc命令將.c文件編譯成目標文件。

最后,定義了一個偽目標.PHONY: clean用于清理編譯生成的目標文件和可執行程序。

要編譯文件夾下的所有文件,只需在命令行中輸入make即可。如果需要清理編譯生成的文件,可以輸入make clean

0
巴彦淖尔市| 文登市| 木兰县| 锦州市| 虹口区| 宜宾县| 万年县| 潍坊市| 土默特左旗| 丹东市| 布拖县| 拜泉县| 闽侯县| 嘉禾县| 临城县| 余姚市| 南城县| 永丰县| 翁源县| 宝鸡市| 岚皋县| 纳雍县| 社会| 肃北| 太仆寺旗| 兰溪市| 获嘉县| 繁昌县| 德清县| 太原市| 廊坊市| 普定县| 淮南市| 西和县| 海阳市| 鹿泉市| 天门市| 咸阳市| 龙井市| 石河子市| 于都县|