]> git.proxmox.com Git - mirror_edk2.git/blob - DuetPkg/BootSector/Makefile
init target should not be used in customize makefile. Fix it.
[mirror_edk2.git] / DuetPkg / BootSector / Makefile
1
2 #
3 # Platform Macro Definition
4 #
5 PLATFORM_NAME = DuetPkg
6 PLATFORM_GUID = 199E24E0-0989-42aa-87F2-611A8C397E72
7 PLATFORM_VERSION = 0.3
8 PLATFORM_RELATIVE_DIR = DuetPkg
9 PLATFORM_DIR = $(WORKSPACE)\DuetPkg
10 PLATFORM_OUTPUT_DIR = Build\DuetPkg
11
12 #
13 # Module Macro Definition
14 #
15 MODULE_NAME = BootSector
16 MODULE_GUID = 2410F0DF-D915-4137-BD04-AAB6BA4C50E0
17 MODULE_VERSION = 1.0
18 MODULE_TYPE = USER_DEFINED
19 MODULE_FILE_BASE_NAME = BootSector
20 BASE_NAME = $(MODULE_NAME)
21 MODULE_RELATIVE_DIR = DuetPkg\BootSector
22 MODULE_DIR = $(WORKSPACE)\DuetPkg\BootSector
23
24 #
25 # Build Configuration Macro Definition
26 #
27 ARCH = IA32
28 TOOLCHAIN_TAG = MYTOOLS
29 TARGET = DEBUG
30 BASETOOLS_DIR=m:\tree\working\BaseTools\Bin\Win32
31
32 #
33 # Build Directory Macro Definition
34 #
35 # PLATFORM_BUILD_DIR = m:\tree\working\Build\DuetPkg\DEBUG_MYTOOLS
36 BUILD_DIR = $(WORKSPACE)\Build\DuetPkg\DEBUG_MYTOOLS
37 BIN_DIR = $(BUILD_DIR)\IA32
38 LIB_DIR = $(BIN_DIR)
39 MODULE_BUILD_DIR = $(BUILD_DIR)\IA32\DuetPkg\BootSector\BootSector
40 OUTPUT_DIR = $(MODULE_BUILD_DIR)\OUTPUT
41 DEBUG_DIR = $(MODULE_BUILD_DIR)\DEBUG
42 DEST_DIR_OUTPUT = $(OUTPUT_DIR)
43 DEST_DIR_DEBUG = $(DEBUG_DIR)
44
45 #
46 # Default Tools Flags Macro Definition (from tools_def.txt by default)
47 #
48 DEFAULT_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
49 DEFAULT_SLINK_FLAGS = /nologo /LTCG
50 DEFAULT_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
51 DEFAULT_APP_FLAGS = /nologo /E /TC
52 DEFAULT_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FIAutoGen.h
53 DEFAULT_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4086 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /MACHINE:I386 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG /PDB:$(DEBUG_DIR)/$(BASE_NAME).pdb
54 DEFAULT_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi
55 DEFAULT_TIANO_FLAGS =
56 DEFAULT_MAKE_FLAGS = /nologo
57 DEFAULT_ASMLINK_FLAGS = /nologo /tiny
58 DEFAULT_ASL_FLAGS =
59
60
61 #
62 # Platform Tools Flags Macro Definition (from platform description file)
63 #
64 PLATFORM_PP_FLAGS =
65 PLATFORM_SLINK_FLAGS =
66 PLATFORM_CC_FLAGS =
67 PLATFORM_APP_FLAGS =
68 PLATFORM_VFRPP_FLAGS =
69 PLATFORM_DLINK_FLAGS =
70 PLATFORM_ASM_FLAGS =
71 PLATFORM_TIANO_FLAGS =
72 PLATFORM_MAKE_FLAGS =
73 PLATFORM_ASMLINK_FLAGS =
74 PLATFORM_ASL_FLAGS =
75
76
77 #
78 # Module Tools Flags Macro Definition (from platform/module description file)
79 #
80 MODULE_PP_FLAGS =
81 MODULE_SLINK_FLAGS =
82 MODULE_CC_FLAGS =
83 MODULE_APP_FLAGS =
84 MODULE_VFRPP_FLAGS =
85 MODULE_DLINK_FLAGS =
86 MODULE_ASM_FLAGS =
87 MODULE_TIANO_FLAGS =
88 MODULE_MAKE_FLAGS =
89 MODULE_ASMLINK_FLAGS =
90 MODULE_ASL_FLAGS =
91
92
93 #
94 # Tools Flag Macro
95 #
96 PP_FLAGS = $(DEFAULT_PP_FLAGS) $(PLATFORM_PP_FLAGS) $(MODULE_PP_FLAGS)
97 SLINK_FLAGS = $(DEFAULT_SLINK_FLAGS) $(PLATFORM_SLINK_FLAGS) $(MODULE_SLINK_FLAGS)
98 CC_FLAGS = $(DEFAULT_CC_FLAGS) $(PLATFORM_CC_FLAGS) $(MODULE_CC_FLAGS)
99 APP_FLAGS = $(DEFAULT_APP_FLAGS) $(PLATFORM_APP_FLAGS) $(MODULE_APP_FLAGS)
100 VFRPP_FLAGS = $(DEFAULT_VFRPP_FLAGS) $(PLATFORM_VFRPP_FLAGS) $(MODULE_VFRPP_FLAGS)
101 DLINK_FLAGS = $(DEFAULT_DLINK_FLAGS) $(PLATFORM_DLINK_FLAGS) $(MODULE_DLINK_FLAGS)
102 ASM_FLAGS = $(DEFAULT_ASM_FLAGS) $(PLATFORM_ASM_FLAGS) $(MODULE_ASM_FLAGS)
103 TIANO_FLAGS = $(DEFAULT_TIANO_FLAGS) $(PLATFORM_TIANO_FLAGS) $(MODULE_TIANO_FLAGS)
104 MAKE_FLAGS = $(DEFAULT_MAKE_FLAGS) $(PLATFORM_MAKE_FLAGS) $(MODULE_MAKE_FLAGS)
105 ASMLINK_FLAGS = $(DEFAULT_ASMLINK_FLAGS) $(PLATFORM_ASMLINK_FLAGS) $(MODULE_ASMLINK_FLAGS)
106 ASL_FLAGS = $(DEFAULT_ASL_FLAGS) $(PLATFORM_ASL_FLAGS) $(MODULE_ASL_FLAGS)
107
108
109 #
110 # Tools Path Macro
111 #
112 PP = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\cl.exe
113 SLINK = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\lib.exe
114 CC = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\cl.exe
115 APP = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\cl.exe
116 VFRPP = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\cl.exe
117 DLINK = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\link.exe
118 ASM = C:\WINDDK\3790.1830\bin\x86\ml.exe
119 TIANO = TianoCompress.exe
120 MAKE = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\nmake.exe
121 #ASMLINK = C:\WINDDK\3790.1830\bin\bin16\link.exe
122 ASMLINK = C:\WINDDK\3790.1830\bin\bin16\link16.exe
123 ASL = C:\ASL\iasl.exe
124
125
126 MAKE_FILE = $(MODULE_BUILD_DIR)\Makefile
127
128 #
129 # Shell Command Macro
130 #
131 RD = rmdir /s /q
132 RM = del /f /q
133 MD = mkdir
134 CP = copy /y
135 MV = move /y
136
137
138 #
139 # Build Macro
140 #
141 ASSEMBLY_CODE_FILE_LIST = $(MODULE_DIR)\bootsect.asm \
142 $(MODULE_DIR)\bs16.asm \
143 $(MODULE_DIR)\bs32.asm \
144 $(MODULE_DIR)\efi32.asm \
145 $(MODULE_DIR)\Gpt.asm \
146 $(MODULE_DIR)\Mbr.asm \
147 $(MODULE_DIR)\start.asm \
148 $(MODULE_DIR)\start16.asm \
149 $(MODULE_DIR)\start32.asm
150
151 TARGET_FILES = $(OUTPUT_DIR)\bootsect.com \
152 $(OUTPUT_DIR)\bs16.com \
153 $(OUTPUT_DIR)\bs32.com \
154 $(OUTPUT_DIR)\Gpt.com \
155 $(OUTPUT_DIR)\Mbr.com \
156 $(OUTPUT_DIR)\Start.com \
157 $(OUTPUT_DIR)\Start16.com \
158 $(OUTPUT_DIR)\Start32.com \
159 $(OUTPUT_DIR)\efi32.com2
160
161 INC =
162
163
164 #OBJECTS =
165
166 LIBS =
167
168 COMMON_DEPS =
169
170 all: $(TARGET_FILES) loader
171
172 #=============
173 $(OUTPUT_DIR)\bootsect.obj:$(MODULE_DIR)\bootsect.asm
174 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\bootsect.obj" /FR"$(OUTPUT_DIR)\bootsect.txt" "$(MODULE_DIR)\bootsect.asm"
175
176 $(OUTPUT_DIR)\bootsect.com:$(OUTPUT_DIR)\bootsect.obj
177 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\bootsect.obj,$(OUTPUT_DIR)\bootsect.com,$(OUTPUT_DIR)\bootsect.map,,,
178
179 #=============
180
181 $(OUTPUT_DIR)\bs16.obj:$(MODULE_DIR)\bs16.asm
182 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\bs16.obj" "$(MODULE_DIR)\bs16.asm"
183
184 $(OUTPUT_DIR)\bs16.com:$(OUTPUT_DIR)\bs16.obj
185 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\bs16.obj,$(OUTPUT_DIR)\bs16.com,$(OUTPUT_DIR)\bs16.map,,,
186
187 #=============
188
189 $(OUTPUT_DIR)\bs32.obj:$(MODULE_DIR)\bs32.asm
190 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\bs32.obj" "$(MODULE_DIR)\bs32.asm"
191
192 $(OUTPUT_DIR)\bs32.com:$(OUTPUT_DIR)\bs32.obj
193 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\bs32.obj,$(OUTPUT_DIR)\bs32.com,$(OUTPUT_DIR)\bs32.map,,,
194
195 #=============
196
197 $(OUTPUT_DIR)\Gpt.obj:$(MODULE_DIR)\Gpt.asm
198 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Gpt.obj" "$(MODULE_DIR)\Gpt.asm"
199
200 $(OUTPUT_DIR)\Gpt.com:$(OUTPUT_DIR)\Gpt.obj
201 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Gpt.obj,$(OUTPUT_DIR)\Gpt.com,$(OUTPUT_DIR)\Gpt.map,,,
202
203 #=============
204
205 $(OUTPUT_DIR)\Mbr.obj:$(MODULE_DIR)\Mbr.asm
206 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Mbr.obj" "$(MODULE_DIR)\Mbr.asm"
207
208 $(OUTPUT_DIR)\Mbr.com:$(OUTPUT_DIR)\Mbr.obj
209 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Mbr.obj,$(OUTPUT_DIR)\Mbr.com,$(OUTPUT_DIR)\Mbr.map,,,
210
211 #============
212
213 $(OUTPUT_DIR)\Start.obj:$(MODULE_DIR)\Start.asm
214 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Start.obj" "$(MODULE_DIR)\Start.asm"
215
216 $(OUTPUT_DIR)\Start.com:$(OUTPUT_DIR)\Start.obj
217 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start.obj,$(OUTPUT_DIR)\Start.com,$(OUTPUT_DIR)\Start.map,,,
218
219 #=============
220
221 $(OUTPUT_DIR)\Start16.obj:$(MODULE_DIR)\Start16.asm
222 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Start16.obj" "$(MODULE_DIR)\Start16.asm"
223
224 $(OUTPUT_DIR)\Start16.com:$(OUTPUT_DIR)\Start16.obj
225 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start16.obj,$(OUTPUT_DIR)\Start16.com,$(OUTPUT_DIR)\Start16.map,,,
226
227 #=============
228
229 $(OUTPUT_DIR)\Start32.obj:$(MODULE_DIR)\Start32.asm
230 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Start32.obj" "$(MODULE_DIR)\Start32.asm"
231
232 $(OUTPUT_DIR)\Start32.com:$(OUTPUT_DIR)\Start32.obj
233 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start32.obj,$(OUTPUT_DIR)\Start32.com,$(OUTPUT_DIR)\Start32.map,,,
234
235 #=============
236
237 $(OUTPUT_DIR)\efi32.obj:$(MODULE_DIR)\efi32.asm
238 $(ASM) /c /omf /Fo"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"
239
240 $(OUTPUT_DIR)\efi32.com:$(OUTPUT_DIR)\efi32.obj
241 "$(ASMLINK)" /tiny $(OUTPUT_DIR)\efi32.obj,$(OUTPUT_DIR)\efi32.com,$(OUTPUT_DIR)\efi32.map,,,
242
243 #=============
244
245 $(OUTPUT_DIR)\efi32.com2:$(OUTPUT_DIR)\efi32.com
246 $(BASETOOLS_DIR)\Split.exe -f $(OUTPUT_DIR)\efi32.com -t $(OUTPUT_DIR)\efi32.com2 -s 135168
247 #
248 # clean all generated files
249 #
250
251 loader:$(BUILD_DIR)\FV\Efildr
252
253 $(BUILD_DIR)\FV\DUETEFIMAINFV.z:$(BUILD_DIR)\FV\DUETEFIMAINFV.Fv
254 $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DUETEFIMAINFV.z $(BUILD_DIR)\FV\DUETEFIMAINFV.Fv
255
256 $(BUILD_DIR)\FV\DxeMain.z:$(BUILD_DIR)\IA32\DxeMain.efi
257 $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DxeMain.z $(BUILD_DIR)\IA32\DxeMain.efi
258
259 $(BUILD_DIR)\FV\DxeIpl.z:$(BUILD_DIR)\IA32\DxeIpl.efi
260 $(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\IA32\DxeIpl.efi
261
262 $(BUILD_DIR)\FV\Efildr32:$(BUILD_DIR)\IA32\EfiLoader.efi $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\FV\DUETEFIMAINFV.z
263 $(BASETOOLS_DIR)\EfiLdrImage.exe -o $(BUILD_DIR)\FV\Efildr32 $(BUILD_DIR)\IA32\EfiLoader.efi $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\FV\DUETEFIMAINFV.z
264
265 $(BUILD_DIR)\FV\Efildr:$(OUTPUT_DIR)\Start.com $(OUTPUT_DIR)\Efi32.com2 $(BUILD_DIR)\FV\Efildr32
266 copy /b $(OUTPUT_DIR)\BootSect.com+$(OUTPUT_DIR)\Efi32.com2+$(BUILD_DIR)\FV\Efildr32 $(BUILD_DIR)\FV\Efildr
267
268 clean:
269 if exist $(DEBUG_DIR) rmdir /s /q $(DEBUG_DIR)
270 if exist $(OUTPUT_DIR) rmdir /s /q $(OUTPUT_DIR)
271
272