]> git.proxmox.com Git - mirror_edk2.git/blame - DuetPkg/EfiLdr/X64/Makefile
Add missing module for duet package.
[mirror_edk2.git] / DuetPkg / EfiLdr / X64 / Makefile
CommitLineData
9071550e 1#/*++\r
2#\r
3# Copyright (c) 2006 - 2007, Intel Corporation \r
4# All rights reserved. This program and the accompanying materials \r
5# are licensed and made available under the terms and conditions of the BSD License \r
6# which accompanies this distribution. The full text of the license may be found at \r
7# http://opensource.org/licenses/bsd-license.php \r
8# \r
9# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11# \r
12# Module Name: \r
13# Makefile\r
14# \r
15# Abstract:\r
16# \r
17#--*/\r
18\r
19#\r
20# Globals\r
21#\r
22BIN_DIR = $(BUILD_DIR)\$(PROCESSOR)\r
23TOOLCHAIN = TOOLCHAIN_$(PROCESSOR)\r
24\r
25TOOLBIN_DIR = $(BUILD_DIR)\Tools\r
26\r
27#\r
28# Include CommonTools.env enviroment\r
29#\r
30\r
31!INCLUDE $(BUILD_DIR)\PlatformTools.env\r
32\r
33#\r
34# Include paths\r
35#\r
36INC = -I $(SOURCE_DIR)\. -I $(SOURCE_DIR)\.\$(PROCESSOR) $(INC)\r
37INC = -I $(EDK_SOURCE)\Foundation\ \\r
38 -I $(EDK_SOURCE)\Foundation\Include \\r
39 -I $(EDK_SOURCE)\Foundation\Include\$(PROCESSOR) \\r
40 -I $(EDK_SOURCE)\Foundation\Efi \\r
41 -I $(EDK_SOURCE)\Foundation\Efi\Include \\r
42 -I $(EDK_SOURCE)\Foundation\Framework \\r
43 -I $(EDK_SOURCE)\Foundation\Framework\Include \\r
44 -I $(EDK_SOURCE)\Foundation\Library\Dxe\Include \\r
45 -I $(EDK_SOURCE)\Foundation\Library\Pei\Include \\r
46 -I $(EDK_SOURCE)\Foundation\Include\Pei \\r
47 $(INC)\r
48\r
49LDRDEP = $(BUILD_DIR)\..\Loader\EfiLdr\Efildr.c \\r
50 $(BUILD_DIR)\..\Loader\EfiLdr\EfiLdrHandoff.h \\r
51 $(BUILD_DIR)\..\Loader\EfiLdr\EfiLoader.c \\r
52 $(BUILD_DIR)\..\Loader\EfiLdr\Debug.c \\r
53 $(BUILD_DIR)\..\Loader\EfiLdr\Debug.h \\r
54 $(BUILD_DIR)\..\Loader\EfiLdr\PeLoader.c \\r
55 $(BUILD_DIR)\..\Loader\EfiLdr\PeLoader.h \\r
56 $(BUILD_DIR)\..\Loader\EfiLdr\Support.c \\r
57 $(BUILD_DIR)\..\Loader\EfiLdr\Support.h\r
58\r
59all : \\r
60 $(BIN_DIR)\BootSect.com \\r
61 $(BIN_DIR)\Bs16.com \\r
62 $(BIN_DIR)\Bs32.com \\r
63 $(BIN_DIR)\Gpt.com \\r
64 $(BIN_DIR)\Mbr.com \\r
65 $(BIN_DIR)\Start64.com \\r
66 $(BIN_DIR)\St16_64.com \\r
67 $(BIN_DIR)\St32_64.com \\r
68 $(BIN_DIR)\Efi64.com2 \\r
69 $(BIN_DIR)\Efildr.efi \\r
70\r
71\r
72loader : \\r
73 Fv\Efildr \\r
74 Fv\Efildr16 \\r
75 Fv\Efildr20 \\r
76\r
77\r
78#\r
79# Generate loader object\r
80#\r
81$(BIN_DIR)\BootSect.obj: $(BUILD_DIR)\..\Loader\BootSector\BootSect.asm\r
82 $(ASM16) /c /omf /Fo$(BIN_DIR)\BootSect.obj $(BUILD_DIR)\..\Loader\BootSector\BootSect.asm \r
83\r
84$(BIN_DIR)\BootSect.com: $(BIN_DIR)\BootSect.obj\r
85 cd $(BIN_DIR)\r
86 $(ASMLINK16) /tiny BootSect.obj,BootSect.com,BootSect.map,,,\r
87\r
88$(BIN_DIR)\Bs16.obj: $(BUILD_DIR)\..\Loader\BootSector\Bs16.asm\r
89 $(ASM16) /c /omf /Fo$(BIN_DIR)\Bs16.obj $(BUILD_DIR)\..\Loader\BootSector\Bs16.asm \r
90\r
91$(BIN_DIR)\Bs16.com: $(BIN_DIR)\Bs16.obj\r
92 cd $(BIN_DIR)\r
93 $(ASMLINK16) /tiny Bs16.obj,Bs16.com,Bs16.map,,,\r
94\r
95$(BIN_DIR)\Bs32.obj: $(BUILD_DIR)\..\Loader\BootSector\Bs32.asm\r
96 $(ASM16) /c /omf /Fo$(BIN_DIR)\Bs32.obj $(BUILD_DIR)\..\Loader\BootSector\Bs32.asm \r
97\r
98$(BIN_DIR)\Bs32.com: $(BIN_DIR)\Bs32.obj\r
99 cd $(BIN_DIR)\r
100 $(ASMLINK16) /tiny Bs32.obj,Bs32.com,Bs32.map,,,\r
101\r
102$(BIN_DIR)\Gpt.obj: $(BUILD_DIR)\..\Loader\BootSector\Gpt.asm\r
103 $(ASM16) /c /omf /Fo$(BIN_DIR)\Gpt.obj $(BUILD_DIR)\..\Loader\BootSector\Gpt.asm \r
104\r
105$(BIN_DIR)\Gpt.com: $(BIN_DIR)\Gpt.obj\r
106 cd $(BIN_DIR)\r
107 $(ASMLINK16) /tiny Gpt.obj,Gpt.com,Gpt.map,,,\r
108\r
109$(BIN_DIR)\Mbr.obj: $(BUILD_DIR)\..\Loader\BootSector\Mbr.asm\r
110 $(ASM16) /c /omf /Fo$(BIN_DIR)\Mbr.obj $(BUILD_DIR)\..\Loader\BootSector\Mbr.asm \r
111\r
112$(BIN_DIR)\Mbr.com: $(BIN_DIR)\Mbr.obj\r
113 cd $(BIN_DIR)\r
114 $(ASMLINK16) /tiny Mbr.obj,Mbr.com,Mbr.map,,,\r
115\r
116$(BIN_DIR)\Start64.obj: $(BUILD_DIR)\..\Loader\BootSector\Start64.asm\r
117 $(ASM16) /c /omf /Fo$(BIN_DIR)\Start64.obj $(BUILD_DIR)\..\Loader\BootSector\Start64.asm \r
118\r
119$(BIN_DIR)\Start64.com: $(BIN_DIR)\Start64.obj\r
120 cd $(BIN_DIR)\r
121 $(ASMLINK16) /tiny Start64.obj,Start64.com,Start64.map,,,\r
122\r
123$(BIN_DIR)\St16_64.obj: $(BUILD_DIR)\..\Loader\BootSector\St16_64.asm\r
124 $(ASM16) /c /omf /Fo$(BIN_DIR)\St16_64.obj $(BUILD_DIR)\..\Loader\BootSector\St16_64.asm \r
125\r
126$(BIN_DIR)\St16_64.com: $(BIN_DIR)\St16_64.obj\r
127 cd $(BIN_DIR)\r
128 $(ASMLINK16) /tiny St16_64.obj,St16_64.com,St16_64.map,,,\r
129\r
130$(BIN_DIR)\St32_64.obj: $(BUILD_DIR)\..\Loader\BootSector\St32_64.asm\r
131 $(ASM16) /c /omf /Fo$(BIN_DIR)\St32_64.obj $(BUILD_DIR)\..\Loader\BootSector\St32_64.asm \r
132\r
133$(BIN_DIR)\St32_64.com: $(BIN_DIR)\St32_64.obj\r
134 cd $(BIN_DIR)\r
135 $(ASMLINK16) /tiny St32_64.obj,St32_64.com,St32_64.map,,,\r
136\r
137$(BIN_DIR)\Efi64.obj: $(BUILD_DIR)\..\Loader\BootSector\Efi64.asm\r
138 $(ASM16) /c /omf /Fo$(BIN_DIR)\Efi64.obj $(BUILD_DIR)\..\Loader\BootSector\Efi64.asm \r
139\r
140$(BIN_DIR)\Efi64.com: $(BIN_DIR)\Efi64.obj\r
141 cd $(BIN_DIR)\r
142 $(ASMLINK16) /tiny Efi64.obj,Efi64.com,Efi64.map,,,\r
143\r
144$(BIN_DIR)\Efi64.com2: $(BIN_DIR)\Efi64.com\r
145 $(TOOLBIN_DIR)\Splitfile $(BIN_DIR)\Efi64.com 135168\r
146\r
147$(BIN_DIR)\Efildr.obj: $(LDRDEP)\r
148 $(CC) $(C_FLAGS) $(BUILD_DIR)\..\Loader\EfiLdr\Efildr.c\r
149\r
150$(BIN_DIR)\Efildr.dll: $(BIN_DIR)\Efildr.obj\r
151 $(LINK) /nologo /MACHINE:AMD64 /SUBSYSTEM:CONSOLE /NODEFAULTLIB /INCREMENTAL:NO \\r
152 /MAP /FIXED /BASE:0x00010000 /OPT:REF /ALIGN:32 /MERGE:.data=.text \\r
153 /MERGE:.rdata=.text /DRIVER /ENTRY:EfiLoader $(BIN_DIR)\Efildr.obj \\r
154 $(BIN_DIR)\CompilerStub.lib $(BIN_DIR)\EfiCommonLib.lib $(BIN_DIR)\PeiLib.lib \\r
155 /OUT:$(BIN_DIR)\Efildr.dll /IGNORE:4078,4096\r
156\r
157$(BIN_DIR)\Efildr.efi: $(BIN_DIR)\Efildr.dll\r
158 $(TOOLBIN_DIR)\FwImage app $(BIN_DIR)\Efildr.dll $(BIN_DIR)\Efildr.efi\r
159\r
160#\r
161# Generate loader binary\r
162#\r
163Fv\EfiMain.z : Fv\EfiMain.fv\r
164 $(TOOLBIN_DIR)\Eficompress -tTiano Fv\EfiMain.fv Fv\EfiMain.z\r
165 \r
166Fv\DxeMain.z : $(BIN_DIR)\DxeMain.efi\r
167 $(TOOLBIN_DIR)\Eficompress -tTiano $(BIN_DIR)\DxeMain.efi Fv\DxeMain.z\r
168 \r
169Fv\DxeIpl.z : $(BIN_DIR)\DxeIpl.efi\r
170 $(TOOLBIN_DIR)\Eficompress -tTiano $(BIN_DIR)\DxeIpl.efi Fv\DxeIpl.z\r
171\r
172Fv\Efildr64: $(BIN_DIR)\Efildr.efi Fv\DxeIpl.z Fv\DxeMain.z Fv\EfiMain.z\r
173 $(TOOLBIN_DIR)\Efildrimage Fv\Efildr64 $(BIN_DIR)\Efildr.efi Fv\DxeIpl.z Fv\DxeMain.z Fv\EfiMain.z\r
174\r
175Fv\Efildr: $(BIN_DIR)\Start64.com $(BIN_DIR)\Efi64.com2 Fv\Efildr64\r
176 copy /b $(BIN_DIR)\Start64.com+$(BIN_DIR)\Efi64.com2+Fv\Efildr64 Fv\EfildrPure\r
177 $(TOOLBIN_DIR)\GenPage Fv\EfildrPure Fv\Efildr\r
178\r
179Fv\Efildr16: $(BIN_DIR)\St16_64.com $(BIN_DIR)\Efi64.com2 Fv\Efildr64\r
180 copy /b $(BIN_DIR)\St16_64.com+$(BIN_DIR)\Efi64.com2+Fv\Efildr64 Fv\Efildr16Pure\r
181 $(TOOLBIN_DIR)\GenPage Fv\Efildr16Pure Fv\Efildr16\r
182\r
183Fv\Efildr20: $(BIN_DIR)\St32_64.com $(BIN_DIR)\Efi64.com2 Fv\Efildr64\r
184 copy /b $(BIN_DIR)\St32_64.com+$(BIN_DIR)\Efi64.com2+Fv\Efildr64 Fv\Efildr20Pure\r
185 $(TOOLBIN_DIR)\GenPage Fv\Efildr20Pure Fv\Efildr20\r
186\r