git subrepo clone https://github.com/agottem/weld.git weld
subrepo:
subdir: "weld"
merged: "d0cd07b"
upstream:
origin: "https://github.com/agottem/weld.git"
branch: "master"
commit: "d0cd07b"
git-subrepo:
version: "0.3.1"
origin: "???"
commit: "???"
Change-Id: I109553651e97fd93e00aa555d171ca9d04ce8585
diff --git a/weld/doc/command_line.txt b/weld/doc/command_line.txt
new file mode 100644
index 0000000..f0b67e5
--- /dev/null
+++ b/weld/doc/command_line.txt
@@ -0,0 +1,91 @@
+For detailed information on using, building, and modifying Weld, please visit:
+http://www.agottem.com/weld
+
+Weld provides a variety of options when building. When building, the following variables may be set
+either in your environment or on the command line:
+
+ source_path -- set to the root of the project
+ build_path -- set to the directory all build output should be directed to
+ config_file -- arbitrary file to include with the build which may set additional settings
+ mode -- set to 'release' or 'debug' to build the desired binary
+ arch -- set to the desired architecture such as 'i686' or 'amd64'
+ platform -- set to the desired platform target such as 'unix' or 'win32'
+ c_toolchain -- set to the toolchain to use for the build such as 'gcc'
+ show_progress -- set to 1 to print the name of each artifact being built
+ debug_weld -- set to 1 to print out internal weld debugging info
+
+The above variables may be simply set in your weld project's top-level makefile or in a config file
+which is specified by the "config_file" variable. For instance, you could define the config file
+"example_config.mk" below:
+
+example_config.mk:
+ source_path := /my/projects/fun
+ build_path := /my/projects/build
+ mode := debug
+ arch := i686
+ platform := linux
+ c_toolchain := gcc
+
+You could then build with the command line:
+ make config_file=example_config.mk
+
+Alternatively you could simply add these options to your project's top-level makefile:
+
+makefile:
+ source_path := /my/projects/fun
+ build_path := /my/projects/build
+ mode := debug
+ arch := i686
+ platform := linux
+ c_toolchain := gcc
+
+ include $(weld_path)/weld.mk
+
+With the above, you could then simply build with the command line:
+ make
+
+Once your weld project is setup, you can build by specifying the following targets
+
+ # build everything
+ make
+ make build
+
+ # clean everything
+ make clean
+
+ # build just a single component and its dependencies
+ make my_component_name
+
+ # build just a single source file for a component
+ make my_component_name/source.o
+
+ # install just a component's headers
+ make my_component_name_headers
+
+ # clean just a component's headers
+ make clean_my_component_name_headers
+
+ # install just a component's resources
+ make my_component_name_resources
+
+ # clean just a component's resources
+ make clean_my_component_name_resources
+
+ # make just a library
+ make libmy_component_name.a
+
+ # make just a binary
+ make bin/my_component_name
+
+The above make commands may be a bit verbose for your taste as each command is echoed
+to the terminal. For something a little easier to read, you might prefer:
+ make --quiet show_progress=1
+
+There are quite a few options and possibilities involved here. For the best experience,
+I recommend doing something like this:
+ alias weld="make -C /my/project/root --quiet show_progress=1""
+
+The above will enable you to, from any directory, do the following:
+ weld my_component
+ weld clean
+ weld