watchman-make(1)
π watchman-make β from the watchman-make(1) manual, bestie edition π
okay so you know how you're sitting there editing files and then you have to like... remember to run make? yeah. no. we don't do that anymore. this is the manual page for watchman-make, and it's about to change your whole workflow, fr fr. π¦
β¨ NAME β¨
watchman-make β automatically invoke a build tool or script in response to files changing.
like. it watches. it builds. you vibe. periodt. π
πΈ SYNOPSIS πΈ
watchman-make [ -h ] [ -t TARGET [TARGET ...]] [-s SETTLE] [--make MAKE]
[ -p PATTERN [PATTERN ...]] [--root ROOT] [-r RUN]
π DESCRIPTION π
watchman-make waits for changes to files and then invokes a build tool (by default, make) or provided script to process those changes. It uses the watchman service to efficiently watch the appropriate files. π«Ά
Events are consolidated and settled before they are dispatched to your build tool, so that it won't start executing until after the files have stopped changing. that's the settle thing, and it's lowkey the best part β no more seventeen builds firing off while you're still mid-save. πβ¨
You can tell watchman-make about one or more build targets and dependencies for those targets or provide a script to run. watchman-make will then trigger the build for the given targets or run the provided script as changes are detected. literally just tell it what you want and it handles the rest. π
π USAGE π
β OPTIONAL ARGUMENTS β
-h,--helpβ Show this help π-h,--helpβ show this help message and exit π
yes bestie, -h is listed twice in the original and we are keeping both, no cap. both are real, both are in the manual, and I am not about to erase one just because it's giving dΓ©jΓ vu. π
-t TARGET [TARGET ...],--target TARGET [TARGET ...]β Specify a list of target(s) to pass to the make tool. The--makeand--patternoptions that precede--targetare used to define the trigger condition. π-s SETTLE,--settle SETTLEβ How long to wait to allow changes to settle before invoking targets π§--make MAKEβ The name of the make tool to use for the next--target. The default ismake. You may include additional arguments; you are not limited to just the path to a tool or script. π₯-p PATTERN [PATTERN ...],--pattern PATTERN [PATTERN ...]β Define filename matching patterns that will be used to trigger the next--targetdefinition. The pattern syntax is wildmatch style; globbing with recursive matching via'**'.--patternis reset to empty after each--targetargument. πΈ--root ROOTβ Define the root of the project. The default is to use thePWD. All patterns are considered to be relative to this root, and the build tool is executed with this location set as itsPWD. π-r RUN,--runβRUNThe script that should be run when changes are detected π¦
π SEE ALSO π
watchman(1), watchman-wait(1) π
For more information, please refer the online documentation β¨
and that's the whole page, bestie β go forth and never type make by hand again π
β¨
this little legend came from the watchman-make manual, Linux edition, dated 8 Oct 2019 π (and yeah, the manual name is watchman-make(1) in case you forgot already, love u π«Ά)
π¦ where this page comes from
- debian bookworm: python3-pywatchman 4.9.0-7+b2 Β· Apache-2.0
- ubuntu jammy: python3-pywatchman 4.9.0-6build2 Β· Apache-2.0
- ubuntu noble: python3-pywatchman 4.9.0-7build4 Β· Apache-2.0
- ubuntu questing: python3-pywatchman 4.9.0-9
- ubuntu resolute: python3-pywatchman 4.9.0-9build3 Β· Apache-2.0
- ubuntu stonking: python3-pywatchman 4.9.0-9build4 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms