UMK(1)

NAME
umk - Command line builder for Ultimate++ projects

SYNOPSIS
umk assembly package build_method [-[a] [b] [r] [s] [S] [v] [1] [2] [m] [d] [M] [l] [x] [X] [Hn]] [+FLAG[,FLAG]...] [ out ]

DESCRIPTION
Umk builds package from assembly using settings from build_method and FLAGs. The resulting binary is created in out.

OPTIONS

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 ','.

package
    Selects which package to use. The package must exist in selected assembly.

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.

FLAGs
    Specify witch flags should be set up. This works the same way as inside TheIDE. The FLAGs must be separated by commas and prepended with "+" or ">" character. Please note, that ">" has special meaning in most shells and therefore you must either escape it or enclose in quotation marks. If flags are not specified, the first main configuration entry in .upp file is used.

Parameter 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.

  General options:

    a   Rebuild all. Cleans caches before doing anything.

    b   Use BLITZ.

    l   Be silent.

    v   Be verbose.

    m   Create a map file.

    Hn  Number of threads used for building (single digit). Default is number of logical cores available.

  Output mode:

    r   Release mode.

    1   Release mode - optimize for size.

    2   Release mode - optimize for speed.

    These options are mutually exclusive. If more of them is used then last one is used. If none is used, Debug mode is assumed.

  Linking mode:

    s   Use shared libraries.

    S   Use shared libraries and build as shared libraries.

    These options are mutually exclusive. If more of them is used then last one is used. If none is specified, static linking is used.

  Exporting:

    x   Export files necessary to build project to the directory out

    X   Export all files in project to directory out

    M   Create makefile in file out

    xM,XM
        If you mix M with x or X, Makefile is exported to directory out

    k   Do not delete target directory out when exporting.

    Options x and X are mutually exclusive. The last specified is used.

FILES
~/.upp/theide/*.var
    The assembly specifications.
~/.upp/theide/*.bm
    The build methods configurations.

EXAMPLES
umk examples UWord
    Opens UWord (an example implementation of text proccesor) in TheIDE.

umk examples AddressBook GCC -vasb +GUI,MT /tmp/ab
    Builds application AddressBook with verbose output, using gcc(1) in debug mode, with GUI and multithreading support, links it using shared libraries and places it in /tmp/ab.

umk uppsrc ide -2sx +GUI,MT /tmp/ide
    Exports Makefile and all the files needed to build TheIDE itself (with speed optimizations) into the directory /tmp/ide/.

BUGS
If you find any bugs, please contact the developpers on our forums ( http://www.ultimatepp.org/forum ) or file a bug on projects SourceForge page ( http://sourceforge.net/projects/upp ).

AUTHORS
Mirek Fidler, Koldo Ramirez, Tomas Rylek, Daniel Kos

DOCUMENTATION
Full documentation is accesible from within TheIDE and also online on http://ultimatepp.org