From c69dd9dfad3eb97d5e21f520f3ba35d102ec4cfa Mon Sep 17 00:00:00 2001 From: klu2 Date: Thu, 17 Apr 2008 05:48:13 +0000 Subject: Porting Duet module from EDKI to EDKII git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5076 6f19259b-4bc3-4df7-8a09-765794883524 --- DuetPkg/BootSector/Makefile | 276 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 DuetPkg/BootSector/Makefile (limited to 'DuetPkg/BootSector/Makefile') diff --git a/DuetPkg/BootSector/Makefile b/DuetPkg/BootSector/Makefile new file mode 100644 index 0000000000..fc24f37677 --- /dev/null +++ b/DuetPkg/BootSector/Makefile @@ -0,0 +1,276 @@ + +# +# 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) + + -- cgit v1.2.3