AI开发C语言应用按步走,表达式计算器calc的第十步,源码打包(make dist)

calc10 — 源码打包(make dist)

1. 概述

本次迭代在 Makefile 中添加了dist目标,用于将 calc 项目完整源码打包为tar.gz归档文件,便于分发和部署。

2. 变更清单

文件操作说明
Makefile编辑新增VERSIONHDRPKG_NAME变量;新增dist目标;clean扩展清理归档文件
doc/readme.md编辑构建说明中增加make dist条目
其余文件无需改动

3. Makefile 改动

3.1 新增变量

VERSION = 1.0 HDR = $(SRCDIR)/parse.h $(SRCDIR)/eval.h $(SRCDIR)/sym.h PKG_NAME = calc-$(VERSION)

3.2 dist 目标

dist: rm -rf $(PKG_NAME) $(PKG_NAME).tar.gz mkdir $(PKG_NAME) cp -r --parents $(SRC) $(HDR) Makefile $(TESTFILE) doc/ $(PKG_NAME)/ tar czf $(PKG_NAME).tar.gz $(PKG_NAME) rm -rf $(PKG_NAME) @echo "created $(PKG_NAME).tar.gz"

3.3 clean 目标扩展

clean: rm -rf $(BUILDDIR) $(PKG_NAME) $(PKG_NAME).tar.gz

4. 使用方法

$makedist created calc-1.0.tar.gz $tartzf calc-1.0.tar.gz calc-1.0/ calc-1.0/Makefile calc-1.0/parse.c calc-1.0/parse.h calc-1.0/eval.c calc-1.0/eval.h calc-1.0/sym.c calc-1.0/sym.h calc-1.0/main.c calc-1.0/test.expr calc-1.0/doc/ calc-1.0/doc/readme.md calc-1.0/doc/calc1.md calc-1.0/doc/calc2.md calc-1.0/doc/calc3.md calc-1.0/doc/calc4.md calc-1.0/doc/calc5.md calc-1.0/doc/calc6.md calc-1.0/doc/calc7.md calc-1.0/doc/calc8.md calc-1.0/doc/calc9.md calc-1.0/doc/calc10.md

5. 目录结构

calc/ ├── Makefile # 新增 VERSION / HDR / PKG_NAME / dist 目标 ├── doc/ │ ├── readme.md # 更新构建说明 │ ├── calc1.md ~ calc9.md │ └── calc10.md # 本次构建:源码打包 ...

6. 测试验证

$makedist created calc-1.0.tar.gz $maketest29passed,0failed,29total

make dist成功生成归档,make test29/29 回归测试通过,不受影响。