Loading Large, Wide-Spread Projects

Here are some general considerations for when you're dealing with large projects, or projects that are spread out over many directories.

Divide large projects into smaller ones

There are two reasons for limiting the size of a project. As projects get larger, the performance of Imagix 4D slows. More importantly, as you use Imagix 4D in larger projects, you spend more effort filtering through data in which you have no interest. So, where possible, break large projects into smaller ones by creating individual projects for particular subsystems.

Sometimes, you'll still want to see a wider scope of your system. Once you have created the individual projects you want for examining subsystems, you can combine the individual projects together in order to analyze a larger portion of your software. This is done through the Open Combination of Projects dialog (File > Open Project... > Combine>>). In this dialog, you're able to specify a set of individual projects to load simultaneously as a comboproject.

If the combination of projects is one that you may want to revisit later, you can save it as a comboproject, and then open it just like a regular project through the Open Project dialog. You can repeat this over multiple levels, creating comboprojects of comboprojects (see the ComboProjects section for more info).

Replicate projects (for Add Targets to Makefile approach)

If your source code is spread across many directories, create a different project for each directory (since files are typically grouped into directories because they are related, each directory will typically hold a specific sub-system).

To replicate projects, first set up the project in one directory. Make sure you use the imagix.mak approach (step 2b).

Then, for each source code directory, copy the imagix.mak file. Modify the first line (`include /path/name/of/real/makefile') so it points to the correct real makefile for the new directory. Modify the definitions for IMAGIX_SRCDIR, IMAGIX_MAKEFILE, and IMAGIX_PROJDIR so they point to the new directory locations.

If your makefiles are consistent, this should be all you need to modify. If your different makefiles use different make macro names, you may need to modify IMAGIX_SOURCES, and IMAGIX_FLAGS.

After saving the modifications to imagix.mak in the current directory, invoke `make -f imagix.mak imagix_proj'. This will set up the project. Then, if you want to analyze the code, invoke `make -f imagix.mak imagix'. Otherwise, the code will be analyzed when you first open the project.

After you've got the individual directories / projects set up, use the comboproject approach to combine individual projects into larger projects (see above).