Changed the way of generating the pre-compiled header to solve incremental build issue

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1587 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jwang36 2006-09-21 06:31:33 +00:00
parent 55bfa0f1ae
commit f88b9153c0
1 changed files with 45 additions and 7 deletions

View File

@ -64,10 +64,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<if>
<and>
<equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>
<available file="${DEST_DIR_DEBUG}/AutoGen.pch"/>
<available file="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
</and>
<then>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.pch"/>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
</then>
<else>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>
@ -112,6 +112,44 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<var name="FILE_PATH" value="@{FILEPATH}" />
<mkdir dir="${DEST_DIR_OUTPUT}/@{FILEPATH}"/>
<if>
<available type="file" file="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
<then>
<makedeps DepsFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep">
<input file="${DEST_DIR_DEBUG}/AutoGen.h"/>
<EXTRA.INC/>
</makedeps>
</then>
</if>
<OnDependency>
<sourcefiles>
<file ListFile="${DEST_DIR_OUTPUT}/AutoGen.h.dep"/>
</sourcefiles>
<targetfiles>
<file Name="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
</targetfiles>
<sequential>
<!-- Generate pre-compiled header -->
<if>
<equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>
<then>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /TC /Yc /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
<cc userdefine="on">
<command type="CC" cmd="${CC}" workdir="${DEST_DIR_OUTPUT}" family="${CC_FAMILY}"
outputFile="${DEST_DIR_OUTPUT}/AutoGen.h.obj">
<EXTRA.INC/>
<argument value="${LOCAL_CC_FLAGS}"/>
<EXTRA.ARG/>
<fileset casesensitive="on" file="${DEST_DIR_DEBUG}/AutoGen.h"/>
</command>
</cc>
</then>
</if>
</sequential>
</OnDependency>
<if>
<available type="file" file="${DEST_DIR_OUTPUT}/@{FILEPATH}/@{FILENAME}.obj"/>
<then>
@ -136,7 +174,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<if>
<equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>
<then>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yc${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.pch"/>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
</then>
<else>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>
@ -605,10 +643,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<if>
<and>
<equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>
<available file="${DEST_DIR_DEBUG}/AutoGen.pch"/>
<available file="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
</and>
<then>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yc${DEST_DIR_DEBUG}/AutoGen.h /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.pch"/>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yc${DEST_DIR_DEBUG}/AutoGen.h /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
</then>
<else>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>
@ -682,10 +720,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<if>
<and>
<equals arg1="${CC_FAMILY}" arg2="MSFT" casesensitive="false"/>
<available file="${DEST_DIR_DEBUG}/AutoGen.pch"/>
<available file="${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
</and>
<then>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.pch"/>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS} /Yu${DEST_DIR_DEBUG}/AutoGen.h /Fp${DEST_DIR_DEBUG}/AutoGen.h.gch"/>
</then>
<else>
<var name="LOCAL_CC_FLAGS" value="${CC_FLAGS}"/>