]> git.proxmox.com Git - mirror_edk2.git/blob - BaseTools/Source/Python/Makefile
26aacf947f092d0c43062bc8b0bf02a2d29f9029
[mirror_edk2.git] / BaseTools / Source / Python / Makefile
1 ## @file
2 # Windows makefile for Python tools build.
3 #
4 # Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
5 # This program and the accompanying materials
6 # are licensed and made available under the terms and conditions of the BSD License
7 # which accompanies this distribution. The full text of the license may be found at
8 # http://opensource.org/licenses/bsd-license.php
9 #
10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 #
13
14 !IFNDEF PYTHON_FREEZER_PATH
15 !ERROR PYTHON_FREEZER_PATH must be defined!
16 !ENDIF
17
18 FREEZE=$(PYTHON_FREEZER_PATH)\FreezePython.exe
19
20 MODULES=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_8,encodings.utf_16_le,encodings.latin_1
21
22 BIN_DIR=$(EDK_TOOLS_PATH)\Bin\Win32
23
24
25 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
26
27 COMMON_PYTHON=$(BASE_TOOLS_PATH)\Source\Python\Common\BuildToolError.py \
28 $(BASE_TOOLS_PATH)\Source\Python\Common\Database.py \
29 $(BASE_TOOLS_PATH)\Source\Python\Common\DataType.py \
30 $(BASE_TOOLS_PATH)\Source\Python\Common\DecClassObject.py \
31 $(BASE_TOOLS_PATH)\Source\Python\Common\DecClassObjectLight.py \
32 $(BASE_TOOLS_PATH)\Source\Python\Common\Dictionary.py \
33 $(BASE_TOOLS_PATH)\Source\Python\Common\DscClassObject.py \
34 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspace.py \
35 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkIIWorkspaceBuild.py \
36 $(BASE_TOOLS_PATH)\Source\Python\Common\EdkLogger.py \
37 $(BASE_TOOLS_PATH)\Source\Python\Common\FdfClassObject.py \
38 $(BASE_TOOLS_PATH)\Source\Python\Common\FdfParserLite.py \
39 $(BASE_TOOLS_PATH)\Source\Python\Common\GlobalData.py \
40 $(BASE_TOOLS_PATH)\Source\Python\Common\Identification.py \
41 $(BASE_TOOLS_PATH)\Source\Python\Common\InfClassObject.py \
42 $(BASE_TOOLS_PATH)\Source\Python\Common\InfClassObjectLight.py \
43 $(BASE_TOOLS_PATH)\Source\Python\Common\MigrationUtilities.py \
44 $(BASE_TOOLS_PATH)\Source\Python\Common\Misc.py \
45 $(BASE_TOOLS_PATH)\Source\Python\Common\Parsing.py \
46 $(BASE_TOOLS_PATH)\Source\Python\Common\String.py \
47 $(BASE_TOOLS_PATH)\Source\Python\Common\TargetTxtClassObject.py \
48 $(BASE_TOOLS_PATH)\Source\Python\Common\ToolDefClassObject.py \
49 $(BASE_TOOLS_PATH)\Source\Python\Common\XmlParser.py \
50 $(BASE_TOOLS_PATH)\Source\Python\Common\XmlRoutines.py \
51 $(BASE_TOOLS_PATH)\Source\Python\Common\__init__.py \
52 $(BASE_TOOLS_PATH)\Source\Python\Workspace\BuildClassObject.py \
53 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaDataTable.py \
54 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileParser.py \
55 $(BASE_TOOLS_PATH)\Source\Python\Workspace\MetaFileTable.py \
56 $(BASE_TOOLS_PATH)\Source\Python\Workspace\WorkspaceDatabase.py \
57 $(BASE_TOOLS_PATH)\Source\Python\Workspace\__init__.py \
58 $(BASE_TOOLS_PATH)\Source\Python\Autogen\AutoGen.py \
59 $(BASE_TOOLS_PATH)\Source\Python\Autogen\BuildEngine.py \
60 $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenC.py \
61 $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenDepex.py \
62 $(BASE_TOOLS_PATH)\Source\Python\Autogen\GenMake.py \
63 $(BASE_TOOLS_PATH)\Source\Python\Autogen\StrGather.py \
64 $(BASE_TOOLS_PATH)\Source\Python\Autogen\UniClassObject.py \
65 $(BASE_TOOLS_PATH)\Source\Python\Autogen\__init__.py
66
67
68 all: SetPythonPath $(APPLICATIONS)
69
70 SetPythonPath:
71 set PYTHONPATH=$(BASE_TOOLS_PATH)\Source\Python
72
73 $(BIN_DIR)\build.exe: $(BASE_TOOLS_PATH)\Source\Python\build\build.py $(COMMON_PYTHON)
74 @pushd . & @cd build & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) build.py & @popd
75
76 $(BIN_DIR)\GenFds.exe: $(BASE_TOOLS_PATH)\Source\Python\GenFds\GenFds.py $(COMMON_PYTHON)
77 @pushd . & @cd GenFds & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenFds.py & @popd
78
79 $(BIN_DIR)\Trim.exe: $(BASE_TOOLS_PATH)\Source\Python\Trim\Trim.py $(COMMON_PYTHON)
80 @pushd . & @cd Trim & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Trim.py & @popd
81
82 $(BIN_DIR)\MigrationMsa2Inf.exe: $(BASE_TOOLS_PATH)\Source\Python\MigrationMsa2Inf\MigrationMsa2Inf.py
83 @pushd . & @cd MigrationMsa2Inf & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) MigrationMsa2Inf.py & @popd
84
85 $(BIN_DIR)\Fpd2Dsc.exe: $(BASE_TOOLS_PATH)\Source\Python\Fpd2Dsc\Fpd2Dsc.py $(COMMON_PYTHON)
86 @pushd . & @cd Fpd2Dsc & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Fpd2Dsc.py & @popd
87
88 $(BIN_DIR)\spd2dec.exe: $(BASE_TOOLS_PATH)\Source\Python\spd2dec\Spd2Dec.py $(COMMON_PYTHON)
89 @pushd . & @cd Spd2Dec & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) Spd2Dec.py & @popd
90
91 $(BIN_DIR)\GenDepex.exe: $(BASE_TOOLS_PATH)\Source\Python\AutoGen\GenDepex.py $(COMMON_PYTHON)
92 @pushd . & @cd AutoGen & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenDepex.py & @popd
93
94 $(BIN_DIR)\TargetTool.exe: $(BASE_TOOLS_PATH)\Source\Python\TargetTool\TargetTool.py $(COMMON_PYTHON)
95 @pushd . & @cd TargetTool & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) TargetTool.py & @popd
96
97 $(BIN_DIR)\GenPatchPcdTable.exe: $(BASE_TOOLS_PATH)\Source\Python\GenPatchPcdTable\GenPatchPcdTable.py $(COMMON_PYTHON)
98 @pushd . & @cd GenPatchPcdTable & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) GenPatchPcdTable.py & @popd
99
100 $(BIN_DIR)\PatchPcdValue.exe: $(BASE_TOOLS_PATH)\Source\Python\PatchPcdValue\PatchPcdValue.py $(COMMON_PYTHON)
101 @pushd . & @cd PatchPcdValue & @$(FREEZE) --include-modules=$(MODULES) --install-dir=$(BIN_DIR) PatchPcdValue.py & @popd
102
103 clean:
104 cleanall:
105 @del /f /q $(BIN_DIR)\*.pyd $(BIN_DIR)\*.dll
106 @for %%i in ($(APPLICATIONS)) do @del /f /q %%i
107