Update HTML doc template.
[tmk.git] / doc / tmk.1
blobac361008ade277bed859f29911833b4074637ed3
1 .Dd January 19, 2016
2 .Dt TMK 1
3 .Os
4 .Sh NAME
5 .Nm tmk
6 .Nd maintain program dependencies with Tcl
7 .Sh SYNOPSIS
8 .Nm tmk
9 .Op Fl D Ar variable
10 .Op Fl e
11 .Op Fl f Pa file
12 .Op Fl I Ar directory
13 .Op Fl j Ar max_processes
14 .Op Fl n
15 .Op Fl P Ar directory
16 .Op Fl s
17 .Op Fl u
18 .Op Fl V Ar variable
19 .Op Ar PARAM=VALUE
20 .Op Ar target
21 .Sh DESCRIPTION
22 .Nm
23 is a program to process a
24 .Em TMakefile
25 -- a build automation script written in Tcl.
26 .Pp
27 The arguments are as follows:
28 .Bl -tag -width Ds
29 .It Fl D Ar variable
30 Define
31 .Ar variable
32 prior to evaluating the TMakefile (that is, set it to 1).
33 .It Fl e
34 Add the environment to the search path for parameters.
35 .It Fl f Ar file
36 Evaluate
37 .Ar file
38 instead of the default
39 .Ar TMakefile .
40 .It Fl I Ar directory
41 Add
42 .Ar directory
43 to the search path for files included with the
44 .Ar include
45 command.
46 .It Fl j Ar max_processes
47 Use up to
48 .Ar max_processes
49 processes to evaluate the TMakefile.
50 .It Fl n
51 Display the commands that would be evaluated by tmk without actually executing them.
52 .It Fl P Ar directory
53 Add
54 .Ar directory
55 to the package search path used by the
56 .Ar package require
57 command.
58 .It Fl s
59 Silent mode: do not display information on stdout.  Errors will still be displayed.
60 .It Fl u
61 Force update: update all targets needed by the goal target, regardless of whether
62 they're out of date or not.
63 .It Fl V Ar variable
64 Display tmk's idea of the value of
65 .Ar variable
66 without executing any rules.
67 .It Ar PARAM=VALUE
68 Set the parameter
69 .Ar PARAM
71 .Ar VALUE ,
72 overriding any defaults specified in the TMakefile.
73 .El
74 .Sh EXIT STATUS
75 .Ex -std
76 .Sh SEE ALSO
77 .Bl -hang -compact -width DS
78 .It The TMk Reference Manual (refman)
79 .It The Jim Tcl User Reference Manual
80 .It Xr make 1
81 .El
82 .Sh HISTORY
83 .Sy tmk
84 was first developed in early 2016 by Cory Burgett and Andre van Schalkwyk,
85 inspired by the classic
86 .Sy make
87 utility included with UNIX variants, whose history goes way back.