The ProjectMaker - Speed up your compile times!

© 2005/2006 by Oliver Rutsch

What is this ProjectMaker tool?
Command line options and usage

Download ProjectMaker V1.4.1 and sources (437 kb) 07.12.2005

What's new in version 1.4?

Click here for "what's new" of former versions

The intension of the ProjectMaker tool is to speed up large project builds in a comfortable way.
If you're working on a large project then you may have noticed that compile times are slowing down more and more in the IDE. I don't know what the IDE compiler does in this time, but if you're exporting your project to a makefile and build this with the command line compiler bcc32.exe you will notice, that your project will compile 2-3 times faster than before. On large projects that's a great gain of time. In our company we have some projects where it is ten(!) times faster than the IDE. But exporting makefiles and building everything with batchfiles isn't very comfortable so most of us will stick with the IDE compiler.
For this purpose I created the ProjectMaker, a completely free tool for managing and compiling project groups.
The function of this tool is fairly simple, as it is using the borland command line tools in some combinations to compile a project. The following steps are executing when compiling a project with the ProjectMaker:

  1. Call the commands in the pre-command line

  2. Call bpr2mak for the specified projects. This creates (and overwrites!) a makefile with the name <project>.mak

  3. Corrects some bugs of the bpr2mak program. AFAIK it is the same program in BCB5 and 6

  4. Call make -f (-b) <project>.mak

  5. Call the commands in the post-command line

So, if make -f of a project works, then it should work in the ProjectMaker, too.


This tool needs no special installation. Just copy it to the place you like best and start it from here. The start directory needs write access to store the .ini-file of the ProjectMaker defaults.

Command line options and usage:

ProjectMaker <MyProject>.pmf <options>
The ProjectMaker file (.pmf) must be the first parameter, if you want to load a dedicated .pmf file on startup.

-l <logfile> : Log all output into the specified file. Useful for unattended builds.
-stop : Stops the compilation on any error. Overrides .ini-file entry.
-nonstop : Stops not on compilation errors. Overrides .ini-file entry.
-make : Starts the make process on all projects.
-build : Starts the build process on all projects.
-close : Closes the ProjectMaker after -make or -build

The usage of this tool is very simple: Just import a project group (.bpg) or single projects (.bpr, .bpk) and use the buttons you already know from the BCB IDE. Most of the time it will work out of the box and will compile your projects like before, but faster ;-)



To do-list:

Here's a screenshot:

Screenshot of ProjectMaker

  Comments and suggestions are welcome: