91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
吴桥县| 霍林郭勒市| 同心县| 永安市| 景德镇市| 东兰县| 平原县| 鸡东县| 兰考县| 凭祥市| 密云县| 云和县| 罗甸县| 正蓝旗| 兴仁县| 健康| 灌南县| 迭部县| 弥勒县| 波密县| 桂东县| 嵩明县| 常山县| 彭州市| 弥渡县| 姚安县| 五河县| 宜城市| 临湘市| 榕江县| 新密市| 江门市| 沂源县| 乐清市| 崇信县| 保山市| 萝北县| 彰化市| 九龙城区| 武山县| 陆丰市|