{ title: "Installation", crumbs: [], }

Installation Overview

MakeMe is available as a source code distribution. Several build environments are supported:

Accessing the Source Code

With each MakeMe release, a complete source code snapshot is provided. You can download a source package from the MakeMe web site or you can retrieve it from the MakeMe GitHub repository. If you download from the repository, please use the master branch for the most recent stable snapshot. For less stable daily builds, use the dev branch.

Download Source GitHub Repository

Building and Installing MakeMe

  1. Download and extract the source code.
  2. Change directory to the top level of the source code.
  3. Do a bootstrap make via "make boot" on Linux or MacOS and "make" on Windows.
  4. Install via "make install" on Linux or MacOS".

Building on Linux or MacOS

wget https://s3.amazonaws.com/embedthis.software/makeme-0.10.5-src.tgz
tar xfz makeme-0.10.5-0-src.tgz
cd me-0.10.5
make boot
sudo make install 

Building on Windows

Download and extract https://s3.amazonaws.com/embedthis.software/makeme-0.10.5-src.tgz

Removing MakeMe on Linux or MacOS

  1. Run a terminal and change directory to the installation directory for MakeMe. This is typically "/usr/local/lib/makeme/latest".
  2. Run the uninstall script in the MakeMe install directory:
cd /usr/local/lib/makeme/latest
sudo ./uninstall

Running MakeMe

You can invoke MakeMe simply as me

$ me
me.es: ERROR: Can't find suitable start.me.
Run "me --gen start" to create stub start.me

This indicates you are ready to start by creating your first start.me file. To learn more, read the MakeMe Overview.

To display the various MakeMe command options, type:

$ me help
Usage: me [options] [targets|actions] ...
--benchmark                              # Measure elapsed time
--chdir dir                              # Directory to build from
--configure /path/to/source              # Configure for building
--continue                               # Continue on errors
--debug                                  # Same as --profile debug
--depth level                            # Set utest depth level
--diagnose                               # Emit diagnostic trace
--dump                                   # Dump the full project me file
--endian [big|little]                    # Define the CPU endianness
--file file.me                           # Use the specified me file
--force                                  # Override warnings
--gen [make|nmake|sh|vs|xcode|main|start]# Generate project file
--help                                   # Print help message
--import                                 # Import standard me environment
--keep                                   # Keep intermediate files
--log logSpec                            # Save errors to a log file
--nocross                                # Build natively
--overwrite                              # Overwrite existing files
--out path                               # Save output to a file
--platform os-arch-profile               # Build for specified platform
--pre                                    # Pre-process a source file to stdout
--prefix dir=path                        # Define installation path prefixes
--profile [debug|release|...]            # Use the build profile
--quiet                                  # Quiet operation. Suppress trace
--rebuild                                # Rebuild all specified targets
--reconfigure                            # Reconfigure with existing settings
--release                                # Same as --profile release
--rom                                    # Build for ROM without a file system
--set [feature=value]                    # Enable and a feature
--show                                   # Show commands executed
--static                                 # Make static libraries
--unicode                                # Set char size to wide (unicode)
--unset feature                          # Unset a feature
--version                                # Display the me version
--verbose                                # Trace operations
--watch [sleep time]                     # Watch for changes and rebuild
--why                                    # Why a target was or was not built
--with PACK[=PATH]                       # Build with package at PATH
--without PACK                           # Build without a package