亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
明水县| 陆良县| 广元市| 永济市| 筠连县| 新兴县| 杭州市| 元朗区| 丹江口市| 新乡县| 和硕县| 天门市| 山阳县| 通化县| 小金县| 邻水| 墨玉县| 集贤县| 济源市| 奉节县| 仁寿县| 双峰县| 荣昌县| 大埔县| 广德县| 奈曼旗| 格尔木市| 漠河县| 周宁县| 大安市| 盈江县| 高阳县| 厦门市| 尖扎县| 惠水县| 宿迁市| 定结县| 乳源| 仙桃市| 普洱| 分宜县|