Thanks but I got Table 1. from the DEC spec 1.22. I was saying that the table 
is no longer there in 1.24, but yet the other macros expand. I just solved this 
issue by setting another environment variable to the include directory and 
putting that variable in the build options in the DSC with /I switch. Seems the 
expansion for DEC/INF files is pretty awful, don't see why it couldn't expand 
environment variables like in DSC/FDF.



-----Original Message-----
From: Gao, Liming <liming....@intel.com>
To: edk2-devel <edk2-devel@lists.sourceforge.net>
Sent: Mon, Mar 2, 2015 2:32 am
Subject: Re: [edk2] Macro expansion in DEC


  
   
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

 
------------------------------------------------------------------------------
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