git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1674 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			49 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#
 | 
						|
# Copyright (c) 2006, Intel Corporation   All rights reserved.
 | 
						|
#
 | 
						|
# This program and the accompanying materials are licensed and made
 | 
						|
# available under the terms and conditions of the BSD License which
 | 
						|
# accompanies this distribution.  The full text of the license may 
 | 
						|
# be found at  http://opensource.org/licenses/bsd-license.php
 | 
						|
#
 | 
						|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | 
						|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
						|
 | 
						|
Overview
 | 
						|
--------
 | 
						|
The Merge program is designed to merge the contents of similar modules into a
 | 
						|
single module for size reduction. The combined module will link in one copy of
 | 
						|
the libraries, rather than have multiple copies of the libraries linked in to
 | 
						|
each individual driver.
 | 
						|
 | 
						|
Rules:
 | 
						|
  The ModuleType must be identical for each of the (leaf) modules.
 | 
						|
  At least one architecture type must be common for all modules, and the merged
 | 
						|
module will only support the common architecture types.
 | 
						|
  ALL modules to be merged must be in a directory structure below the location
 | 
						|
of the merged module.
 | 
						|
  The package must be within a directly directory line with the merged module's
 | 
						|
MSA file. (Parent directories.)
 | 
						|
  The copying of the files from the "leaf" directory into the merge module's
 | 
						|
directory structure must be handled by an external program.
 | 
						|
  The merge program must be run everytime a leaf module is modified.
 | 
						|
  The external copy program must also be run everytime a leaf module is modified.
 | 
						|
  Two or more leaf modules must be specified.
 | 
						|
  The merged module must be added to a package (SPD) file before it can be used.
 | 
						|
  PCD Driver Modules cannot be merged, nor combined with other modules.
 | 
						|
  Leaf Module Global BuildOptions and UserExtensions are not merged.
 | 
						|
 | 
						|
 | 
						|
merge Usage:  
 | 
						|
  merge [-v] -t target [-u UiName] [-p PackageFile] dir1\leaf1 ... dirN\leafN [-h | -? | --help]
 | 
						|
    where:
 | 
						|
      -h | -? | --help            OPTIONAL - This Help Text
 | 
						|
      -t Target                   REQUIRED - The Name of the new Merge Module MSA file
 | 
						|
      -p Package                  OPTIONAL - The Name of the Package (SPD) file to add the target
 | 
						|
      -u UiName                   OPTIONAL - The User Interface Name for the Target Module
 | 
						|
      -v                          OPTIONAL - Verbose, print information messages.
 | 
						|
      -o OutputFileBasename       OPTIONAL - Set the Output Filename for this module to Basename
 | 
						|
      dir1\leaf1 ... dirN\leafN   REQUIRED The path to two or more MSA files that will be merged
 | 
						|
 | 
						|
 |