]> git.proxmox.com Git - mirror_edk2.git/blob - DuetPkg/EfiLdr/Ia32/Makefile
Add missing module for duet package.
[mirror_edk2.git] / DuetPkg / EfiLdr / Ia32 / 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)\Start.com \
66 $(BIN_DIR)\Start16.com \
67 $(BIN_DIR)\Start32.com \
68 $(BIN_DIR)\Efi32.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)\Start.obj: $(BUILD_DIR)\..\Loader\BootSector\Start.asm
117 $(ASM16) /c /omf /Fo$(BIN_DIR)\Start.obj $(BUILD_DIR)\..\Loader\BootSector\Start.asm
118
119 $(BIN_DIR)\Start.com: $(BIN_DIR)\Start.obj
120 cd $(BIN_DIR)
121 $(ASMLINK16) /tiny Start.obj,Start.com,Start.map,,,
122
123 $(BIN_DIR)\Start16.obj: $(BUILD_DIR)\..\Loader\BootSector\Start16.asm
124 $(ASM16) /c /omf /Fo$(BIN_DIR)\Start16.obj $(BUILD_DIR)\..\Loader\BootSector\Start16.asm
125
126 $(BIN_DIR)\Start16.com: $(BIN_DIR)\Start16.obj
127 cd $(BIN_DIR)
128 $(ASMLINK16) /tiny Start16.obj,Start16.com,Start16.map,,,
129
130 $(BIN_DIR)\Start32.obj: $(BUILD_DIR)\..\Loader\BootSector\Start32.asm
131 $(ASM16) /c /omf /Fo$(BIN_DIR)\Start32.obj $(BUILD_DIR)\..\Loader\BootSector\Start32.asm
132
133 $(BIN_DIR)\Start32.com: $(BIN_DIR)\Start32.obj
134 cd $(BIN_DIR)
135 $(ASMLINK16) /tiny Start32.obj,Start32.com,Start32.map,,,
136
137 $(BIN_DIR)\Efi32.obj: $(BUILD_DIR)\..\Loader\BootSector\Efi32.asm
138 $(ASM16) /c /omf /Fo$(BIN_DIR)\Efi32.obj $(BUILD_DIR)\..\Loader\BootSector\Efi32.asm
139
140 $(BIN_DIR)\Efi32.com: $(BIN_DIR)\Efi32.obj
141 cd $(BIN_DIR)
142 $(ASMLINK16) /tiny Efi32.obj,Efi32.com,Efi32.map,,,
143
144 $(BIN_DIR)\Efi32.com2: $(BIN_DIR)\Efi32.com
145 $(TOOLBIN_DIR)\Splitfile $(BIN_DIR)\Efi32.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:X86 /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\Efildr32: $(BIN_DIR)\Efildr.efi Fv\DxeIpl.z Fv\DxeMain.z Fv\EfiMain.z
173 $(TOOLBIN_DIR)\Efildrimage Fv\Efildr32 $(BIN_DIR)\Efildr.efi Fv\DxeIpl.z Fv\DxeMain.z Fv\EfiMain.z
174
175 Fv\Efildr: $(BIN_DIR)\Start.com $(BIN_DIR)\Efi32.com2 Fv\Efildr32
176 copy /b $(BIN_DIR)\Start.com+$(BIN_DIR)\Efi32.com2+Fv\Efildr32 Fv\Efildr
177
178 Fv\Efildr16: $(BIN_DIR)\Start16.com $(BIN_DIR)\Efi32.com2 Fv\Efildr32
179 copy /b $(BIN_DIR)\Start16.com+$(BIN_DIR)\Efi32.com2+Fv\Efildr32 Fv\Efildr16
180
181 Fv\Efildr20: $(BIN_DIR)\Start32.com $(BIN_DIR)\Efi32.com2 Fv\Efildr32
182 copy /b $(BIN_DIR)\Start32.com+$(BIN_DIR)\Efi32.com2+Fv\Efildr32 Fv\Efildr20
183