README 1.72 KB
Newer Older
Andres S. CHARIF-RUBIAL's avatar
Andres S. CHARIF-RUBIAL committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
MAQAO (Modular Assembly Quality Analyzer and Optimizer)


##### Pre-requisites #####
The following packages and softwares have to be installed before launching the installation:
- gcc
- g++
- cmake (>= 2.8.8, available at http://www.cmake.org/cmake/resources/software.html)
- glibc-static
- libstdc++-static
If you choose the original lua package (and not luajit) then you will also need:
- libreadline-dev
- libncurses-dev

##### Installation #####
MAQAO is a cmake based project.
Go into the MAQAO folder
Cédric VALENSI's avatar
Cédric VALENSI committed
18
If no "build" directory is present, create it
Andres S. CHARIF-RUBIAL's avatar
Andres S. CHARIF-RUBIAL committed
19
   $ mkdir build
Cédric VALENSI's avatar
Cédric VALENSI committed
20
Go into the build folder:
Andres S. CHARIF-RUBIAL's avatar
Andres S. CHARIF-RUBIAL committed
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
   $ cd build
Then run the following commands:
   $ cmake ..
   $ make

##### Documentation #####
The documentation generation is optional and need several softwares:
- for the LUA API documentation, luadoc is needed (http://keplerproject.github.com/luadoc/)
- for the C API documentation, doxygen is needed (http://www.stack.nl/~dimitri/doxygen/)
To build the documentation, go in the build directory and type:
   $ make doc
Generated files are available trough a web browser. The LUA API documentation is called
DeveloperGuide.html and the C API documentation is called CoreDeveloperGuide.html. Both
are located in MAQAO/doc

Cédric VALENSI's avatar
Cédric VALENSI committed
36 37 38 39
##### Running MAQAO modules #####
A MAQAO module can be launched with the following command:
   $ maqao <module> [args]
For instance to list the functions in the binary /path_to/my_binary:
Andres S. CHARIF-RUBIAL's avatar
Andres S. CHARIF-RUBIAL committed
40 41
   $ maqao analyze --list-functions /path_to/my_binary

Cédric VALENSI's avatar
Cédric VALENSI committed
42
The -h option provides help for a given module.
Andres S. CHARIF-RUBIAL's avatar
Andres S. CHARIF-RUBIAL committed
43

Cédric VALENSI's avatar
Cédric VALENSI committed
44
To execute user-defined MAQAO/Lua scripts, use:
Andres S. CHARIF-RUBIAL's avatar
Andres S. CHARIF-RUBIAL committed
45 46 47 48 49 50
   $ maqao <lua-script> [args]
Note that MAQAO scripts are Lua scripts that can use the MAQAO Lua API extensions (see documentation for more information)

For general help on MAQAO:
   $ maqao -h