Hi:
  You can find DEC/DSC spec from 
http://sourceforge.net/projects/edk2/files/Specifications/
  I check DEC Spec 1.24 and don’t find below Table 1. I remember those MACROs 
are only supported in DSC/FDF file, not in INF/DEC.

Thanks
Liming
From: apia...@aol.com [mailto:apia...@aol.com]
Sent: Sunday, March 01, 2015 10:50 AM
To: edk2-devel@lists.sourceforge.net
Subject: [edk2] Macro expansion in DEC

Hello,

I'm having an issue with macro expansion in DEC files, I am not understanding 
why the macro OUTPUT_DIRECTORY is not being expanded under the [includes] 
section. I have generated some headers into the build directory, which can be 
changed to a different location and this location is passed with the -D switch. 
Then  OUTPUT_DIRECTORY is set to this macros value, it builds in the correct 
output directory. This is done so that branches can be built in a further 
subdirectory tree and not disturb a previous tree. Why is OUTPUT_DIRECTORY not 
being expand like TARGET and TOOL_CHAIN_TAG?

DIR_STAGE_RELATIVE=Build/Stage/[some subtree structure]
  OUTPUT_DIRECTORY        = $(DIR_STAGE_RELATIVE)

Here is the [includes section from my DEC file:
[Includes]
  $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/Include
  Include

Here is the error I receive (I edited to remove some personal details):
...\edk2\...\..Pkg.dec(14): error 000E: File/directory not found in workspace
...\edk2\...Pkg\$(OUTPUT_DIRECTORY)\DEBUG_VS2013x86\Include

Here is the table from the DEC specification although in the newest 
specification it appears there are no longer these restrictions, which 
shouldn't really matter anyway as OUTPUT_DIRECTORY is listed below:
Table 1. Valid Variable Names for PATH statements
$(WORKSPACE) System Environment Variable.
$(EDK_TOOLS_PATH) System Environment Variable.
$(EDK_SOURCE) System Environment Variable.
$(EFI_SOURCE) System Environment Variable.
$(OUTPUT_DIRECTORY) Tool parsing from either the DSC file or via a command line 
option.
$(TARGET) Valid values are derived from INF, DSC, target.txt and tools_def.txt. 
FDF parsing tools may obtain these values from command-line options. 
$(TOOL_CHAIN_TAG) Valid values are derived from INF, DSC, target.txt and 
tools_def.txt. FDF parsing tools may obtain these values from command-line 
options.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to