3 # Platform Macro Definition
5 PLATFORM_NAME
= DuetPkg
6 PLATFORM_GUID
= 199E24E0-0989-42aa-87F2-611A8C397E72
8 PLATFORM_RELATIVE_DIR
= DuetPkg
9 PLATFORM_DIR
= $(WORKSPACE
)\DuetPkg
10 PLATFORM_OUTPUT_DIR
= Build\DuetPkg
13 # Module Macro Definition
15 MODULE_NAME
= BootSector
16 MODULE_GUID
= 2410F0DF-D915-4137-BD04-AAB6BA4C50E0
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
25 # Build Configuration Macro Definition
28 TOOLCHAIN_TAG
= MYTOOLS
30 BASETOOLS_DIR
=m
:\tree\working\BaseTools\Bin\Win32
33 # Build Directory Macro Definition
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
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
)
46 # Default Tools Flags Macro Definition (from tools_def.txt by default)
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
56 DEFAULT_MAKE_FLAGS
= /nologo
57 DEFAULT_ASMLINK_FLAGS
= /nologo
/tiny
62 # Platform Tools Flags Macro Definition (from platform description file)
65 PLATFORM_SLINK_FLAGS
=
68 PLATFORM_VFRPP_FLAGS
=
69 PLATFORM_DLINK_FLAGS
=
71 PLATFORM_TIANO_FLAGS
=
73 PLATFORM_ASMLINK_FLAGS
=
78 # Module Tools Flags Macro Definition (from platform/module description file)
89 MODULE_ASMLINK_FLAGS
=
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
)
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
\bin
16\link16.exe
123 ASL
= C
:\ASL\iasl.exe
126 MAKE_FILE
= $(MODULE_BUILD_DIR
)\Makefile
129 # Shell Command Macro
141 ASSEMBLY_CODE_FILE_LIST
= $(MODULE_DIR
)\bootsect.asm \
142 $(MODULE_DIR
)\bs
16.asm \
143 $(MODULE_DIR
)\bs
32.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
151 TARGET_FILES
= $(OUTPUT_DIR
)\bootsect.com \
152 $(OUTPUT_DIR
)\bs
16.com \
153 $(OUTPUT_DIR
)\bs
32.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
170 all: init
$(TARGET_FILES
) loader
173 if not exist
$(OUTPUT_DIR
) mkdir
$(OUTPUT_DIR
)
174 if not exist
$(DEBUG_DIR
) mkdir
$(DEBUG_DIR
)
177 $(OUTPUT_DIR
)\bootsect.obj
:$(MODULE_DIR
)\bootsect.asm
178 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\bootsect.obj" /FR
"$(OUTPUT_DIR)\bootsect.txt" "$(MODULE_DIR)\bootsect.asm"
180 $(OUTPUT_DIR
)\bootsect.com
:$(OUTPUT_DIR
)\bootsect.obj
181 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\bootsect.obj
,$(OUTPUT_DIR
)\bootsect.com
,$(OUTPUT_DIR
)\bootsect.map
,,,
185 $(OUTPUT_DIR
)\bs
16.obj
:$(MODULE_DIR
)\bs
16.asm
186 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\bs16.obj" "$(MODULE_DIR)\bs16.asm"
188 $(OUTPUT_DIR
)\bs
16.com
:$(OUTPUT_DIR
)\bs
16.obj
189 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\bs
16.obj
,$(OUTPUT_DIR
)\bs
16.com
,$(OUTPUT_DIR
)\bs
16.map
,,,
193 $(OUTPUT_DIR
)\bs
32.obj
:$(MODULE_DIR
)\bs
32.asm
194 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\bs32.obj" "$(MODULE_DIR)\bs32.asm"
196 $(OUTPUT_DIR
)\bs
32.com
:$(OUTPUT_DIR
)\bs
32.obj
197 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\bs
32.obj
,$(OUTPUT_DIR
)\bs
32.com
,$(OUTPUT_DIR
)\bs
32.map
,,,
201 $(OUTPUT_DIR
)\Gpt.obj
:$(MODULE_DIR
)\Gpt.asm
202 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\Gpt.obj" "$(MODULE_DIR)\Gpt.asm"
204 $(OUTPUT_DIR
)\Gpt.com
:$(OUTPUT_DIR
)\Gpt.obj
205 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\Gpt.obj
,$(OUTPUT_DIR
)\Gpt.com
,$(OUTPUT_DIR
)\Gpt.map
,,,
209 $(OUTPUT_DIR
)\Mbr.obj
:$(MODULE_DIR
)\Mbr.asm
210 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\Mbr.obj" "$(MODULE_DIR)\Mbr.asm"
212 $(OUTPUT_DIR
)\Mbr.com
:$(OUTPUT_DIR
)\Mbr.obj
213 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\Mbr.obj
,$(OUTPUT_DIR
)\Mbr.com
,$(OUTPUT_DIR
)\Mbr.map
,,,
217 $(OUTPUT_DIR
)\Start.obj
:$(MODULE_DIR
)\Start.asm
218 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\Start.obj" "$(MODULE_DIR)\Start.asm"
220 $(OUTPUT_DIR
)\Start.com
:$(OUTPUT_DIR
)\Start.obj
221 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\Start.obj
,$(OUTPUT_DIR
)\Start.com
,$(OUTPUT_DIR
)\Start.map
,,,
225 $(OUTPUT_DIR
)\Start16.obj
:$(MODULE_DIR
)\Start16.asm
226 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\Start16.obj" "$(MODULE_DIR)\Start16.asm"
228 $(OUTPUT_DIR
)\Start16.com
:$(OUTPUT_DIR
)\Start16.obj
229 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\Start16.obj
,$(OUTPUT_DIR
)\Start16.com
,$(OUTPUT_DIR
)\Start16.map
,,,
233 $(OUTPUT_DIR
)\Start32.obj
:$(MODULE_DIR
)\Start32.asm
234 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\Start32.obj" "$(MODULE_DIR)\Start32.asm"
236 $(OUTPUT_DIR
)\Start32.com
:$(OUTPUT_DIR
)\Start32.obj
237 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\Start32.obj
,$(OUTPUT_DIR
)\Start32.com
,$(OUTPUT_DIR
)\Start32.map
,,,
241 $(OUTPUT_DIR
)\efi32.obj
:$(MODULE_DIR
)\efi32.asm
242 $(ASM
) /c
/omf
/Fo
"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"
244 $(OUTPUT_DIR
)\efi32.com
:$(OUTPUT_DIR
)\efi32.obj
245 "$(ASMLINK)" /tiny
$(OUTPUT_DIR
)\efi32.obj
,$(OUTPUT_DIR
)\efi32.com
,$(OUTPUT_DIR
)\efi32.map
,,,
249 $(OUTPUT_DIR
)\efi32.com2
:$(OUTPUT_DIR
)\efi32.com
250 $(BASETOOLS_DIR
)\Split.exe
-f
$(OUTPUT_DIR
)\efi32.com
-t
$(OUTPUT_DIR
)\efi32.com2
-s
135168
252 # clean all generated files
255 loader
:$(BUILD_DIR
)\FV\Efildr
257 $(BUILD_DIR
)\FV\DUETEFIMAINFV.z
:$(BUILD_DIR
)\FV\DUETEFIMAINFV.Fv
258 $(BASETOOLS_DIR
)\TianoCompress
-e
-o
$(BUILD_DIR
)\FV\DUETEFIMAINFV.z
$(BUILD_DIR
)\FV\DUETEFIMAINFV.Fv
260 $(BUILD_DIR
)\FV\DxeMain.z
:$(BUILD_DIR
)\IA32\DxeMain.efi
261 $(BASETOOLS_DIR
)\TianoCompress
-e
-o
$(BUILD_DIR
)\FV\DxeMain.z
$(BUILD_DIR
)\IA32\DxeMain.efi
263 $(BUILD_DIR
)\FV\DxeIpl.z
:$(BUILD_DIR
)\IA32\DxeIpl.efi
264 $(BASETOOLS_DIR
)\TianoCompress
-e
-o
$(BUILD_DIR
)\FV\DxeIpl.z
$(BUILD_DIR
)\IA32\DxeIpl.efi
266 $(BUILD_DIR
)\FV\Efildr32
:$(BUILD_DIR
)\IA32\EfiLoader.efi
$(BUILD_DIR
)\FV\DxeIpl.z
$(BUILD_DIR
)\FV\DUETEFIMAINFV.z
267 $(BASETOOLS_DIR
)\EfiLdrImage.exe
-o
$(BUILD_DIR
)\FV\Efildr32
$(BUILD_DIR
)\IA32\EfiLoader.efi
$(BUILD_DIR
)\FV\DxeIpl.z
$(BUILD_DIR
)\FV\DUETEFIMAINFV.z
269 $(BUILD_DIR
)\FV\Efildr
:$(OUTPUT_DIR
)\Start.com
$(OUTPUT_DIR
)\Efi32.com2
$(BUILD_DIR
)\FV\Efildr32
270 copy
/b
$(OUTPUT_DIR
)\BootSect.com
+$(OUTPUT_DIR
)\Efi32.com2
+$(BUILD_DIR
)\FV\Efildr32
$(BUILD_DIR
)\FV\Efildr
273 if exist
$(DEBUG_DIR
) rmdir
/s
/q
$(DEBUG_DIR
)
274 if exist
$(OUTPUT_DIR
) rmdir
/s
/q
$(OUTPUT_DIR
)