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