Remove the EDK build infrastructure, which was the temp solution when EDKII build tool did not support build EDK module.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4640 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qhuang8 2008-01-25 03:33:55 +00:00
parent 970e4d2bcc
commit 7a372cf045
15 changed files with 0 additions and 2037 deletions

View File

@ -1,33 +0,0 @@
#/*++
#
# Copyright (c) 2006 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# Config.env
#
# Abstract:
#
# This file is used to define platform build configuration.
# It gets included by PlatformTools.env.
#
#--*/
BUILD_TARGET_DIRECTORY = Build
EFI_DEBUG = NO
EFI_DEBUG_CLEAR_MEMORY = NO
EFI_PEI_PERFORMANCE = NO
EFI_DXE_PERFORMANCE = NO
EFI_SYMBOLIC_DEBUG = NO
EFI_GENERATE_INTERMEDIATE_FILE = NO
EFI_PEI_REPORT_STATUS_CODE = NO
UEFI_MODE = YES
PI_MODE = YES
USE_VC8 = NO

View File

@ -1,102 +0,0 @@
#/*++
#
# Copyright (c) 2004 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# Ia32.dsc
#
# Abstract:
#
# This is the build description file containing the platform
# build definitions.
#
#
# Notes:
#
# The info in this file is broken down into sections. The start of a section
# is designated by a "[" in the first column. So the [=====] separater ends
# a section.
#
#--*/
[=============================================================================]
#
# This section gets processed first by the utility. Define any
# macros that you may use elsewhere in this description file. This is the
# mechanism by which you can pass parameters and defines to the makefiles
# generated for each component. You can define it here, and then make an
# assignment in the [makefile.common] section. For example, if here you
# define MY_VAR = my_var_value, then you can add MY_VAR = $(MY_VAR) in
# the [makefile.common] section and it becomes MY_VAR = my_var_value in
# the output makefiles for each component.
#
[Defines]
PLATFORM = $(PROJECT_NAME)
[=============================================================================]
#
# Include other common build descriptions
#
!include "$(EDK_SOURCE)\Sample\Platform\Common.dsc"
!include "$(EDK_SOURCE)\Sample\Platform\Common$(PROCESSOR).dsc"
[=============================================================================]
#
# These control the generation of the FV files
#
[=============================================================================]
[Fv.Fv.Attributes]
[Fv.Fv.options]
[Build.Fv.Fv]
[=============================================================================]
#
# These are the libraries that will be built by the master makefile
#
[=============================================================================]
[Libraries]
DEFINE EDK_PREFIX=
!include "$(EDK_SOURCE)\Sample\Platform\EdkLibAll.dsc"
#
# EdkII Glue Library
#
#!include "$(EDK_SOURCE)\Sample\Platform\EdkIIGlueLibAll.dsc"
[=============================================================================]
#
# These are platform specific libraries that must be built prior to building
# certain drivers that depend upon them.
#
[=============================================================================]
[Libraries.Platform]
Sample\Platform\Generic\RuntimeDxe\StatusCode\Lib\BsDataHubStatusCode\BsDataHubStatusCode.inf
Sample\Platform\Generic\RuntimeDxe\StatusCode\Lib\RtMemoryStatusCode\RtMemoryStatusCode.inf
#Other\Maintained\Application\Shell\Library\EfiShellLib.inf
[=============================================================================]
#
# These are the components that will be built by the master makefile
#
[=============================================================================]
[Components]
DEFINE PACKAGE=Default
#Add EDK INF file here:
#Other\Maintained\Application\Shell\ShellFull.inf
[=============================================================================]

View File

@ -1,231 +0,0 @@
#/*++
#
# Copyright (c) 2004 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# Makefile
#
# Abstract:
#
# This makefile is used to build the NT emulation.
#
#--*/
#
# Everything depends on EDK_SOURCE & EDK_TOOLS_PATH. Make sure it's defined
#
!IFNDEF EDK_SOURCE
!ERROR EDK_SOURCE environmental variable not set
!ENDIF
!IFNDEF EDK_TOOLS_PATH
!MESSAGE EDK_TOOLS_PATH environmental variable not set, default setting used
!ENDIF
#
# Set the processor type
#
PROCESSOR = IA32
#
# Define a toolchain so we can pick up the basic defines from
# the EFI tool setup file.
#
TOOLCHAIN = TOOLCHAIN_MSVC
!INCLUDE PlatformTools.env
#
# Default target
#
all : customer
#
# Target to build customer config
#
customer : tempstamp_file build_tools makefiles builds
#
# Target to build everything quickly
#
fast : build_tools fast_makefiles builds
#
# Create a file to store the date and time, and used by SetStamp.exe
#
tempstamp_file:
!IF DEFINED(DATE_STAMP) && DEFINED(TIME_STAMP)
@echo $(DATE_STAMP) $(TIME_STAMP) > GenStamp.txt
!ELSEIF EXIST(GenStamp.txt)
- @del GenStamp.txt
!ENDIF
#
# Make all the EFI build tools by calling the makefile
#
build_tools :
-if not exist $(EDK_TOOLS_OUTPUT) mkdir $(EDK_TOOLS_OUTPUT)
-if exist $(EDK_TOOLS_BIN)\*.* copy $(EDK_TOOLS_BIN)\*.* $(EDK_TOOLS_OUTPUT)
$(MAKE) -f $(EDK_TOOLS_SOURCE)\makefile PROCESSOR=$(PROCESSOR) BUILD_DIR=$(BUILD_DIR)
$(GUIDCHK) -b $(EDK_TOOLS_OUTPUT)\GuidDatabase.txt
#
# Run ProcessDsc on our main description files to generate the
# makefiles and package files. Specify -v option for more verbose output.
# Specify "-xref filename" to generate a cross-reference file of
# basename-to-fileguid that can be used by VolInfo.
#
makefiles :
$(PROCESSDSC) \
-d EFI_SOURCE=$(EDK_SOURCE) \
-d EDK_SOURCE=$(EDK_SOURCE) \
-d PROCESSOR=$(PROCESSOR) \
-d PROJECT_NAME=$(PROJECT_NAME) \
-d COMPRESS_METHOD=$(COMPRESS_METHOD) \
-d OEMTOOLPATH=$(EDK_TOOLS_OUTPUT) \
-d SHELL_INF=$(SHELL_INF) \
-d UEFI_PREFIX=$(UEFI_PREFIX) \
-d PI_PREFIX=$(PI_PREFIX) \
-d CAPSULE_INF=$(CAPSULE_INF) \
-d ATAPI_PASS_THRU_INF=$(ATAPI_PASS_THRU_INF) \
-d DEVPATH_INF=$(DEVPATH_INF) \
-d GRAPHICS_INF=$(GRAPHICS_INF) \
-g $(EDK_TOOLS_OUTPUT)\GuidDatabase.txt \
-xref FV\Guid.xref \
$(PROJECT_NAME).dsc
#
# Build faster by not building components with FV=NULL. Override in the
# DSC file by adding SKIP_FV_NULL=0 on the component lines you want built
# but still have FV=NULL. For example:
#
# Dxe\Drivers\MyDriver\MyDriver.inf FV=NULL SKIP_FV_NULL=0
#
fast_makefiles :
$(PROCESSDSC) \
-d EFI_SOURCE=$(EDK_SOURCE) \
-d EDK_SOURCE=$(EDK_SOURCE) \
-d PROCESSOR=$(PROCESSOR) \
-d PROJECT_NAME=$(PROJECT_NAME) \
-d COMPRESS_METHOD=$(COMPRESS_METHOD) \
-d OEMTOOLPATH=$(EDK_TOOLS_OUTPUT) \
-d SHELL_INF=$(SHELL_INF) \
-d UEFI_PREFIX=$(UEFI_PREFIX) \
-d PI_PREFIX=$(PI_PREFIX) \
-d CAPSULE_INF=$(CAPSULE_INF) \
-d ATAPI_PASS_THRU_INF=$(ATAPI_PASS_THRU_INF) \
-d DEVPATH_INF=$(DEVPATH_INF) \
-d GRAPHICS_INF=$(GRAPHICS_INF) \
-g $(EDK_TOOLS_OUTPUT)\GuidDatabase.txt \
-xref FV\Guid.xref \
-d SKIP_FV_NULL=1 \
$(PROJECT_NAME).dsc
#
# Create the guid-to-basename cross reference file of protocols
# used by volinfo for decoding dependency expressions.
#
protocols.xref :
-@if not exist fv mkdir FV
cd $(EDK_SOURCE)
$(GUIDCHK) -g -u $(BUILD_TARGET_DIRECTORY) -e inf -x > $(BUILD_DIR)\Fv\protocols.xref
cd $(BUILD_DIR)
#
# Call all the makefiles that were generated by ProcessDsc. ProcessDsc
# creates the makefile.out that calls all the component makefiles.
#
builds :
$(MAKE) -f makefile.out
#
# Useful targets
#
#
# Define a pseudo-target that skips over compiling the build tools and
# also skips creation of the makefiles for the components. The user
# has to be aware that any changes to INF files renders this target
# invalid.
#
quick : builds
#
# Define a pseudo-target to start building with the libraries or with the
# components.
#
libraries :
$(MAKE) -f makefile.out libraries
components :
$(MAKE) -f makefile.out components
#
# Make a pseudo-target to simplify running of the NT emulation.
#
!IF "$(EFI_WIN_NT_FILE_SYSTEM)" == ""
EFI_WIN_NT_FILE_SYSTEM = $(EDK_SOURCE)\Other\Maintained\Application\$(UEFI_PREFIX)Shell\bin\ia32\Apps
!ELSE
EFI_WIN_NT_FILE_SYSTEM = $(EFI_WIN_NT_FILE_SYSTEM)!$(EDK_SOURCE)\Other\Maintained\Application\$(UEFI_PREFIX)Shell\bin\ia32\Apps
!ENDIF
#
# Make browse info file
#
bsc:
- dir /s /b *.sbr > $(PROCESSOR)\temp.rm
$(BSCMAKE) /n /o $(PROCESSOR)\$(PROJECT_NAME).bsc "@$(PROCESSOR)\temp.rm"
#
# Create a target to clean up all build directories
#
clean :
- @if exist vc??.* del vc??.* > NUL
- @if exist *.bak del *.bak > NUL
- @if exist $(PROCESSOR) rd /s /q $(PROCESSOR) > NUL
- @if exist ipf rd /s /q ipf > NUL
- @if exist ebc rd /s /q ebc > NUL
- @if exist fv rd /s /q fv > NUL
- @if exist Tools rd /s /q Tools > NUL
- @if exist makefile.out del makefile.out > NUL
- @if exist module.* del module.* > NUL
- @echo All targets cleaned
#
# Clean up all build directories except for tools.
#
cleanbuilds :
- @if exist *.bak del *.bak > NUL
- @if exist $(PROCESSOR) rd /s /q $(PROCESSOR) > NUL
- @if exist ipf rd /s /q ipf > NUL
- @if exist ebc rd /s /q ebc > NUL
- @if exist fv rd /s /q fv > NUL
- @if exist makefile.out del makefile.out > NUL
- @if exist module.* del module.* > NUL
- @echo All modules cleaned
#
# Clean up only the tools
#
cleantools :
- @if exist vc??.* del vc??.* > NUL
- @if exist Tools rd /s /q Tools > NUL
- @echo All tools cleaned
#
# Rebuild target, clean and build all
#
rebuild : clean all
#
# cleanall target to clean all build directories.
#
cleanall : clean

View File

@ -1,68 +0,0 @@
#/*++
#
# Copyright (c) 2004 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# PlatformTools.env
#
# Abstract:
#
# This file is used to define platform specific environment variables.
# It gets included by every makefile.
#
#--*/
!INCLUDE Config.env
#
# Set the project name
#
PROJECT_NAME = Ia32
#
# Set the build directory
#
BUILD_DIR = $(EDK_SOURCE)\Sample\Platform\$(PROJECT_NAME)\$(BUILD_TARGET_DIRECTORY)
!IF "$(UEFI_MODE)" == "YES"
GRAPHICS_INF = Sample\Bus\WinNtThunk\Gop\Dxe\WinNtGop.inf
!ELSE
GRAPHICS_INF = Sample\Bus\WinNtThunk\Uga\Dxe\WinNtUga.inf
!ENDIF
#
# Define compiler names
#
!IFNDEF EDK_TOOLS_PATH
EFI_ASL_LOCAL = YES
!ELSE
EFI_ASSEMBLER_NAME = Masm611
EFI_ASL_LOCAL = NO
!ENDIF
#
# These flags are specific to this platform. If a flag is not specific to this
# platform the flag should be placed in the CommonTools.env file.
# Processor architecture specific and global macros can be found in
# CommonTools.env, macros named xxx_ARCH_FLAGS and xxx_STD_FLAGS respectively.
#
C_PROJ_FLAGS = /O1 /D UNICODE /D NEW_PEI_HOBS
ASM_PROJ_FLAGS = /Cx /Zd /Fl$*.lst
LINK_PROJ_FLAGS =
LIB_PROJ_FLAGS =
EBC_C_PROJ_FLAGS =
EBC_LINK_PROJ_FLAGS =
EBC_LIB_PROJ_FLAGS =
#
# Include processor architecture specific and general Tiano build flags.
#
!INCLUDE $(EDK_SOURCE)\Sample\CommonTools.env

View File

@ -1,304 +0,0 @@
@rem #/*++
@rem #
@rem # Copyright (c) 2007, Intel Corporation
@rem # All rights reserved. This program and the accompanying materials
@rem # are licensed and made available under the terms and conditions of the BSD License
@rem # which accompanies this distribution. The full text of the license may be found at
@rem # http://opensource.org/licenses/bsd-license.php
@rem #
@rem # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
@rem # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@rem #
@rem # Module Name:
@rem #
@rem # build.bat
@rem #
@rem # Abstract:
@rem #
@rem # This script provides single module build, clean and find function
@rem # based on module name.
@rem #
@rem # The auto-generated module.list file records all module names
@rem # described in the current platform.dsc.
@rem #
@rem #--*/
@echo off
setlocal
@rem initilize local variable
set FUNCTION=build
set MODULE=
set UPDATE=
set VERBOSE=
:parse
if /I "%1"=="/c" (
set FUNCTION=clean
shift
goto parse
)
if /I "%1"=="clean" (
set FUNCTION=clean
shift
goto parse
)
if /I "%1"=="/r" (
set FUNCTION=rebuild
shift
goto parse
)
if /I "%1"=="/h" (
set FUNCTION=usage
shift
goto parse
)
if /I "%1"=="/?" (
set FUNCTION=usage
shift
goto parse
)
if /I "%1"=="/f" (
set FUNCTION=find
shift
goto parse
)
if /I "%1"=="/a" (
set UPDATE=TRUE
shift
goto parse
)
if /I "%1"=="/v" (
set VERBOSE=TRUE
shift
goto parse
)
if not "%1"=="" (
set MODULE=%1
shift
goto parse
) else (
@rem no other paramters
if "%FUNCTION%"=="rebuild" goto build
goto %FUNCTION%
)
:build
set StartTime=%time%
@rem if no input, build all
if "%MODULE%"=="" (
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile clean
)
nmake -nologo -f Makefile all
goto endtime
)
@rem then try to build special targets: all, fast, tools.
if /I "%MODULE%"=="all" (
@rem build all modules and tools.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile cleanall
)
nmake -nologo -f Makefile all
goto endtime
)
if /I "%MODULE%"=="fast" (
@rem build fast target to skip FV=NULL modules.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile clean
)
nmake -nologo -f Makefile fast
goto endtime
)
if /I "%MODULE%"=="tools" (
@rem build all tools.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile cleantools
)
nmake -nologo -f Makefile build_tools
echo.
echo All tools are built.
goto endtime
)
@rem build single module, update build makefiles
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f module.mak %MODULE%Clean 2>NUL
)
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles
if errorlevel 1 goto builderror
@rem check whether input module name is described in current dsc file.
findstr /I /C:" %MODULE% " module.list > NUL
if errorlevel 1 (
echo.
echo.
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto finderror
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
echo.
echo Warning!!! Your specified module name can't be found.
echo One of the above modules may be what you want to build.
goto end
)
@rem build this module
nmake -nologo -f module.mak %MODULE%Build
echo.
if "%FUNCTION%"=="rebuild" (
echo Module %MODULE% is rebuilt.
) else (
echo Module %MODULE% is built.
)
:endtime
@rem output build time.
set EndTime=%time%
echo.
echo Start time %StartTime%
echo End time %EndTime%
goto end
:clean
@rem if no input, default clean all build directories.
if "%MODULE%"=="" (
nmake -nologo -f Makefile clean
goto end
)
@rem first try to clean special tasks: all, modules and tools
if /I "%MODULE%"=="all" (
nmake -nologo -f Makefile cleanall
goto end
)
if /I "%MODULE%"=="modules" (
nmake -nologo -f Makefile cleanbuilds
goto end
)
if /I "%MODULE%"=="tools" (
nmake -nologo -f Makefile cleantools
goto end
)
@rem clean single module
@rem check whether input module name is in module.list file.
if not exist module.list (
echo Module list info doesn't exist.
echo Processing dsc file to generate module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
findstr /I /C:" %MODULE% " module.list > NUL
if errorlevel 1 (
echo.
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto finderror
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
echo.
echo Warning!!! Your specified module name can't be found.
echo One of the above modules may be what you want to clean.
goto end
)
@rem clean this module
nmake -nologo -f module.mak %MODULE%Clean 2>NUL
echo.
echo Module %MODULE% is cleaned.
goto end
:find
@rem find match module name by subname.
if "%UPDATE%"=="TRUE" (
echo Processing dsc file to update module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
if not exist module.list (
echo Module list info doesn't exist.
echo Processing dsc file to generate module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
if "%MODULE%"=="" (
@rem display all
echo.
if "%VERBOSE%"=="TRUE" (
type module.list
) else (
@rem only output module name without module.inf file name
for /F %%A in (module.list) do echo %%A
)
) else (
@rem display match module name
echo.
if "%VERBOSE%"=="TRUE" (
findstr /I /C:"%MODULE%" module.list
if errorlevel 1 goto notfind
) else (
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto notfind
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
)
)
goto end
:usage
echo build or clean single module based on module name after tools are built.
echo.
echo build [/r] [/c] [/f] [/h] [modulename]
echo.
echo build [/r] [modulename]
echo build single module, such as build DxeMain.
echo If /r is specified, the target will be rebuit after cleaned first.
echo if no input modulename or modulename is all, then build all
echo Specail build targets: all, fast, tools.
echo These special targets may not exist in your tip main makefile.
echo build - build all tools and modules
echo build all - build all tools and modules
echo build fast - build all without FV=NULL modules
echo build tools - build all tools.
echo.
echo build /c [modulename]
echo build clean [modulename]
echo remove the temp generated files for single module
echo if no input modulename, then clean all
echo Specail clean targets: all, modules, tools.
echo These special targets may not exist in your tip main makefile.
echo build /c - clean up all build directories
echo build /c all - clean up all build directories and binary dirs.
echo build /c modules - clean up all build directories except for tools.
echo build /c tools - clean up only tools directory.
echo.
echo build /f [/a] [/v] [subname]
echo find all matched modulename with the sub string of module name.
echo option /a re-processes dsc files to update module name list.
echo option /v outputs module name and module.inf file name both.
echo.
echo build /h
echo build /?
echo display help information.
echo.
goto end
:notfind
echo Warning!!! Your specified module name can't be found.
echo Try to use /f /a options to update module name list.
goto end
:finderror
echo Warning!!! Your specified module name can't be found.
echo Try to use /f to find modules that you want to build.
echo Or use /h to get the helpinfo of this script.
goto end
:builderror
if exist error.log type error.log
echo.
if not exist Tools\ProcessDsc.exe (
echo.
echo Error!!! Build tools may not be ready. Try to build tools first.
echo.
)
del module.* > NUL 2>&1
goto end
:end
if exist error.log del error.log
echo on

View File

@ -1,31 +0,0 @@
#/*++
#
# Copyright (c) 2006 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# Config.env
#
# Abstract:
#
# This file is used to define platform build configuration.
# It gets included by PlatformTools.env.
#
#--*/
BUILD_TARGET_DIRECTORY = Build
EFI_DEBUG = NO
EFI_DEBUG_CLEAR_MEMORY = NO
EFI_SYMBOLIC_DEBUG = NO
EFI_GENERATE_INTERMEDIATE_FILE = NO
UEFI_MODE = YES
USE_VC8 = NO
USE_VC8_IPF = NO
USE_NEWDDK = YES

View File

@ -1,102 +0,0 @@
#/*++
#
# Copyright (c) 2004 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# IPF.dsc
#
# Abstract:
#
# This is the build description file containing the platform
# specific build definitions.
#
#
# Notes:
#
# The info in this file is broken down into sections. The start of a section
# is designated by a "[" in the first column. So the [=====] separater ends
# a section.
#
#--*/
[=============================================================================]
#
# This section gets processed first by the utility. Define any
# macros that you may use elsewhere in this description file. This is the
# mechanism by which you can pass parameters and defines to the makefiles
# generated for each component. You can define it here, and then make an
# assignment in the [makefile.common] section. For example, if here you
# define MY_VAR = my_var_value, then you can add MY_VAR = $(MY_VAR) in
# the [makefile.common] section and it becomes MY_VAR = my_var_value in
# the output makefiles for each component.
#
[Defines]
PLATFORM=$(PROJECT_NAME)
[=============================================================================]
#
# Include other common build descriptions
#
!include "$(EDK_SOURCE)\Sample\Platform\Common.dsc"
!include "$(EDK_SOURCE)\Sample\Platform\Common$(PROCESSOR).dsc"
[=============================================================================]
[Fv.Fv.Attributes]
[Fv.Fv.options]
[build.fv.Fv]
[=============================================================================]
#
# These are the libraries that will be built by the master makefile
#
[=============================================================================]
[Libraries]
DEFINE EDK_PREFIX=
!include "$(EDK_SOURCE)\Sample\Platform\EdkLibAll.dsc"
#
# EdkII Glue Library
#
#!include "$(EDK_SOURCE)\Sample\Platform\EdkIIGlueLibAll.dsc"
[=============================================================================]
#
# These are platform specific libraries that must be built prior to building
# certain drivers that depend upon them.
#
[=============================================================================]
[Libraries.Platform]
Sample\Platform\Generic\RuntimeDxe\StatusCode\Lib\RtMemoryStatusCode\RtMemoryStatusCode.inf
Sample\Platform\Generic\RuntimeDxe\StatusCode\Lib\BsDataHubStatusCode\BsDataHubStatusCode.inf
Sample\Platform\Generic\RuntimeDxe\StatusCode\Lib\BsSerialStatusCode\BsSerialStatusCode.inf
#Other\Maintained\Application\Shell\Library\EfiShellLib.inf
[=============================================================================]
#
# These are the components that will be built by the master makefile
#
[=============================================================================]
[Components]
DEFINE PACKAGE=Default
#Add EDK INF file here:
#Other\Maintained\Application\Shell\Shell.inf
[=============================================================================]

View File

@ -1,140 +0,0 @@
#/*++
#
# Copyright (c) 2004 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# Makefile
#
# Abstract:
#
# This makefile is used to build the IPF build tip.
#
#--*/
#
# Everything depends on EDK_SOURCE & EDK_TOOLS_PATH. Make sure it's defined
#
!IFNDEF EDK_SOURCE
!ERROR EDK_SOURCE environmental variable not set
!ENDIF
!IFNDEF EDK_TOOLS_PATH
!MESSAGE EDK_TOOLS_PATH environmental variable not set, default setting used
!ENDIF
#
# Set the processor type
#
PROCESSOR = IPF
#
# Define a toolchain so we can pick up the basic defines from
# the EFI tool setup file.
#
TOOLCHAIN = TOOLCHAIN_MSVC
!INCLUDE PlatformTools.env
#
# Target to build customer config
#
all : tempstamp_file build_tools makefiles builds
#
# Create a file to store the date and time, and used by SetStamp.exe
#
tempstamp_file:
!IF DEFINED(DATE_STAMP) && DEFINED(TIME_STAMP)
@echo $(DATE_STAMP) $(TIME_STAMP) > GenStamp.txt
!ELSEIF EXIST(GenStamp.txt)
- @del GenStamp.txt
!ENDIF
#
# Make all the EFI build tools by calling the makefile
#
build_tools :
-if not exist $(EDK_TOOLS_OUTPUT) mkdir $(EDK_TOOLS_OUTPUT)
-if exist $(EDK_TOOLS_BIN)\*.* copy $(EDK_TOOLS_BIN)\*.* $(EDK_TOOLS_OUTPUT)
$(MAKE) -f $(EDK_TOOLS_SOURCE)\makefile PROCESSOR=$(PROCESSOR) BUILD_DIR=$(BUILD_DIR)
$(GUIDCHK) -b $(EDK_TOOLS_OUTPUT)\GuidDatabase.txt
#
# Run the utility that processes our description files and generates the
# makefiles. Specify -v option for more verbose output.
# Specify "-xref filename" to generate a cross-reference file of
# basename-to-fileguid that can be used by VolInfo.
#
makefiles :
$(PROCESSDSC) \
-d EFI_SOURCE=$(EDK_SOURCE) \
-d EDK_SOURCE=$(EDK_SOURCE) \
-d PROCESSOR=$(PROCESSOR) \
-d PROJECT_NAME=$(PROJECT_NAME) \
-d OEMTOOLPATH=$(EDK_TOOLS_OUTPUT) \
-d COMPRESS_METHOD=$(COMPRESS_METHOD) \
-d UEFI_PREFIX=$(UEFI_PREFIX) \
-d PI_PREFIX=$(PI_PREFIX) \
-g $(EDK_TOOLS_OUTPUT)\GuidDatabase.txt \
$(PROJECT_NAME).dsc
#
# Call all the makefiles that were generated by ProcessDsc. ProcessDsc
# creates the makefile.out that calls all the component makefiles.
#
builds :
$(MAKE) -f makefile.out libraries
$(MAKE) -f makefile.out components
#
# Create a target to clean up all build directories
#
clean :
- @if exist vc??.* del vc??.* > NUL
- @if exist *.bak del *.bak > NUL
- @if exist $(PROCESSOR) rd /s /q $(PROCESSOR) > NUL
- @if exist ebc rd /s /q ebc > NUL
- @if exist fv rd /s /q fv > NUL
- @if exist Tools rd /s /q Tools > NUL
- @if exist makefile.out del makefile.out > NUL
- @if exist module.* del module.* > NUL
- @echo All targets cleaned
#
# Clean up all build directories except for tools.
#
cleanbuilds :
- @if exist *.bak del *.bak > NUL
- @if exist $(PROCESSOR) rd /s /q $(PROCESSOR) > NUL
- @if exist ebc rd /s /q ebc > NUL
- @if exist fv rd /s /q fv > NUL
- @if exist makefile.out del makefile.out > NUL
- @if exist module.* del module.* > NUL
- @echo All modules cleaned
#
# Clean up only the tools
#
cleantools :
- @if exist vc??.* del vc??.* > NUL
- @if exist Tools rd /s /q Tools > NUL
- @echo All tools cleaned
#
# Rebuild target, clean and build all
#
rebuild : clean all
#
# cleanall target to clean all build directories.
#
cleanall : clean

View File

@ -1,69 +0,0 @@
#/*++
#
# Copyright (c) 2004 - 2006, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# PlatformTools.env
#
# Abstract:
#
# This file is used to define platform specific environment variables.
# It gets included by every makefile.
#
#--*/
!INCLUDE Config.env
#
# Set the project name
#
PROJECT_NAME = IPF
#
# Set the build directory
#
BUILD_DIR = $(EDK_SOURCE)\Sample\Platform\$(PROJECT_NAME)\$(BUILD_TARGET_DIRECTORY)
#
# Define compiler names
#
!IFNDEF EDK_TOOLS_PATH
EFI_ASL_LOCAL = YES
!ELSE
!IF "$(USE_NEWDDK)" == "YES"
EFI_COMPILER_NAME = DDK3790.1830
EFI_ASSEMBLER_NAME = DDK3790.1830
!ELSE
EFI_COMPILER_NAME = DDK3790
EFI_ASSEMBLER_NAME = DDK3790
!ENDIF
EFI_ASL_LOCAL = NO
!ENDIF
#
# These flags are specific to this platform. If a flag is not specific to this
# platform the flag should be placed in the CommonTools.env file.
# Processor architecture specific and global macros can be found in
# CommonTools.env, macros named xxx_ARCH_FLAGS and xxx_STD_FLAGS respectively.
#
C_PROJ_FLAGS = /Os
ASM_PROJ_FLAGS =
LINK_PROJ_FLAGS = /ALIGN:32
LIB_PROJ_FLAGS =
EBC_C_PROJ_FLAGS =
EBC_LINK_PROJ_FLAGS =
EBC_LIB_PROJ_FLAGS =
#
# Include processor architecture specific and general EFI build flags.
#
!INCLUDE $(EDK_SOURCE)\Sample\CommonTools.env

View File

@ -1,304 +0,0 @@
@rem #/*++
@rem #
@rem # Copyright (c) 2007, Intel Corporation
@rem # All rights reserved. This program and the accompanying materials
@rem # are licensed and made available under the terms and conditions of the BSD License
@rem # which accompanies this distribution. The full text of the license may be found at
@rem # http://opensource.org/licenses/bsd-license.php
@rem #
@rem # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
@rem # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@rem #
@rem # Module Name:
@rem #
@rem # build.bat
@rem #
@rem # Abstract:
@rem #
@rem # This script provides single module build, clean and find function
@rem # based on module name.
@rem #
@rem # The auto-generated module.list file records all module names
@rem # described in the current platform.dsc.
@rem #
@rem #--*/
@echo off
setlocal
@rem initilize local variable
set FUNCTION=build
set MODULE=
set UPDATE=
set VERBOSE=
:parse
if /I "%1"=="/c" (
set FUNCTION=clean
shift
goto parse
)
if /I "%1"=="clean" (
set FUNCTION=clean
shift
goto parse
)
if /I "%1"=="/r" (
set FUNCTION=rebuild
shift
goto parse
)
if /I "%1"=="/h" (
set FUNCTION=usage
shift
goto parse
)
if /I "%1"=="/?" (
set FUNCTION=usage
shift
goto parse
)
if /I "%1"=="/f" (
set FUNCTION=find
shift
goto parse
)
if /I "%1"=="/a" (
set UPDATE=TRUE
shift
goto parse
)
if /I "%1"=="/v" (
set VERBOSE=TRUE
shift
goto parse
)
if not "%1"=="" (
set MODULE=%1
shift
goto parse
) else (
@rem no other paramters
if "%FUNCTION%"=="rebuild" goto build
goto %FUNCTION%
)
:build
set StartTime=%time%
@rem if no input, build all
if "%MODULE%"=="" (
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile clean
)
nmake -nologo -f Makefile all
goto endtime
)
@rem then try to build special targets: all, fast, tools.
if /I "%MODULE%"=="all" (
@rem build all modules and tools.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile cleanall
)
nmake -nologo -f Makefile all
goto endtime
)
if /I "%MODULE%"=="fast" (
@rem build fast target to skip FV=NULL modules.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile clean
)
nmake -nologo -f Makefile fast
goto endtime
)
if /I "%MODULE%"=="tools" (
@rem build all tools.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile cleantools
)
nmake -nologo -f Makefile build_tools
echo.
echo All tools are built.
goto endtime
)
@rem build single module, update build makefiles
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f module.mak %MODULE%Clean 2>NUL
)
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles
if errorlevel 1 goto builderror
@rem check whether input module name is described in current dsc file.
findstr /I /C:" %MODULE% " module.list > NUL
if errorlevel 1 (
echo.
echo.
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto finderror
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
echo.
echo Warning!!! Your specified module name can't be found.
echo One of the above modules may be what you want to build.
goto end
)
@rem build this module
nmake -nologo -f module.mak %MODULE%Build
echo.
if "%FUNCTION%"=="rebuild" (
echo Module %MODULE% is rebuilt.
) else (
echo Module %MODULE% is built.
)
:endtime
@rem output build time.
set EndTime=%time%
echo.
echo Start time %StartTime%
echo End time %EndTime%
goto end
:clean
@rem if no input, default clean all build directories.
if "%MODULE%"=="" (
nmake -nologo -f Makefile clean
goto end
)
@rem first try to clean special tasks: all, modules and tools
if /I "%MODULE%"=="all" (
nmake -nologo -f Makefile cleanall
goto end
)
if /I "%MODULE%"=="modules" (
nmake -nologo -f Makefile cleanbuilds
goto end
)
if /I "%MODULE%"=="tools" (
nmake -nologo -f Makefile cleantools
goto end
)
@rem clean single module
@rem check whether input module name is in module.list file.
if not exist module.list (
echo Module list info doesn't exist.
echo Processing dsc file to generate module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
findstr /I /C:" %MODULE% " module.list > NUL
if errorlevel 1 (
echo.
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto finderror
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
echo.
echo Warning!!! Your specified module name can't be found.
echo One of the above modules may be what you want to clean.
goto end
)
@rem clean this module
nmake -nologo -f module.mak %MODULE%Clean 2>NUL
echo.
echo Module %MODULE% is cleaned.
goto end
:find
@rem find match module name by subname.
if "%UPDATE%"=="TRUE" (
echo Processing dsc file to update module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
if not exist module.list (
echo Module list info doesn't exist.
echo Processing dsc file to generate module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
if "%MODULE%"=="" (
@rem display all
echo.
if "%VERBOSE%"=="TRUE" (
type module.list
) else (
@rem only output module name without module.inf file name
for /F %%A in (module.list) do echo %%A
)
) else (
@rem display match module name
echo.
if "%VERBOSE%"=="TRUE" (
findstr /I /C:"%MODULE%" module.list
if errorlevel 1 goto notfind
) else (
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto notfind
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
)
)
goto end
:usage
echo build or clean single module based on module name after tools are built.
echo.
echo build [/r] [/c] [/f] [/h] [modulename]
echo.
echo build [/r] [modulename]
echo build single module, such as build DxeMain.
echo If /r is specified, the target will be rebuit after cleaned first.
echo if no input modulename or modulename is all, then build all
echo Specail build targets: all, fast, tools.
echo These special targets may not exist in your tip main makefile.
echo build - build all tools and modules
echo build all - build all tools and modules
echo build fast - build all without FV=NULL modules
echo build tools - build all tools.
echo.
echo build /c [modulename]
echo build clean [modulename]
echo remove the temp generated files for single module
echo if no input modulename, then clean all
echo Specail clean targets: all, modules, tools.
echo These special targets may not exist in your tip main makefile.
echo build /c - clean up all build directories
echo build /c all - clean up all build directories and binary dirs.
echo build /c modules - clean up all build directories except for tools.
echo build /c tools - clean up only tools directory.
echo.
echo build /f [/a] [/v] [subname]
echo find all matched modulename with the sub string of module name.
echo option /a re-processes dsc files to update module name list.
echo option /v outputs module name and module.inf file name both.
echo.
echo build /h
echo build /?
echo display help information.
echo.
goto end
:notfind
echo Warning!!! Your specified module name can't be found.
echo Try to use /f /a options to update module name list.
goto end
:finderror
echo Warning!!! Your specified module name can't be found.
echo Try to use /f to find modules that you want to build.
echo Or use /h to get the helpinfo of this script.
goto end
:builderror
if exist error.log type error.log
echo.
if not exist Tools\ProcessDsc.exe (
echo.
echo Error!!! Build tools may not be ready. Try to build tools first.
echo.
)
del module.* > NUL 2>&1
goto end
:end
if exist error.log del error.log
echo on

View File

@ -1,33 +0,0 @@
#/*++
#
# Copyright (c) 2006 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# Config.env
#
# Abstract:
#
# This file is used to define platform build configuration.
# It gets included by PlatformTools.env.
#
#--*/
BUILD_TARGET_DIRECTORY = Build
EFI_DEBUG = NO
EFI_DEBUG_CLEAR_MEMORY = NO
EFI_PEI_PERFORMANCE = NO
EFI_DXE_PERFORMANCE = NO
EFI_SYMBOLIC_DEBUG = NO
EFI_GENERATE_INTERMEDIATE_FILE = NO
UEFI_MODE = YES
USE_VC8 = NO
USE_VC8_X64 = NO
USE_NEWDDK = YES

View File

@ -1,147 +0,0 @@
#/*++
#
# Copyright (c) 2006 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
# Makefile
#
# Abstract:
# Makefile for this build tip
#
#--*/
#
# Everything depends on EDK_SOURCE being set.
#
!IFNDEF EDK_SOURCE
!ERROR EDK_SOURCE environmental variable not set
!ENDIF
!IFNDEF EDK_TOOLS_PATH
!MESSAGE EDK_TOOLS_PATH environmental variable not set, default setting used
!ENDIF
#
# Set the processor type
#
PROCESSOR = IA32
#
# Define a toolchain so we can pick up the basic defines from
# the EFI tool setup file.
#
TOOLCHAIN = TOOLCHAIN_MSVC
#
# Include the platform-specific settings file
#
!INCLUDE PlatformTools.env
#
# Default target to create the makefiles and then build the drivers
#
all : build_tools makefiles builds
#
# Make all the build tools by calling the makefile
#
build_tools :
-if not exist $(EDK_TOOLS_OUTPUT) mkdir $(EDK_TOOLS_OUTPUT)
-if exist $(EDK_TOOLS_BIN)\*.* copy $(EDK_TOOLS_BIN)\*.* $(EDK_TOOLS_OUTPUT)
$(MAKE) -f $(EDK_TOOLS_SOURCE)\makefile PROCESSOR=$(PROCESSOR) BUILD_DIR=$(BUILD_DIR)
$(GUIDCHK) -b $(EDK_TOOLS_OUTPUT)\GuidDatabase.txt
PROCESSOR=X64
#
# Run ProcessDsc on our main description files to generate the
# makefiles and package files. Specify -v option for more verbose output.
# Specify "-xref filename" to generate a cross-reference file of
# basename-to-fileguid that can be used by VolInfo.
#
makefiles :
$(PROCESSDSC) \
-d EFI_SOURCE=$(EDK_SOURCE) \
-d EDK_SOURCE=$(EDK_SOURCE) \
-d PROCESSOR=$(PROCESSOR) \
-d PROJECT_NAME=$(PROJECT_NAME) \
-d PROJECT_FAMILY=$(PROJECT_FAMILY) \
-d UEFI_PREFIX=$(UEFI_PREFIX) \
-d PI_PREFIX=$(PI_PREFIX) \
-d COMPRESS_METHOD=$(COMPRESS_METHOD) \
-d OEMTOOLPATH=$(EDK_TOOLS_OUTPUT) \
-g $(EDK_TOOLS_OUTPUT)\GuidDatabase.txt \
$(PROJECT_NAME).dsc
#
# Call all the makefiles that were generated by ProcessDsc. ProcessDsc
# creates the makefile.out that calls all the component makefiles.
#
builds :
$(MAKE) -f makefile.out libraries
$(MAKE) -f makefile.out components
#
# Define a pseudo-target to start building with the libraries or with the
# components.
#
libraries :
$(MAKE) -f makefile.out libraries
components :
$(MAKE) -f makefile.out components
#
# Create a target to clean up all build directories
#
clean :
- @if exist vc??.* del vc??.* > NUL
- @if exist *.bak del *.bak > NUL
- @if exist ia32 rd /s/q ia32 > NUL
- @if exist ipf rd /s /q ipf > NUL
- @if exist ebc rd /s /q ebc > NUL
- @if exist x64 rd /s /q x64 > NUL
- @if exist fv rd /s /q fv > NUL
- @if exist Tools rd /s /q Tools > NUL
- @if exist makefile.out del makefile.out > NUL
- @if exist module.* del module.* > NUL
- @echo All targets cleaned
#
# Clean up all build directories except for tools.
#
cleanbuilds :
- @if exist *.bak del *.bak > NUL
- @if exist ia32 rd /s/q ia32 > NUL
- @if exist ipf rd /s /q ipf > NUL
- @if exist ebc rd /s /q ebc > NUL
- @if exist x64 rd /s /q x64 > NUL
- @if exist fv rd /s /q fv > NUL
- @if exist makefile.out del makefile.out > NUL
- @if exist module.* del module.* > NUL
- @echo All modules cleaned
#
# Clean up only the tools
#
cleantools :
- @if exist vc??.* del vc??.* > NUL
- @if exist Tools rd /s /q Tools > NUL
- @echo All tools cleaned
#
# Rebuild target, clean and build all
#
rebuild : clean all
#
# cleanall target to clean all build directories.
#
cleanall : clean

View File

@ -1,65 +0,0 @@
#/*++
#
# Copyright (c) 2006, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# PlatformTools.env
#
# Abstract:
# This file is used to define platform specific environment variables.
# It gets included by every makefile.
#
#--*/
!INCLUDE Config.env
#
# Set the project name
#
PROJECT_NAME = X64
#
# Set the build directory
#
BUILD_DIR = $(EDK_SOURCE)\Sample\Platform\$(PROJECT_NAME)\$(BUILD_TARGET_DIRECTORY)
#
# Define compiler names
#
!IFNDEF EDK_TOOLS_PATH
EFI_ASL_LOCAL = YES
!ELSE
EFI_ASSEMBLER_NAME = Masm611
EFI_COMPILER_X64_NAME = AMD64
EFI_ASL_LOCAL = NO
!ENDIF
#
# These flags are specific to this platform. If a flag is not specific to this
# platform the flag should be placed in the CommonTools.env file.
# Processor architecture specific and global macros can be found in
# CommonTools.env, macros named xxx_ARCH_FLAGS and xxx_STD_FLAGS respectively.
#
C_PROJ_FLAGS = /O1
ASM_PROJ_FLAGS =
LINK_PROJ_FLAGS = /ALIGN:32
LIB_PROJ_FLAGS =
EBC_C_PROJ_FLAGS =
EBC_LINK_PROJ_FLAGS =
EBC_LIB_PROJ_FLAGS =
#
# Include processor architecture specific and general Tiano build flags.
#
!INCLUDE $(EDK_SOURCE)\Sample\CommonTools.env

View File

@ -1,104 +0,0 @@
#/*++
#
# Copyright (c) 2006 - 2007, Intel Corporation
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
# Module Name:
#
# X64.dsc
#
# Abstract:
#
# This is the build description file containing the platform
# build definitions.
#
#
# Notes:
#
# The info in this file is broken down into sections. The start of a section
# is designated by a "[" in the first column. So the [=====] separater ends
# a section.
#
#--*/
[=============================================================================]
#
# This section gets processed first by the utility. Define any
# macros that you may use elsewhere in this description file. This is the
# mechanism by which you can pass parameters and defines to the makefiles
# generated for each component. You can define it here, and then make an
# assignment in the [makefile.common] section. For example, if here you
# define MY_VAR = my_var_value, then you can add MY_VAR = $(MY_VAR) in
# the [makefile.common] section and it becomes MY_VAR = my_var_value in
# the output makefiles for each component.
#
[Defines]
PLATFORM = $(PROJECT_NAME)
[=============================================================================]
#
# Include other common build descriptions
#
!include "$(EDK_SOURCE)\Sample\Platform\Common.dsc"
!include "$(EDK_SOURCE)\Sample\Platform\Common$(PROCESSOR).dsc"
[=============================================================================]
[Fv.Fv.Attributes]
[Fv.Fv.options]
[Build.Fv.Fv]
[=============================================================================]
#
# These are the libraries that will be built by the master makefile
#
[=============================================================================]
[Libraries]
DEFINE EDK_PREFIX=
DEFINE PROCESSOR=IA32
!include "$(EDK_SOURCE)\Sample\Platform\EdkLib32.dsc"
#!include "$(EDK_SOURCE)\Sample\Platform\EdkIIGlueLib32.dsc"
DEFINE PROCESSOR=X64
!include "$(EDK_SOURCE)\Sample\Platform\EdkLibAll.dsc"
#!include "$(EDK_SOURCE)\Sample\Platform\EdkIIGlueLibAll.dsc"
[=============================================================================]
#
# These are platform specific libraries that must be built prior to building
# certain drivers that depend upon them.
#
[=============================================================================]
[Libraries.Platform]
DEFINE PROCESSOR=X64
Sample\Platform\Generic\RuntimeDxe\StatusCode\Lib\BsDataHubStatusCode\BsDataHubStatusCode.inf
Sample\Platform\Generic\RuntimeDxe\StatusCode\Lib\RtMemoryStatusCode\RtMemoryStatusCode.inf
[=============================================================================]
#
# These are the components that will be built by the master makefile
#
[=============================================================================]
[Components]
DEFINE PACKAGE=Default
#Add EDK INF file here:
#Other\Maintained\Application\Shell\ShellFull.inf
[=============================================================================]

View File

@ -1,304 +0,0 @@
@rem #/*++
@rem #
@rem # Copyright (c) 2007, Intel Corporation
@rem # All rights reserved. This program and the accompanying materials
@rem # are licensed and made available under the terms and conditions of the BSD License
@rem # which accompanies this distribution. The full text of the license may be found at
@rem # http://opensource.org/licenses/bsd-license.php
@rem #
@rem # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
@rem # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@rem #
@rem # Module Name:
@rem #
@rem # build.bat
@rem #
@rem # Abstract:
@rem #
@rem # This script provides single module build, clean and find function
@rem # based on module name.
@rem #
@rem # The auto-generated module.list file records all module names
@rem # described in the current platform.dsc.
@rem #
@rem #--*/
@echo off
setlocal
@rem initilize local variable
set FUNCTION=build
set MODULE=
set UPDATE=
set VERBOSE=
:parse
if /I "%1"=="/c" (
set FUNCTION=clean
shift
goto parse
)
if /I "%1"=="clean" (
set FUNCTION=clean
shift
goto parse
)
if /I "%1"=="/r" (
set FUNCTION=rebuild
shift
goto parse
)
if /I "%1"=="/h" (
set FUNCTION=usage
shift
goto parse
)
if /I "%1"=="/?" (
set FUNCTION=usage
shift
goto parse
)
if /I "%1"=="/f" (
set FUNCTION=find
shift
goto parse
)
if /I "%1"=="/a" (
set UPDATE=TRUE
shift
goto parse
)
if /I "%1"=="/v" (
set VERBOSE=TRUE
shift
goto parse
)
if not "%1"=="" (
set MODULE=%1
shift
goto parse
) else (
@rem no other paramters
if "%FUNCTION%"=="rebuild" goto build
goto %FUNCTION%
)
:build
set StartTime=%time%
@rem if no input, build all
if "%MODULE%"=="" (
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile clean
)
nmake -nologo -f Makefile all
goto endtime
)
@rem then try to build special targets: all, fast, tools.
if /I "%MODULE%"=="all" (
@rem build all modules and tools.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile cleanall
)
nmake -nologo -f Makefile all
goto endtime
)
if /I "%MODULE%"=="fast" (
@rem build fast target to skip FV=NULL modules.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile clean
)
nmake -nologo -f Makefile fast
goto endtime
)
if /I "%MODULE%"=="tools" (
@rem build all tools.
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f Makefile cleantools
)
nmake -nologo -f Makefile build_tools
echo.
echo All tools are built.
goto endtime
)
@rem build single module, update build makefiles
if "%FUNCTION%"=="rebuild" (
nmake -nologo -f module.mak %MODULE%Clean 2>NUL
)
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles
if errorlevel 1 goto builderror
@rem check whether input module name is described in current dsc file.
findstr /I /C:" %MODULE% " module.list > NUL
if errorlevel 1 (
echo.
echo.
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto finderror
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
echo.
echo Warning!!! Your specified module name can't be found.
echo One of the above modules may be what you want to build.
goto end
)
@rem build this module
nmake -nologo -f module.mak %MODULE%Build
echo.
if "%FUNCTION%"=="rebuild" (
echo Module %MODULE% is rebuilt.
) else (
echo Module %MODULE% is built.
)
:endtime
@rem output build time.
set EndTime=%time%
echo.
echo Start time %StartTime%
echo End time %EndTime%
goto end
:clean
@rem if no input, default clean all build directories.
if "%MODULE%"=="" (
nmake -nologo -f Makefile clean
goto end
)
@rem first try to clean special tasks: all, modules and tools
if /I "%MODULE%"=="all" (
nmake -nologo -f Makefile cleanall
goto end
)
if /I "%MODULE%"=="modules" (
nmake -nologo -f Makefile cleanbuilds
goto end
)
if /I "%MODULE%"=="tools" (
nmake -nologo -f Makefile cleantools
goto end
)
@rem clean single module
@rem check whether input module name is in module.list file.
if not exist module.list (
echo Module list info doesn't exist.
echo Processing dsc file to generate module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
findstr /I /C:" %MODULE% " module.list > NUL
if errorlevel 1 (
echo.
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto finderror
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
echo.
echo Warning!!! Your specified module name can't be found.
echo One of the above modules may be what you want to clean.
goto end
)
@rem clean this module
nmake -nologo -f module.mak %MODULE%Clean 2>NUL
echo.
echo Module %MODULE% is cleaned.
goto end
:find
@rem find match module name by subname.
if "%UPDATE%"=="TRUE" (
echo Processing dsc file to update module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
if not exist module.list (
echo Module list info doesn't exist.
echo Processing dsc file to generate module list info.
nmake -nologo -f Makefile flashmap > NUL 2>&1
nmake -nologo -f Makefile makefiles > error.log 2>&1
if errorlevel 1 goto builderror
)
if "%MODULE%"=="" (
@rem display all
echo.
if "%VERBOSE%"=="TRUE" (
type module.list
) else (
@rem only output module name without module.inf file name
for /F %%A in (module.list) do echo %%A
)
) else (
@rem display match module name
echo.
if "%VERBOSE%"=="TRUE" (
findstr /I /C:"%MODULE%" module.list
if errorlevel 1 goto notfind
) else (
findstr /I /C:"%MODULE%" module.list > NUL
if errorlevel 1 goto notfind
for /F %%A in ('findstr /I /C:"%MODULE%" module.list') do echo %%A
)
)
goto end
:usage
echo build or clean single module based on module name after tools are built.
echo.
echo build [/r] [/c] [/f] [/h] [modulename]
echo.
echo build [/r] [modulename]
echo build single module, such as build DxeMain.
echo If /r is specified, the target will be rebuit after cleaned first.
echo if no input modulename or modulename is all, then build all
echo Specail build targets: all, fast, tools.
echo These special targets may not exist in your tip main makefile.
echo build - build all tools and modules
echo build all - build all tools and modules
echo build fast - build all without FV=NULL modules
echo build tools - build all tools.
echo.
echo build /c [modulename]
echo build clean [modulename]
echo remove the temp generated files for single module
echo if no input modulename, then clean all
echo Specail clean targets: all, modules, tools.
echo These special targets may not exist in your tip main makefile.
echo build /c - clean up all build directories
echo build /c all - clean up all build directories and binary dirs.
echo build /c modules - clean up all build directories except for tools.
echo build /c tools - clean up only tools directory.
echo.
echo build /f [/a] [/v] [subname]
echo find all matched modulename with the sub string of module name.
echo option /a re-processes dsc files to update module name list.
echo option /v outputs module name and module.inf file name both.
echo.
echo build /h
echo build /?
echo display help information.
echo.
goto end
:notfind
echo Warning!!! Your specified module name can't be found.
echo Try to use /f /a options to update module name list.
goto end
:finderror
echo Warning!!! Your specified module name can't be found.
echo Try to use /f to find modules that you want to build.
echo Or use /h to get the helpinfo of this script.
goto end
:builderror
if exist error.log type error.log
echo.
if not exist Tools\ProcessDsc.exe (
echo.
echo Error!!! Build tools may not be ready. Try to build tools first.
echo.
)
del module.* > NUL 2>&1
goto end
:end
if exist error.log del error.log
echo on