CPIF(1)
π CPIF β selectively update files π
okay bestie, welcome to cpif(1), a General Commands Manual situation, and honestly? she's a tiny queen with one job and she does it flawlessly. π
β¨ NAME β¨
cpif β selectively update files π¦
πΈ SYNOPSIS πΈ
cpif [-eq|-ne] file ...
π DESCRIPTION π
so. cpif is an auxiliary tool β a little helper bestie β meant to hang out with notangle(1) and make(1). she's not the main character, she's the best friend who makes the main character look good. π
here's the vibe: cpif compares its standard input to each of the named files, and she overwrites the file if the comparison succeeds, or if the named file just... doesn't exist yet (no file? no problem, we ball π).
and if you don't specify either -eq or -ne, the default is -ne. periodt. that's the whole personality.
the classic glow-up usage is in this default rule, and it's literally made for a Makefile:
.nw.h: ; notangle -Rheader $*.nw | cpif $*.h
look at that pipeline. notangle does the tangling, cpif does the deciding, and your header file gets updated only when it actually needs to be. iconic behaviour, no notes. π₯
π«Ά SEE ALSO π«Ά
notangle(1)β her ride-or-die fr fr
π VERSION π
this man page is from noweb version 2.12 β¨
π AUTHOR π
Norman Ramsey, Tufts University. Internet address Norman.Ramsey@tufts.edu.
Noweb home page at http://www.cs.tufts.edu/~nr/noweb.
okay that's the whole page, go forth and update your files selectively, bestie πβ¨
local Β· 10/40/2008 Β· sending you love from the CPIF(1) corner of the manual, mwah ππ¦π
π¦ where this page comes from
- debian bookworm: noweb 2.12-4 Β· noweb OR BSD-2-Clause
- debian trixie: noweb 2.13-2 Β· noweb OR BSD-2-Clause
- nixos 26.05: noweb 2.13
- nixpkgs unstable: noweb 2.13
- ubuntu jammy: noweb 2.12-1 Β· noweb OR BSD-2-Clause
- ubuntu noble: noweb 2.12-4 Β· noweb OR BSD-2-Clause
- ubuntu questing: noweb 2.13-2
- ubuntu resolute: noweb 2.13-2build1 Β· noweb OR BSD-2-Clause
- ubuntu stonking: noweb 2.13-2build1 Β· noweb OR BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms