If the components are represented by individual modules (that may pull in other stuff as required), then you could use a configuration file (or GUI front end) to select the components for a distribution, create a dummy script that uses each of the required components' modules and aim a dependency walker at that to get your manifest.
Once you have a manifest you can either build the makefile.pl, or you could use the manifest and a script to create the directory structure containing the files for distribution. Creating a distribution set of files probably allows easier testing and management of each deployment, although you probably don't want to perform maintenance work on the distribution image.
Perl is environmentally friendly - it saves trees