9、深入探究Makefile:构建与依赖管理优化
2026/5/6 12:07:11 网站建设 项目流程

深入探究Makefile:构建与依赖管理优化

1. 修改后的Makefile

在软件开发中,确保目标文件在源文件内容发生变化时能够正确重建是非常重要的。下面是一个经过修改的Makefile,它通过检查源文件的MD5校验和来实现这一功能:

to-md5 = $1 $(addsuffix .md5,$1) .PHONY: all all: foo.o foo.o: $(call to-md5,foo.c foo.h) %.md5: FORCE @$(if $(filter-out $(shell cat $@ 2>/dev/null),$(shell md5sum $*)),md5sum $* > $@) FORCE:

这里,foo.o的依赖列表从foo.c foo.h变为$(call to-md5,foo.c foo.h)to-md5函数会为其参数中的所有文件名添加.md5后缀。展开后,foo.o的依赖变为foo.c foo.h foo.c.md5 foo.h.md5。这意味着,如果任何一个.md5文件比foo.o新,或者foo.cfoo.h有更新,GNU make都会重新构建foo.o </

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询