ftjam(1)
π ftjam β Make(1) Redux π
okay bestie, welcome to the ftjam manual page, living in section 1 of the General Commands Manual π yes this is THE Jam/MR situation and it is lowkey iconic. sit down, hydrate, let's go π¦
β¨ NAME β¨
Jam/MR β it's literally Make(1) Redux π
like make but with a whole glow-up.
β¨ SYNOPSIS β¨
ftjam [-a] [-g] [-n] [-q] [-v] [-d debug] [-f jambase] [-j jobs]
[-o actionsfile] [-s var=value] [-t target] [target ...]
that's the whole vibe check right there β
β¨ DESCRIPTION β¨
so Jam is a program construction tool, like make(1) but with β¨main character energyβ¨.
Jam recursively builds target files from source files, using dependency information and updating actions expressed in the Jambase file β and the Jambase is written in jam's own interpreted language π no cap, it has its own language, she's talented like that.
The default Jambase is compiled into jam and gives you a boilerplate for common use, relying on a user-provide file "Jamfile" to enumerate the actual targets and sources. (yes the original says "user-provide", we're keeping it, it's part of the lore π)
β¨ OPTIONS β¨
-aβ build all targets anyway, even if they're already up-to-date. she does not care about your timestamps, she's building regardless π-d nβ enable cummulative debugging levels from1ton. the interesting values are:1β show actions (this is the default)2β show "quiet" actions and display all action text3β show dependency analysis, and target/source timestamps/paths4β show shell arguments5β show rule invocations and variable expansions6β show directory/header file/archive scans7β show variable settings8β show variable fetches9β show variable manipulation, scanner tokens
-d +nβ enable debugging leveln.-d 0β turn off all debugging levels. only errors are not suppressed π«Ά-f jambaseβ readjambaseinstead of using the built-in Jambase. only one-fflag is permitted, but the jambase may explicitly include other files.-gβ build targets with the newest sources first, rather than in the order of appearance in the Jambase/Jamfiles. glow-up ordering β¨-j nβ run up tonshell commands concurrently (UNIX and NT only). the default is1.-nβ don't actually execute the updating actions, but do everything else. this changes the debug level default to-d2. it's giving dress rehearsal π-o fileβ write the updating actions to the specified file instead of running them (or outputting them, as on the Mac).-qβ quit quickly (as if an interrupt was received) as soon as any target build fails. she's out, bye π-s var=valueβ set the variablevartovalue, overriding both internal variables and variables imported from the environment. overriding both, periodt π-t targetβ rebuildtargetand everything that depends on it, even if it is up-to-date.-vβ print the version offtjamand exit.
β¨ SEE ALSO β¨
ftjam is documented fully in HTML pages available on Debian systems from /usr/share/doc/ftjam/Jam.html πΈ go read, bestie, the full lore is in there.
β¨ AUTHOR β¨
This manual page was created by Yann Dirson dirson@debian.org from the Jam.html documentation, for the Debian GNU/Linux system (but may be used by others). π«Ά shoutout to Yann, absolutely ate.
okay and that's the whole page!! tysm for reading my little ftjam(1) explainer, from the General Commands Manual, version/date tag ftjam(1) and all π go build something gorgeous, ily, bye π¦β¨π
π¦ where this page comes from
- ubuntu jammy: ftjam 2.5.2-1.1build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms