Sync EDKII BaseTools to BaseTools project r1903.
[efi/edk2/.git] / edk2 / BaseTools / Source / Python / Makefile
1
2 !IFNDEF PYTHON_FREEZER_PATH
3 !ERROR PYTHON_FREEZER_PATH must be defined!
4 !ENDIF
5
6 FREEZE=$(PYTHON_FREEZER_PATH)\FreezePython.exe
7
8 MODULES=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_8,encodings.utf_16_le,encodings.latin_1
9
10 BIN_DIR=$(EDK_TOOLS_PATH)\Bin\Win32
11
12
13 APPLICATIONS=$(BIN_DIR)\build.exe $(BIN_DIR)\GenFds.exe $(BIN_DIR)\Trim.exe $(BIN_DIR)\MigrationMsa2Inf.exe $(BIN_DIR)\Fpd2Dsc.exe $(BIN_DIR)\TargetTool.exe $(BIN_DIR)\spd2dec.exe $(BIN_DIR)\GenDepex.exe $(BIN_DIR)\GenPatchPcdTable.exe $(BIN_DIR)\PatchPcdValue.exe
14 \r
15 COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \\r
16               $(BASE_TOOLS_PATH)\Source\Python\Common\Database.py \\r
17               $(BASE_TOOLS_PATH)\Source\Python\Common\DataType.py \\r
18               $(BASE_TOOLS_PATH)\Source\Python\Common\DecClassObject.py \\r
19               $(BASE_TOOLS_PATH)\Source\Python\Common\DecClassObjectLight.py \\r
20               $(BASE_TOOLS_PATH)\Source\Python\Common\Dictionary.py \\r
21               $(BASE_TOOLS_PATH)\Source\Python\Common\DscClassObject.py \\r
22               $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspace.py \\r
23               $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspaceBuild.py \\r
24               $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \\r
25               $(BASE_TOOLS_PATH)\Source\Python\Common\FdfClassObject.py \\r
26               $(BASE_TOOLS_PATH)\Source\Python\Common\FdfParserLite.py \\r
27               $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \\r
28               $(BASE_TOOLS_PATH)\Source\Python\Common\Identification.py \\r
29               $(BASE_TOOLS_PATH)\Source\Python\Common\InfClassObject.py \\r
30               $(BASE_TOOLS_PATH)\Source\Python\Common\InfClassObjectLight.py \\r
31               $(BASE_TOOLS_PATH)\Source\Python\Common\MigrationUtilities.py \\r
32               $(BASE_TOOLS_PATH)\Source\Python\Common\Misc.py \\r
33               $(BASE_TOOLS_PATH)\Source\Python\Common\Parsing.py \\r
34               $(BASE_TOOLS_PATH)\Source\Python\Common\String.py \\r
35               $(BASE_TOOLS_PATH)\Source\Python\Common\TargetTxtClassObject.py \\r
36               $(BASE_TOOLS_PATH)\Source\Python\Common\ToolDefClassObject.py \\r
37               $(BASE_TOOLS_PATH)\Source\Python\Common\XmlParser.py \\r
38               $(BASE_TOOLS_PATH)\Source\Python\Common\XmlRoutines.py \\r
39               $(BASE_TOOLS_PATH)\Source\Python\Common\__init__.py \\r
40               $(BASE_TOOLS_PATH)\Source\Python\Workspace\BuildClassObject.py \\r
41               $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaDataTable.py \\r
42               $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileParser.py \\r
43               $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileTable.py \\r
44               $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceDatabase.py \\r
45               $(BASE_TOOLS_PATH)\Source\Python\Workspace\__init__.py \\r
46               $(BASE_TOOLS_PATH)\Source\Python\Autogen\AutoGen.py \\r
47               $(BASE_TOOLS_PATH)\Source\Python\Autogen\BuildEngine.py \\r
48               $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenC.py \\r
49               $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenDepex.py \\r
50               $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenMake.py \\r
51               $(BASE_TOOLS_PATH)\Source\Python\Autogen\StrGather.py \\r
52               $(BASE_TOOLS_PATH)\Source\Python\Autogen\UniClassObject.py \\r
53               $(BASE_TOOLS_PATH)\Source\Python\Autogen\__init__.py \r
54 \r
55               \r
56 all: SetPythonPath $(APPLICATIONS)
57
58 SetPythonPath:
59   set PYTHONPATH=$(BASE_TOOLS_PATH)\Source\Python
60
61 $(BIN_DIR)\build.exe: $(BASE_TOOLS_PATH)\Source\Python\build\build.py $(COMMON_PYTHON)
62   @pushd . & @cd build & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) build.py & @popd
63
64 $(BIN_DIR)\GenFds.exe: $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py $(COMMON_PYTHON)
65   @pushd . & @cd GenFds & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenFds.py & @popd
66
67 $(BIN_DIR)\Trim.exe: $(BASE_TOOLS_PATH)\Source\Python\Trim\Trim.py $(COMMON_PYTHON)
68   @pushd . & @cd Trim & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Trim.py & @popd
69
70 $(BIN_DIR)\MigrationMsa2Inf.exe: $(BASE_TOOLS_PATH)\Source\Python\MigrationMsa2Inf\MigrationMsa2Inf.py
71   @pushd . & @cd MigrationMsa2Inf & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) MigrationMsa2Inf.py & @popd 
72
73 $(BIN_DIR)\Fpd2Dsc.exe: $(BASE_TOOLS_PATH)\Source\Python\Fpd2Dsc\Fpd2Dsc.py $(COMMON_PYTHON)
74   @pushd . & @cd Fpd2Dsc & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Fpd2Dsc.py & @popd
75 \r
76 $(BIN_DIR)\spd2dec.exe: $(BASE_TOOLS_PATH)\Source\Python\spd2dec\Spd2Dec.py $(COMMON_PYTHON)\r
77   @pushd . & @cd Spd2Dec & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Spd2Dec.py & @popd\r
78 \r
79 $(BIN_DIR)\GenDepex.exe: $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenDepex.py $(COMMON_PYTHON)\r
80   @pushd . & @cd AutoGen & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenDepex.py & @popd\r
81 \r
82 $(BIN_DIR)\TargetTool.exe: $(BASE_TOOLS_PATH)\Source\Python\TargetTool\TargetTool.py $(COMMON_PYTHON)\r
83   @pushd . & @cd TargetTool & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) TargetTool.py & @popd\r
84 \r
85 $(BIN_DIR)\GenPatchPcdTable.exe: $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py $(COMMON_PYTHON)
86   @pushd . & @cd GenPatchPcdTable & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenPatchPcdTable.py & @popd
87 \r
88 $(BIN_DIR)\PatchPcdValue.exe: $(BASE_TOOLS_PATH)\Source\Python\PatchPcdValue\PatchPcdValue.py $(COMMON_PYTHON)
89   @pushd . & @cd PatchPcdValue & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) PatchPcdValue.py & @popd
90 \r
91 clean:\r
92 cleanall:  
93   @del /f /q $(BIN_DIR)\*.pyd $(BIN_DIR)\*.dll
94   @for %%i in ($(APPLICATIONS)) do @del /f /q %%i
95