mirror of https://github.com/acidanthera/audk.git
277 lines
9.4 KiB
Makefile
277 lines
9.4 KiB
Makefile
|
|
||
|
#
|
||
|
# Platform Macro Definition
|
||
|
#
|
||
|
PLATFORM_NAME = DuetPkg
|
||
|
PLATFORM_GUID = 199E24E0-0989-42aa-87F2-611A8C397E72
|
||
|
PLATFORM_VERSION = 0.3
|
||
|
PLATFORM_RELATIVE_DIR = DuetPkg
|
||
|
PLATFORM_DIR = $(WORKSPACE)\DuetPkg
|
||
|
PLATFORM_OUTPUT_DIR = Build\DuetPkg
|
||
|
|
||
|
#
|
||
|
# Module Macro Definition
|
||
|
#
|
||
|
MODULE_NAME = BootSector
|
||
|
MODULE_GUID = 2410F0DF-D915-4137-BD04-AAB6BA4C50E0
|
||
|
MODULE_VERSION = 1.0
|
||
|
MODULE_TYPE = USER_DEFINED
|
||
|
MODULE_FILE_BASE_NAME = BootSector
|
||
|
BASE_NAME = $(MODULE_NAME)
|
||
|
MODULE_RELATIVE_DIR = DuetPkg\BootSector
|
||
|
MODULE_DIR = $(WORKSPACE)\DuetPkg\BootSector
|
||
|
|
||
|
#
|
||
|
# Build Configuration Macro Definition
|
||
|
#
|
||
|
ARCH = IA32
|
||
|
TOOLCHAIN_TAG = MYTOOLS
|
||
|
TARGET = DEBUG
|
||
|
BASETOOLS_DIR=m:\tree\working\BaseTools\Bin\Win32
|
||
|
|
||
|
#
|
||
|
# Build Directory Macro Definition
|
||
|
#
|
||
|
# PLATFORM_BUILD_DIR = m:\tree\working\Build\DuetPkg\DEBUG_MYTOOLS
|
||
|
BUILD_DIR = $(WORKSPACE)\Build\DuetPkg\DEBUG_MYTOOLS
|
||
|
BIN_DIR = $(BUILD_DIR)\IA32
|
||
|
LIB_DIR = $(BIN_DIR)
|
||
|
MODULE_BUILD_DIR = $(BUILD_DIR)\IA32\DuetPkg\BootSector\BootSector
|
||
|
OUTPUT_DIR = $(MODULE_BUILD_DIR)\OUTPUT
|
||
|
DEBUG_DIR = $(MODULE_BUILD_DIR)\DEBUG
|
||
|
DEST_DIR_OUTPUT = $(OUTPUT_DIR)
|
||
|
DEST_DIR_DEBUG = $(DEBUG_DIR)
|
||
|
|
||
|
#
|
||
|
# Default Tools Flags Macro Definition (from tools_def.txt by default)
|
||
|
#
|
||
|
DEFAULT_PP_FLAGS = /nologo /E /TC /FIAutoGen.h
|
||
|
DEFAULT_SLINK_FLAGS = /nologo /LTCG
|
||
|
DEFAULT_CC_FLAGS = /nologo /c /WX /GS- /W4 /Gs8192 /Gy /D UNICODE /O1ib2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
|
||
|
DEFAULT_APP_FLAGS = /nologo /E /TC
|
||
|
DEFAULT_VFRPP_FLAGS = /nologo /E /TC /DVFRCOMPILE /FIAutoGen.h
|
||
|
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
|
||
|
DEFAULT_ASM_FLAGS = /nologo /c /WX /W3 /coff /Cx /Zd /Zi
|
||
|
DEFAULT_TIANO_FLAGS =
|
||
|
DEFAULT_MAKE_FLAGS = /nologo
|
||
|
DEFAULT_ASMLINK_FLAGS = /nologo /tiny
|
||
|
DEFAULT_ASL_FLAGS =
|
||
|
|
||
|
|
||
|
#
|
||
|
# Platform Tools Flags Macro Definition (from platform description file)
|
||
|
#
|
||
|
PLATFORM_PP_FLAGS =
|
||
|
PLATFORM_SLINK_FLAGS =
|
||
|
PLATFORM_CC_FLAGS =
|
||
|
PLATFORM_APP_FLAGS =
|
||
|
PLATFORM_VFRPP_FLAGS =
|
||
|
PLATFORM_DLINK_FLAGS =
|
||
|
PLATFORM_ASM_FLAGS =
|
||
|
PLATFORM_TIANO_FLAGS =
|
||
|
PLATFORM_MAKE_FLAGS =
|
||
|
PLATFORM_ASMLINK_FLAGS =
|
||
|
PLATFORM_ASL_FLAGS =
|
||
|
|
||
|
|
||
|
#
|
||
|
# Module Tools Flags Macro Definition (from platform/module description file)
|
||
|
#
|
||
|
MODULE_PP_FLAGS =
|
||
|
MODULE_SLINK_FLAGS =
|
||
|
MODULE_CC_FLAGS =
|
||
|
MODULE_APP_FLAGS =
|
||
|
MODULE_VFRPP_FLAGS =
|
||
|
MODULE_DLINK_FLAGS =
|
||
|
MODULE_ASM_FLAGS =
|
||
|
MODULE_TIANO_FLAGS =
|
||
|
MODULE_MAKE_FLAGS =
|
||
|
MODULE_ASMLINK_FLAGS =
|
||
|
MODULE_ASL_FLAGS =
|
||
|
|
||
|
|
||
|
#
|
||
|
# Tools Flag Macro
|
||
|
#
|
||
|
PP_FLAGS = $(DEFAULT_PP_FLAGS) $(PLATFORM_PP_FLAGS) $(MODULE_PP_FLAGS)
|
||
|
SLINK_FLAGS = $(DEFAULT_SLINK_FLAGS) $(PLATFORM_SLINK_FLAGS) $(MODULE_SLINK_FLAGS)
|
||
|
CC_FLAGS = $(DEFAULT_CC_FLAGS) $(PLATFORM_CC_FLAGS) $(MODULE_CC_FLAGS)
|
||
|
APP_FLAGS = $(DEFAULT_APP_FLAGS) $(PLATFORM_APP_FLAGS) $(MODULE_APP_FLAGS)
|
||
|
VFRPP_FLAGS = $(DEFAULT_VFRPP_FLAGS) $(PLATFORM_VFRPP_FLAGS) $(MODULE_VFRPP_FLAGS)
|
||
|
DLINK_FLAGS = $(DEFAULT_DLINK_FLAGS) $(PLATFORM_DLINK_FLAGS) $(MODULE_DLINK_FLAGS)
|
||
|
ASM_FLAGS = $(DEFAULT_ASM_FLAGS) $(PLATFORM_ASM_FLAGS) $(MODULE_ASM_FLAGS)
|
||
|
TIANO_FLAGS = $(DEFAULT_TIANO_FLAGS) $(PLATFORM_TIANO_FLAGS) $(MODULE_TIANO_FLAGS)
|
||
|
MAKE_FLAGS = $(DEFAULT_MAKE_FLAGS) $(PLATFORM_MAKE_FLAGS) $(MODULE_MAKE_FLAGS)
|
||
|
ASMLINK_FLAGS = $(DEFAULT_ASMLINK_FLAGS) $(PLATFORM_ASMLINK_FLAGS) $(MODULE_ASMLINK_FLAGS)
|
||
|
ASL_FLAGS = $(DEFAULT_ASL_FLAGS) $(PLATFORM_ASL_FLAGS) $(MODULE_ASL_FLAGS)
|
||
|
|
||
|
|
||
|
#
|
||
|
# Tools Path Macro
|
||
|
#
|
||
|
PP = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\cl.exe
|
||
|
SLINK = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\lib.exe
|
||
|
CC = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\cl.exe
|
||
|
APP = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\cl.exe
|
||
|
VFRPP = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\cl.exe
|
||
|
DLINK = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\link.exe
|
||
|
ASM = C:\WINDDK\3790.1830\bin\x86\ml.exe
|
||
|
TIANO = TianoCompress.exe
|
||
|
MAKE = C:\Program Files\Microsoft Visual Studio 8\Vc\bin\nmake.exe
|
||
|
#ASMLINK = C:\WINDDK\3790.1830\bin\bin16\link.exe
|
||
|
ASMLINK = C:\WINDDK\3790.1830\bin\bin16\link16.exe
|
||
|
ASL = C:\ASL\iasl.exe
|
||
|
|
||
|
|
||
|
MAKE_FILE = $(MODULE_BUILD_DIR)\Makefile
|
||
|
|
||
|
#
|
||
|
# Shell Command Macro
|
||
|
#
|
||
|
RD = rmdir /s /q
|
||
|
RM = del /f /q
|
||
|
MD = mkdir
|
||
|
CP = copy /y
|
||
|
MV = move /y
|
||
|
|
||
|
|
||
|
#
|
||
|
# Build Macro
|
||
|
#
|
||
|
ASSEMBLY_CODE_FILE_LIST = $(MODULE_DIR)\bootsect.asm \
|
||
|
$(MODULE_DIR)\bs16.asm \
|
||
|
$(MODULE_DIR)\bs32.asm \
|
||
|
$(MODULE_DIR)\efi32.asm \
|
||
|
$(MODULE_DIR)\Gpt.asm \
|
||
|
$(MODULE_DIR)\Mbr.asm \
|
||
|
$(MODULE_DIR)\start.asm \
|
||
|
$(MODULE_DIR)\start16.asm \
|
||
|
$(MODULE_DIR)\start32.asm
|
||
|
|
||
|
TARGET_FILES = $(OUTPUT_DIR)\bootsect.com \
|
||
|
$(OUTPUT_DIR)\bs16.com \
|
||
|
$(OUTPUT_DIR)\bs32.com \
|
||
|
$(OUTPUT_DIR)\Gpt.com \
|
||
|
$(OUTPUT_DIR)\Mbr.com \
|
||
|
$(OUTPUT_DIR)\Start.com \
|
||
|
$(OUTPUT_DIR)\Start16.com \
|
||
|
$(OUTPUT_DIR)\Start32.com \
|
||
|
$(OUTPUT_DIR)\efi32.com2
|
||
|
|
||
|
INC =
|
||
|
|
||
|
|
||
|
#OBJECTS =
|
||
|
|
||
|
LIBS =
|
||
|
|
||
|
COMMON_DEPS =
|
||
|
|
||
|
all: init $(TARGET_FILES) loader
|
||
|
|
||
|
init:
|
||
|
if not exist $(OUTPUT_DIR) mkdir $(OUTPUT_DIR)
|
||
|
if not exist $(DEBUG_DIR) mkdir $(DEBUG_DIR)
|
||
|
|
||
|
#=============
|
||
|
$(OUTPUT_DIR)\bootsect.obj:$(MODULE_DIR)\bootsect.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\bootsect.obj" /FR"$(OUTPUT_DIR)\bootsect.txt" "$(MODULE_DIR)\bootsect.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\bootsect.com:$(OUTPUT_DIR)\bootsect.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\bootsect.obj,$(OUTPUT_DIR)\bootsect.com,$(OUTPUT_DIR)\bootsect.map,,,
|
||
|
|
||
|
#=============
|
||
|
|
||
|
$(OUTPUT_DIR)\bs16.obj:$(MODULE_DIR)\bs16.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\bs16.obj" "$(MODULE_DIR)\bs16.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\bs16.com:$(OUTPUT_DIR)\bs16.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\bs16.obj,$(OUTPUT_DIR)\bs16.com,$(OUTPUT_DIR)\bs16.map,,,
|
||
|
|
||
|
#=============
|
||
|
|
||
|
$(OUTPUT_DIR)\bs32.obj:$(MODULE_DIR)\bs32.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\bs32.obj" "$(MODULE_DIR)\bs32.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\bs32.com:$(OUTPUT_DIR)\bs32.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\bs32.obj,$(OUTPUT_DIR)\bs32.com,$(OUTPUT_DIR)\bs32.map,,,
|
||
|
|
||
|
#=============
|
||
|
|
||
|
$(OUTPUT_DIR)\Gpt.obj:$(MODULE_DIR)\Gpt.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Gpt.obj" "$(MODULE_DIR)\Gpt.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\Gpt.com:$(OUTPUT_DIR)\Gpt.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Gpt.obj,$(OUTPUT_DIR)\Gpt.com,$(OUTPUT_DIR)\Gpt.map,,,
|
||
|
|
||
|
#=============
|
||
|
|
||
|
$(OUTPUT_DIR)\Mbr.obj:$(MODULE_DIR)\Mbr.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Mbr.obj" "$(MODULE_DIR)\Mbr.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\Mbr.com:$(OUTPUT_DIR)\Mbr.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Mbr.obj,$(OUTPUT_DIR)\Mbr.com,$(OUTPUT_DIR)\Mbr.map,,,
|
||
|
|
||
|
#============
|
||
|
|
||
|
$(OUTPUT_DIR)\Start.obj:$(MODULE_DIR)\Start.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Start.obj" "$(MODULE_DIR)\Start.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\Start.com:$(OUTPUT_DIR)\Start.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start.obj,$(OUTPUT_DIR)\Start.com,$(OUTPUT_DIR)\Start.map,,,
|
||
|
|
||
|
#=============
|
||
|
|
||
|
$(OUTPUT_DIR)\Start16.obj:$(MODULE_DIR)\Start16.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Start16.obj" "$(MODULE_DIR)\Start16.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\Start16.com:$(OUTPUT_DIR)\Start16.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start16.obj,$(OUTPUT_DIR)\Start16.com,$(OUTPUT_DIR)\Start16.map,,,
|
||
|
|
||
|
#=============
|
||
|
|
||
|
$(OUTPUT_DIR)\Start32.obj:$(MODULE_DIR)\Start32.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\Start32.obj" "$(MODULE_DIR)\Start32.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\Start32.com:$(OUTPUT_DIR)\Start32.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\Start32.obj,$(OUTPUT_DIR)\Start32.com,$(OUTPUT_DIR)\Start32.map,,,
|
||
|
|
||
|
#=============
|
||
|
|
||
|
$(OUTPUT_DIR)\efi32.obj:$(MODULE_DIR)\efi32.asm
|
||
|
$(ASM) /c /omf /Fo"$(OUTPUT_DIR)\efi32.obj" "$(MODULE_DIR)\efi32.asm"
|
||
|
|
||
|
$(OUTPUT_DIR)\efi32.com:$(OUTPUT_DIR)\efi32.obj
|
||
|
"$(ASMLINK)" /tiny $(OUTPUT_DIR)\efi32.obj,$(OUTPUT_DIR)\efi32.com,$(OUTPUT_DIR)\efi32.map,,,
|
||
|
|
||
|
#=============
|
||
|
|
||
|
$(OUTPUT_DIR)\efi32.com2:$(OUTPUT_DIR)\efi32.com
|
||
|
$(BASETOOLS_DIR)\Split.exe -f $(OUTPUT_DIR)\efi32.com -t $(OUTPUT_DIR)\efi32.com2 -s 135168
|
||
|
#
|
||
|
# clean all generated files
|
||
|
#
|
||
|
|
||
|
loader:$(BUILD_DIR)\FV\Efildr
|
||
|
|
||
|
$(BUILD_DIR)\FV\DUETEFIMAINFV.z:$(BUILD_DIR)\FV\DUETEFIMAINFV.Fv
|
||
|
$(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DUETEFIMAINFV.z $(BUILD_DIR)\FV\DUETEFIMAINFV.Fv
|
||
|
|
||
|
$(BUILD_DIR)\FV\DxeMain.z:$(BUILD_DIR)\IA32\DxeMain.efi
|
||
|
$(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DxeMain.z $(BUILD_DIR)\IA32\DxeMain.efi
|
||
|
|
||
|
$(BUILD_DIR)\FV\DxeIpl.z:$(BUILD_DIR)\IA32\DxeIpl.efi
|
||
|
$(BASETOOLS_DIR)\TianoCompress -e -o $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\IA32\DxeIpl.efi
|
||
|
|
||
|
$(BUILD_DIR)\FV\Efildr32:$(BUILD_DIR)\IA32\EfiLoader.efi $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\FV\DUETEFIMAINFV.z
|
||
|
$(BASETOOLS_DIR)\EfiLdrImage.exe -o $(BUILD_DIR)\FV\Efildr32 $(BUILD_DIR)\IA32\EfiLoader.efi $(BUILD_DIR)\FV\DxeIpl.z $(BUILD_DIR)\FV\DUETEFIMAINFV.z
|
||
|
|
||
|
$(BUILD_DIR)\FV\Efildr:$(OUTPUT_DIR)\Start.com $(OUTPUT_DIR)\Efi32.com2 $(BUILD_DIR)\FV\Efildr32
|
||
|
copy /b $(OUTPUT_DIR)\BootSect.com+$(OUTPUT_DIR)\Efi32.com2+$(BUILD_DIR)\FV\Efildr32 $(BUILD_DIR)\FV\Efildr
|
||
|
|
||
|
clean:
|
||
|
if exist $(DEBUG_DIR) rmdir /s /q $(DEBUG_DIR)
|
||
|
if exist $(OUTPUT_DIR) rmdir /s /q $(OUTPUT_DIR)
|
||
|
|
||
|
|