Command Options

MakeMe is a command line tool that is invoked as:

Usage: me [options] [targets|actions] ...

MakeMe command line options can be prefixed with either a single or double minus, i.e. -switch or --switch.

Option Description
--benchmark Measure the elapsed time to run MakeMe.
--configure path-to-source

Configure the project to prepare for building. This configures MakeMe for building the project based on the instructions specified in a 'main.me located in the specified path source tree. When run, 'me' will create a platform configuration MakeMe file, a build output directory and me.h header. The configuration directory is of the form: OS-ARCH-PROFILE where OS may be freebsd, linux, macosx, solaris, vxworks, windows and ARCH is arm, mips, ppc, x64 or x86. PROFILE is typically set to debug or release. For example: macosx-x86_64-debug The configuration MakeMe file omits the PROFILE. For example: linux-x86.me.

MakeMe will use the settings.required and settings.optional properties in the main.me for a list of packages to use. When configuring, MakeMe will search for these packages and will create definitions in the configuration MakeMe file for later use.

--continue Continue to build despite any build errors. Normal operation is to stop building if any build errors are encountered.
--debug Same as --profile debug
--diagnose Run MakeMe with stack backtrace display on errors.
--dump Dump the aggregate MakeMe configuration into a single dump MakeMe file.
--file filename Use the alternate named file instead of start.me or main.me.
--force Override warnings and proceed with the operation.
--gen [make|nmake|sh|vs|xcode] Generate project files for the current platform. This will generate project files under the projects directory. The projects are based on the current configuration. If cross-generating projects, you will typically need to also use -configure.
--keep Keep some intermediate build files. This is currently used by some documentation generation targets.
--log logName[:logLevel] Specify a file to log internal execution messages. MakeMe will log execution related trace to the log file. The log level specifies the desired verbosity of output. Level 0 is the least verbose and level 9 is the most. The -v switch is an alias for --log stderr:2.
--nocross Don't cross-build. Build only for the development system.
--nolocal Don't build for the development system. Build only for the cross platform targets.
--out path Save MakeMe trace output to a file instead of displaying to the console.
--platform os-arch

Add a platform to build for cross-compilation. Multiple platforms can be added. You may use local for the local platform. Options specified after the platform apply to the prior platform. For example:

me --platform linux-x86 --without all --platform linux-arm --with ejscript configure

--profile [debug|release|...] Use the specified profile when building. This options is provided once when configuring and the result is saved in the plat- form.profile property in the configuration MakeMe file. Custom profiles can be added to the main.me or start.me files.
--quiet Quiet operation. Suppresses output trace.
--set key=value Set a settings property to a given value. For example: me -set version=1.0 will update the settings.version property. Use this when running me configure to persist your changes in the configuration MakeMe file.
--show Show the actual commands executed by MakeMe.
--static Build using static linking instead of creating shared libraries.
--rebuild Rebuild the specified targets. Can also use me rebuild.
--release Select the release profile. Same as --profile release.
--unset key=value Clear a settings property. Use this when running me configure to persist your changes in the configuration MakeMe file.
--version Print the ejs command version and exit.
--verbose Run in verbose mode with more trace about MakeMe activities.
--with NAME[=path] Build with the named configurable component located at the optional path. If the path is omitted, a search is performed for the component at default locations.
--without NAME Build without the named component.

© Embedthis Software. All rights reserved.