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