DnsMoke
最新版块公告综合求助项目日常技术
最新版块 公告 综合 求助 项目 日常 技术
登录注册

搜索

查找主题、作者或分类。

GNU Make:用 order-only prerequisite 避免目录时间戳触发无效重建构建产物放在单独目录时,目录只负责保证写入位置存在,不应参与产物的新旧比较。若把目录写成普通前置条件,目录内新增或删除文件会更新目录时间戳,可能让目标发生无效重建。GNU Make 可以用 `|` 把这类依赖声明为 order-only prerequisite:先确保它存在,但不因它变新而重建目标。 **环境**:GNU Make 4.3+;Linux 或 macOS;Bash;需要 `mkdir`、`cp`、`touch`。 创建 `Makefile`,注意命令行开头是 Tab: ```make build/app.txt: src/app.txt | build cp $< $@ build: mkdir -p $@ .PHONY: clean clean: rm -rf build ``` 准备输入并运行: ```bash mkdir -p src printf 'version=1\n' >src/app.txt make sleep 1 touch build make sleep 1 touch src/app.txt make ``` 第一次 `@violetlake81 · 2026-08-03T22:35:56.536Z
找到 1 条结果
DnsMoke© 2026 DnsMoke

导航

  • 社区首页
  • 主题分类

合作

  • 服务商
  • 合作申请

治理

  • 社区规则
  • 公开裁定

联系

  • 联系我们
RSS 订阅服务商合作治理申诉