summaryrefslogtreecommitdiff
path: root/Core/FV.mak
diff options
context:
space:
mode:
Diffstat (limited to 'Core/FV.mak')
-rw-r--r--Core/FV.mak215
1 files changed, 215 insertions, 0 deletions
diff --git a/Core/FV.mak b/Core/FV.mak
new file mode 100644
index 0000000..75bb13b
--- /dev/null
+++ b/Core/FV.mak
@@ -0,0 +1,215 @@
+#**********************************************************************
+#**********************************************************************
+#** **
+#** (C)Copyright 1985-2010, American Megatrends, Inc. **
+#** **
+#** All Rights Reserved. **
+#** **
+#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+#** **
+#** Phone: (770)-246-8600 **
+#** **
+#**********************************************************************
+#**********************************************************************
+
+#**********************************************************************
+# $Header: /Alaska/BIN/Core/FV.mak 12 9/10/12 4:43p Artems $
+#
+# $Revision: 12 $
+#
+# $Date: 9/10/12 4:43p $
+#**********************************************************************
+# Revision History
+# ----------------
+# $Log: /Alaska/BIN/Core/FV.mak $
+#
+# 12 9/10/12 4:43p Artems
+# [TAG] EIP88859
+# [Category] Improvement
+# [Description] Build error in GenRomLayout.bat when too many FFS files
+# or file name is too long.
+# Added support to handle long strings in batch files
+# [Files] Fv.mak, Core.mak
+#
+# 11 6/23/11 4:37p Artems
+# EIP 61949: apriori list make doesn't work. Made changes to use FWBuild
+# for apriori list generation
+#
+# 10 2/05/11 1:42p Artems
+# Added PEI apriori list support
+# Added Nested FV support
+# Added PI 1.0-1.1 support
+#
+# 9 11/05/10 1:44p Felixp
+# Improvement(EIP 46043):
+# The build script that generates firmware volume description files
+# (Build\FV_xxx.inf) is updated
+# to support longer file lists.
+#
+# 8 1/26/10 5:03p Felixp
+# Support for generation of the DXE apriori file is added.
+# The list of FFS files that should be added to the DXE a priori list is
+# specified
+# as a part of FV descriptor using DXE_APRIORI_FILE_LIST parameter.
+#
+# 7 8/27/09 10:44a Felixp
+# Support for OPTIMIZE_SIZE and TOP_DOWN_ALLOCATION FV flags is added.
+#
+# 6 5/08/09 6:06p Felixp
+# support for ROM holes (FFS files with fixed addresses) is added
+#
+# 5 5/08/09 12:15a Felixp
+# Ifrastructure to simplify ROM layout customization(EIP 18426).
+# Build process and source code that deals with ROM layout
+# is updated in order to simplify ROM layout customization.
+#
+# 4 12/29/06 4:02p Felixp
+#
+# 2 7/22/05 2:20a Felixp
+# support for non-FFS Firmware Volume GUID added
+#
+# 1 1/28/05 12:43p Felixp
+#
+# 2 1/18/05 3:21p Felixp
+# PrintDebugMessage renamed to Trace
+#
+# 1 12/23/04 9:41a Felixp
+#
+# 4 7/13/04 2:23p Felixp
+#
+# 3 7/13/04 10:42a Felixp
+#
+# 2 1/08/04 4:46p Felixp
+# comments improved
+#
+# 1 12/05/03 4:15p Felixp
+#
+#**********************************************************************
+#<AMI_FHDR_START>
+#
+# Name: FV.mak
+#
+# Description: This makefile is used to create firmware volume.
+# The following macros have to be defined:
+# BUILD_DIR - build directory that has all the input FFS files.
+# The output file $(NAME).fv will be created in this directory.
+# ADDRESS - starting memory address for the firmware volume.
+# NAME - name of the output firmware volume file (just name, no extension)
+# BLOCKS - number of firmware device blocks occupied by the firmware volume
+# BLOCK_SIZE - size of firmware device block in bytes
+# GENFVIMAGE - full name (path+name) of the GenFvImage utility
+# FILE_LIST - space separated list of FFS files to be included into FV
+# ERASE_POLARITY - 0 or 1. Firmware device erase polarity.
+# The following optional macros may be defined:
+# DXE_APRIORI_FILE_LIST - space separated list of FFS files to be added to the DXE a priori list
+#
+#<AMI_FHDR_END>
+#**********************************************************************
+
+!IF "$(PEI_APRIORI_FILE_LIST)"!="" && DEFINED(PI_SPECIFICATION_VERSION)
+!IF $(PI_SPECIFICATION_VERSION)<0x00010000
+!UNDEF PEI_APRIORI_FILE_LIST
+!ENDIF
+!ENDIF
+
+!IF "$(FILE_LIST)"==""
+!IF "$(FILE_LIST_FILE)"==""
+!ERROR Empty file list for Firmware volume $(NAME)
+!ELSE
+!INCLUDE $(FILE_LIST_FILE)
+!ENDIF
+!ENDIF
+
+# Delete extra spaces and spaces before and after the colon
+FILE_LIST1=$(FILE_LIST: = )
+FILE_LIST2=$(FILE_LIST1: = )
+FILE_LIST3=$(FILE_LIST2: = )
+FILE_LIST4=$(FILE_LIST3: = )
+FILE_LIST5=$(FILE_LIST4: = )
+FILE_LIST6=$(FILE_LIST5: :=:) #delete space before the colon
+FILE_LIST_CLEAN=$(FILE_LIST6:: =:) #delete space after the colon
+
+all:
+ @copy << $(BUILD_DIR)\$(NAME).inf > NUL
+[options]
+EFI_BASE_ADDRESS = $(ADDRESS)
+EFI_FILE_NAME = $(BUILD_DIR)\$(NAME).FV
+EFI_NUM_BLOCKS = $(BLOCKS)
+EFI_BLOCK_SIZE = $(BLOCK_SIZE)
+!IFDEF FV_GUID
+EFI_FV_GUID = $(FV_GUID)
+!ENDIF
+!IFDEF OPTIMIZE_SIZE
+OPTIMIZE_SIZE = $(OPTIMIZE_SIZE)
+!ENDIF
+!IFDEF TOP_DOWN_ALLOCATION
+TOP_DOWN_ALLOCATION = $(TOP_DOWN_ALLOCATION)
+!ENDIF
+!IF "$(GLOBAL_COMPRESSION)"=="0"
+IGNORE_COMPRESSION = TRUE
+!ENDIF
+[attributes]
+EFI_READ_DISABLED_CAP = TRUE
+EFI_READ_ENABLED_CAP = TRUE
+EFI_READ_STATUS = TRUE
+EFI_WRITE_DISABLED_CAP = TRUE
+EFI_WRITE_ENABLED_CAP = TRUE
+EFI_WRITE_STATUS = TRUE
+EFI_LOCK_CAP = TRUE
+EFI_LOCK_STATUS = TRUE
+EFI_STICKY_WRITE = TRUE
+EFI_MEMORY_MAPPED = TRUE
+EFI_ERASE_POLARITY = $(ERASE_POLARITY)
+EFI_ALIGNMENT_CAP = TRUE
+EFI_ALIGNMENT_2 = TRUE
+EFI_ALIGNMENT_4 = TRUE
+EFI_ALIGNMENT_8 = TRUE
+EFI_ALIGNMENT_16 = TRUE
+EFI_ALIGNMENT_32 = TRUE
+EFI_ALIGNMENT_64 = TRUE
+EFI_ALIGNMENT_128 = TRUE
+EFI_ALIGNMENT_256 = TRUE
+EFI_ALIGNMENT_512 = TRUE
+EFI_ALIGNMENT_1K = TRUE
+EFI_ALIGNMENT_2K = TRUE
+EFI_ALIGNMENT_4K = TRUE
+EFI_ALIGNMENT_8K = TRUE
+EFI_ALIGNMENT_16K = TRUE
+EFI_ALIGNMENT_32K = TRUE
+EFI_ALIGNMENT_64K = TRUE
+#//PI 1.1 New Attribute for PI 1.0 spec
+EFI_READ_LOCK_CAP = TRUE
+EFI_READ_LOCK_STATUS = TRUE
+EFI_WRITE_LOCK_CAP = TRUE
+EFI_WRITE_LOCK_STATUS = TRUE
+EFI_FVB2_ALIGNMENT = 8
+<<
+ $(ECHO) ^ $(BUILD_DIR)\GenFvList.bat <<$(BUILD_DIR)\$(NAME)FileList.txt $(BUILD_DIR)\$(NAME).inf [files] >> $(BUILD_DIR)\beforefv.mak
+$(FILE_LIST_CLEAN: =^
+)
+<<KEEP
+!IF "$(DXE_APRIORI_FILE_LIST)"!=""
+ $(ECHO) ^ $(BUILD_DIR)\GenFvList.bat <<$(BUILD_DIR)\$(NAME)DxeAprioriIn.txt $(BUILD_DIR)\$(NAME).inf [dxeapriori] >> $(BUILD_DIR)\beforefv.mak
+$(DXE_APRIORI_FILE_LIST: =^
+)
+<<KEEP
+!ENDIF
+!IF "$(PEI_APRIORI_FILE_LIST)"!=""
+ $(ECHO) ^ $(BUILD_DIR)\GenFvList.bat <<$(BUILD_DIR)\$(NAME)PeiAprioriIn.txt $(BUILD_DIR)\$(NAME).inf [peiapriori] >> $(BUILD_DIR)\beforefv.mak
+$(PEI_APRIORI_FILE_LIST: =^
+)
+<<KEEP
+!ENDIF
+#**********************************************************************
+#**********************************************************************
+#** **
+#** (C)Copyright 1985-2010, American Megatrends, Inc. **
+#** **
+#** All Rights Reserved. **
+#** **
+#** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 **
+#** **
+#** Phone: (770)-246-8600 **
+#** **
+#**********************************************************************
+#********************************************************************** \ No newline at end of file