Chapter 3. How to use umake to create engines and components?

Table of Contents

Basic usage
Specifying the source
Specifying a different host or SDK
Specifying the output file
Passing parameters to make
Examples

Basic usage

To compile all source files in the current directory (and its subdirectories) and link them with the Remote SDK, simply type umake. To compile all source files in the current directory and produce a library, type umake-lib. To compile all source files in the current directory and link with the Engine SDK, type umake-engine.

$ ls

foo.cc foo.hh

$ umake

/usr/local/gostai/core/linux/libtool
--tag=CXX --mode=compile g++ -O2 -pthread
-I/usr/local/gostai/core/include -c foo.cc -o foo.lo g++ -O2 -pthread
-I/usr/local/gostai/core/include -c foo.cc -o foo.o
/usr/local/gostai/core/linux/libtool --mode=link --tag=CXX g++ -O2
-pthread -L/usr/local/gostai/core/linux/remote -o
urbiengine-linux-remote ./foo.o
/usr/local/gostai/core/linux/remote/*.la mkdir .libs libtool: link:
warning: library
`/usr/local/gostai/core/linux/remote/libkernel-remote.la' was moved.
libtool: link: warning: library
`/usr/local/gostai/core/linux/remote/libkernel-remote.la' was moved.
g++ -O2 -pthread -o urbiengine-linux-remote ./foo.o
-L/usr/local/gostai/core/linux/remote
/usr/local/gostai/core/linux/remote/libkernel-remote.a
-L/tmp/urbi/gostai/core/linux/remote

$ ls

foo.cc foo.hh foo.lo foo.o urbiengine-linux-remote