The Palacios build process has been changed recently from a homegrown environment to the widely used KBuild environment. KBuild is also used for building Kitten. Because KBuild is the build environment used for Linux, much of what you learn about configuring and building Linux kernels is readily applicable to Palacios and Kitten.
The output of the Palacios build process is a static library that includes the Palacios VMM and relevant guest support code blocks. This static library is then linked into a host operating system. Palacios internally supports GeekOS and can generate a complete OS image via a unified build process. By complete OS image, we mean an ISO image containing GeekOS, Palacios, and a guest image (another ISO image) for testing.
These days, however, Palacios is typically embedded into Kitten, not GeekOS. To combine Palacios with Kitten, it is necessary to first configure and build Palacios, then to configure and build Kitten, linking in Palacios. Kitten can also be configured to link in a guest image for testing.