MPC (The Makefile, Project, and Workspace Creator)

A fragile build system may preclude you from supporting diversity. Diversity in terms of platform targets for your software enables you to keep your vendor options open. Makefile, Project, and workspace Creator was originally developed by OCI to assist the ACE and TAO open source development community in supporting multi-platform software.

Developing applications that span platforms (portable code) has the beneficial side effect of producing more robust implementations. It does this by keeping your developers close to the mainstream of language features. MPC minimizes the additional cost normally associated with supporting more than one platform.

MPC was originally developed for, is used with, and is delivered with the ACE and TAO open source code. However, MPC can be used in almost any situation as a tool, able to complement and simplify your existing build environments. It's more than just a Makefile generator; it supports multiple versions of make (GNU, Microsoft, Borland, Automake), Visual C++ 6.0 and Visual Studio 2003, 2005, 2008 and now 2010.

Why MPC?

Write once.... and build many.......

Maintaining multiple build tool files for a multi-platform project can be tedious, especially if it is constantly changing and evolving. A project may support GNU Makefiles, Visual Studio project files, Borland Makefiles, and many others. Adding or deleting files, changing project options or even changing the name of the target within your project will incur a time expense to modify each build tool file. Synchronization is a must to ensure the integrity of a build. A single location to store project specific information is needed to avoid repetitious, tedious modifications to multiple build tool files. Adding a new IDE should not be a source of concern and should not have a negative impact on the build process. Some Make systems such as GNUMake and Clearmake may not work well together, which will force you to choose between them. This should not happen. Many projects will benefit from the integration of more than one tool. The build environment should be inclusive, not mutually exclusive. This is where “Make-Project-Creator” (MPC) comes into the picture.