Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
UppHub
Status & Roadmap
FAQ
Authors & License
Forums
Funding U++
Search on this site











SourceForge.net Logo

SourceForge.net Logo

GitHub Logo

Discord Logo

UMK - Command line builder


Table of contents

 

1. Definition

2. Command line interface

3. Examples

 


1. Definition

UMK (U++ MaKe) is a command line utility to build the U++ program, with U++ assembly/package/build method system.


2. Command line interface

Below is a command line interface of UMK:

 

umk assembly package [build_method] [-[a][b][u][r][s][S][v][m][d][M][M=makefile][l][k][j][h][U][x][X][Hn]].. [+FLAG[,FLAG]..] [out] [! [runarg]..]

 

Let's take a closer look at all available options:

assembly is a direct set of package nest directories relative to working directory that represent U++ assembly separated by ','. Alternatively 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 .config/u++/umk or .config/u++/theide or direct path to .var file.

package is the main package (a program to build).

build_method is build method that is to be used to build the resulting executable, specified either as name of build method (which is then searched for in .config/u++/umk or .config/u++/theide directories) or it is a direct path to the .bm file. If not specified, CLANG build method is assumed. Note that in POSIX, umk automatically creates CLANG and GCC build methods if they do not exist.

FLAGs are compilation flags. If flags are not specified, the first main configuration entry in .upp file is used.

out overrides output name, file or directory.

! means the the resulting binary should be also executed after successful build, using optional arguments after ! as its arguments.

All other options are located below:

Option

Description

a

Rebuild all.

b

Use BLITZ.

l

Silent mode.

u

Use target directory.

m

Create a map file.

r

Release mode (default is debug mode with full debug).

d

Debug mode without debug symbols.

s

Use shared libraries.

S

Use shared libraries and build as shared libraries.

v

Be verbose.

M

Create makefile (to file Makefile).

M=makefile

Create mafile with given name.

Hn

Number of threads used for building. Default is number of logical cores available.

h

If present, umk deletes its UppHub folder. Then, when there are any missing packages that can be found in UppHub, they are installed into umk's UppHub folder (by git clone). In other words this option makes sure that latest versions of UppHub packages required to build are downloaded.

U

Install missing packages from UppHub and update all UppHub nests to the latest versions.

j

Generate compile_commands.json

x

Export projects sources and documentation

X

Export entire project

k

Delete target directory before project export

 


3. Examples

Sample usage of UMK is located below:

 

umk uppsrc ide GCC -br +GUI,SSE2,SHARED ~/theide

umk uppsrc ide /usr/share/upp/GCC.bm -br +GUI,SSE2,SHARED ~/theide

 

umk examples Bombs GCC -ab +GUI,SHARED ~/bombs

umk upp/examples,upp/uppsrc Bombs ~/GCC.bm -rv +GUI,SHARED ~/bin

 

Do you want to contribute?