]>
Commit | Line | Data |
---|---|---|
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 | |
22 | BIN_DIR = $(BUILD_DIR)\$(PROCESSOR)\r | |
23 | TOOLCHAIN = TOOLCHAIN_$(PROCESSOR)\r | |
24 | \r | |
25 | TOOLBIN_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 | |
36 | INC = -I $(SOURCE_DIR)\. -I $(SOURCE_DIR)\.\$(PROCESSOR) $(INC)\r | |
37 | INC = -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 | |
49 | LDRDEP = $(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 | |
59 | all : \\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 | |
72 | loader : \\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 | |
163 | Fv\EfiMain.z : Fv\EfiMain.fv\r | |
164 | $(TOOLBIN_DIR)\Eficompress -tTiano Fv\EfiMain.fv Fv\EfiMain.z\r | |
165 | \r | |
166 | Fv\DxeMain.z : $(BIN_DIR)\DxeMain.efi\r | |
167 | $(TOOLBIN_DIR)\Eficompress -tTiano $(BIN_DIR)\DxeMain.efi Fv\DxeMain.z\r | |
168 | \r | |
169 | Fv\DxeIpl.z : $(BIN_DIR)\DxeIpl.efi\r | |
170 | $(TOOLBIN_DIR)\Eficompress -tTiano $(BIN_DIR)\DxeIpl.efi Fv\DxeIpl.z\r | |
171 | \r | |
172 | Fv\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 | |
175 | Fv\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 | |
179 | Fv\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 | |
183 | Fv\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 |