[Makefile] Bugfix "gen" folder creation

The gen folder is created the first time the core is built. This folder
will host the files generated starting from the XML descriptor.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[Makefile] Bugfix libproduct dependency

Usually, the libproduct is built out of the XML descriptor generated files
and only linked with the Stesp (i.e. XTIL) libraries. This patch removes
the build dependency from the STEPS library since this lib is to be considered
pre-build and already available in binary.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[Test100] Add a 100 steps single-PCB test case

This allows to evaluate the build type of a single PCB with many steps.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
Add include guards

These are required to easily build a single compilation unit where each
PCB/Program block is generated as if it is alone. BTW this is also a
better code style ;-)

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[Generator] Define XML product at class construction time

This allows to easily switch from one product to another.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[Generaotr] Refactor to build a single compilation unit

A single product compilation unit is generated in order to speed-up the
building time by exploiting a single GCC invocation.
The generator as well should be faster since a single output file if going
to be generated.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[Makefile] Switch to single compilation unit

A single compilation unit is not produced by the Code Generator, thus this
patch remove all the PCB/Programs related targets.

Moreover, the dependencies between xtil, steps and the core are better tracked
to optimize rebuilds. Xtil and steps library are now generated once the core
is built.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>
[Tests] Add 300 and 1K steps test cases

This patch adds a couple of XML products to test the time required for the
generation of 300 and 1000 steps programs.

Signed-off-by: Patrick Bellasi <derkling@gmail.com>