Added the DbTools that will update the FrameworkDatabase.db file based on what is...
[mirror_edk2.git] / Tools / Java / Source / Merge / readme.txt
1 #
2 # Copyright (c) 2006, Intel Corporation All rights reserved.
3 #
4 # This program and the accompanying materials are licensed and made
5 # available under the terms and conditions of the BSD License which
6 # accompanies this distribution. The full text of the license may
7 # be found at http://opensource.org/licenses/bsd-license.php
8 #
9 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Overview
13 --------
14 The Merge program is designed to merge the contents of similar modules into a
15 single module for size reduction. The combined module will link in one copy of
16 the libraries, rather than have multiple copies of the libraries linked in to
17 each individual driver.
18
19 Rules:
20 The ModuleType must be identical for each of the (leaf) modules.
21 At least one architecture type must be common for all modules, and the merged
22 module will only support the common architecture types.
23 ALL modules to be merged must be in a directory structure below the location
24 of the merged module.
25 The package must be within a directly directory line with the merged module's
26 MSA file. (Parent directories.)
27 The copying of the files from the "leaf" directory into the merge module's
28 directory structure must be handled by an external program.
29 The merge program must be run everytime a leaf module is modified.
30 The external copy program must also be run everytime a leaf module is modified.
31 Two or more leaf modules must be specified.
32 The merged module must be added to a package (SPD) file before it can be used.
33 PCD Driver Modules cannot be merged, nor combined with other modules.
34 Leaf Module Global BuildOptions and UserExtensions are not merged.
35
36
37 merge Usage:
38 merge [-v] -t target [-u UiName] [-p PackageFile] dir1\leaf1 ... dirN\leafN [-h | -? | --help]
39 where:
40 -h | -? | --help OPTIONAL - This Help Text
41 -t Target REQUIRED - The Name of the new Merge Module MSA file
42 -p Package OPTIONAL - The Name of the Package (SPD) file to add the target
43 -u UiName OPTIONAL - The User Interface Name for the Target Module
44 -v OPTIONAL - Verbose, print information messages.
45 -o OutputFileBasename OPTIONAL - Set the Output Filename for this module to Basename
46 dir1\leaf1 ... dirN\leafN REQUIRED The path to two or more MSA files that will be merged
47
48