summarylogtreecommitdiffstats
path: root/umk.1
blob: 781d511ddd8d4c306448576f4a3ee2f985c24ef0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
.\" Process this file with command
.\" groff -man -Tascii umk.1
.\"
.TH UMK 1 Umk " " Umk 
.SH NAME
umk \(hy Command line builder for Ultimate++ projects
.SH SYNOPSIS
.BI "umk "
.I assembly package build_method
[-[a] [b] [e] [r] [s] [S] [v] [1] [2] [m] [d] [M] [l] [x] [X] [Hn]]
[+FLAG[,FLAG]...] [ out ]

.SH DESCRIPTION
.RB "Umk builds " package " from " assembly " using settings from " build_method
.RB " and " FLAG "s. The resulting binary is created in " out "."
.SH OPTIONS

.IP assembly
Selects in which assembly to look for package. It can be a predefined assembly 
(in .var file) which is in Win32 in directory where is located umk.exe 
or in POSIX systems in directories ~, ~/.upp/umk, ~/.upp/theide 
or ~/.upp/theide. Alternatively, it is a direct set of directories 
that represent U++ assembly separated by ','.
.
.IP package
Selects which package to use. The package must exist in selected assembly.
.IP build_method
Selects build method to be used to build the resulting executable, specified 
either as name of build method (which is then searched for in ~, ~/.upp/umk, 
~/.upp/theide ~/.upp/theide directories) or it is a direct path to the .bm file.
.
.LP
.IP FLAGs
Specify witch flags should be set up. This works the same way as inside 
TheIDE. The FLAGs must be separated by commas and first and prepended 
with ">" character. Please note, that ">" has special meaning in most 
shells and therefore you must either escape it or enclose in quotation
marks.
.LP
Parameter
.B options
must always form single string, e.g. "\-arvs". 
Please note, that some options are mutually exclusive. Don't use them 
together unless you want to be surprised by the results.
.SS General options:
.RS
.IP a
Rebuild all. Cleans caches before doing anything.
.IP b
Use BLITZ.
.IP e
If building fails, stop with message box.
.IP l
Be silent.
.IP v
Be verbose.
.IP m
Create a map file.
.RE
.SS Output mode:
.RS
.IP r
Release mode.
.IP 1
Release mode \(hy optimize for size.
.IP 2
Release mode \(hy optimize for speed.
.LP
These options are mutually exclusive. If more of them is used then last 
one is used. If none is used, Debug mode is assumed.
.RE
.SS Linking mode:
.RS
.IP s
Use shared libraries.
.IP S
Use shared libraries and build as shared libraries.
.LP
These options are mutually exclusive. If more of them is used then last 
one is used. If none is specified, static linking is used.
.RE
.SS Exporting:
.RS
.IP x
Export files necessary to build project to the directory 
.I out
.IP X
Export all files in project to directory 
.I out
.IP M
Create makefile in file 
.I out
.IP xM,XM
If you mix M with x or X, Makefile is exported to directory 
.I out
.LP
Options x and X are mutually exclusive. The last specified is used. 
.RE
.SH FILES
.I ~/.upp/theide/*.var
.RS
The assembly specifications.
.RE
.I ~/.upp/theide/*.bm
.RS
The build methods configurations.
.RE
.LP
.SH EXAMPLES
.B "umk examples UWord"
.RS
Opens UWord (an example implementation of text proccesor) in TheIDE. 
.RE
.LP
.B umk examples AddressBook GCC \-vasb ">GUI,MT" /tmp/ab
.RS
Builds application AddressBook with verbose output, using 
.BR gcc (1)
in debug mode, with GUI and multithreading support, links it using
shared libraries and places it in /tmp/ab.
.RE
.LP
.B umk uppsrc ide \-2sx ">GUI,MT" /tmp/ide
.RS
Exports Makefile and all the files needed to build TheIDE itself
(with speed optimizations) into the directory /tmp/ide/.
.RE

.SH BUGS
If you find any bugs, please contact the developpers on our forums (
.I http://www.ultimatepp.org/forum
) or file a bug on projects SourceForge page (
.I http://sourceforge.net/projects/upp
).
.SH AUTHORS
Mirek Fidler, Koldo Ramirez, Tomas Rylek, Daniel Kos
.SH DOCUMENTATION
Full documentation is accesible from within TheIDE
and also online on 
.I http://ultimatepp.org
.