]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Sample/Platform/Common.dsc
1) Sync EdkCompatibilityPkg with EDK 1.04. The changes includes:
[mirror_edk2.git] / EdkCompatibilityPkg / Sample / Platform / Common.dsc
index c40c4e7de82a31220b6b29c277faf754da046812..85740c203379ab7956e21f1422cb199eebaf5f0a 100644 (file)
@@ -87,10 +87,15 @@ DEPEX_TYPE = EFI_SECTION_PEI_DEPEX
 DEPEX_TYPE = EFI_SECTION_DXE_DEPEX\r
 !ENDIF\r
 \r
+!IF "$(COMPONENT_TYPE)" != "LIBRARY" && EXIST($(BUILD_DIR)\$(PROCESSOR)\CompilerStub.lib)\r
+LIBS = $(LIBS) $(BUILD_DIR)\$(PROCESSOR)\CompilerStub.lib\r
+!ENDIF\r
+\r
 #\r
 # Command flags for MAKEDEPS tool\r
 #\r
 DEP_FLAGS = -target $** -o $(DEP_FILE) $(INC) -ignorenotfound -q\r
+DEP_FLAGS2 = -target $@ -o $(DEP_FILE) -cl\r
 \r
 [=============================================================================]\r
 #\r
@@ -112,8 +117,15 @@ DEP_FLAGS = -target $** -o $(DEP_FILE) $(INC) -ignorenotfound -q
 [=============================================================================]\r
 [Compile.Ia32.asm,Compile.x64.asm]\r
 \r
+#\r
+# Add build dependency check\r
+#\r
 DEP_FILE    = $(DEST_DIR)\$(FILE)Asm.dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
 !IF EXIST($(DEST_DIR)\$(FILE).obj)\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(FILE)Asm.dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -121,10 +133,6 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
-\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
@@ -140,39 +148,58 @@ $(DEST_DIR)\$(FILE).obj : $(SOURCE_FILE_NAME) $(INF_FILENAME) $(ALL_DEPS)
 [=============================================================================]\r
 [Compile.Ipf.s]\r
 \r
+#\r
+# Add build dependency check\r
+#\r
 DEP_FILE    = $(DEST_DIR)\$(FILE)S.dep\r
 \r
-!IF EXIST($(DEST_DIR)\$(FILE).pro)\r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+\r
+!IF EXIST($(DEST_DIR)\$(FILE).obj)\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(FILE)S.dep\r
 !IF !EXIST($(DEP_FILE))\r
 CREATEDEPS = YES\r
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
-\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
-$(DEP_FILE) : $(DEST_DIR)\$(FILE).pro\r
+$(DEP_FILE) : $(DEST_DIR)\$(FILE).obj\r
   $(MAKEDEPS) -f $(SOURCE_FILE_NAME) $(DEP_FLAGS)\r
 \r
+!ENDIF\r
+\r
 #\r
 # Compile the file\r
 #\r
-$(DEST_DIR)\$(FILE).pro : $(SOURCE_FILE_NAME) $(INF_FILENAME) $(ALL_DEPS)\r
-  $(CC) $(C_FLAGS_PRO) $(SOURCE_FILE_NAME) > $@\r
-\r
-$(DEST_DIR)\$(FILE).obj : $(DEST_DIR)\$(FILE).pro\r
+$(DEST_DIR)\$(FILE).obj : $(SOURCE_FILE_NAME) $(INF_FILENAME) $(ALL_DEPS)\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+  $(CC) $(C_FLAGS_PRO) $(SOURCE_FILE_NAME) > $(DEST_DIR)\$(FILE).pro\r
+!ELSE\r
+  -$(CC) $(C_FLAGS_PRO) $(SOURCE_FILE_NAME) /showIncludes > $(DEST_DIR)\$(FILE).pro 2> $(DEST_DIR)\$(FILE)S.cl\r
+  @$(MAKEDEPS) -f $(DEST_DIR)\$(FILE)S.cl $(DEP_FLAGS2)\r
+!ENDIF\r
   $(ASM) $(ASM_FLAGS) $(DEST_DIR)\$(FILE).pro\r
 \r
 [=============================================================================]\r
 [Compile.Ia32.c,Compile.Ipf.c,Compile.x64.c]\r
 \r
+#\r
+# Add build dependency check\r
+#\r
 DEP_FILE    = $(DEST_DIR)\$(FILE).dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+\r
 !IF EXIST($(DEST_DIR)\$(FILE).obj)\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(FILE).dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -180,27 +207,37 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
-\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
 $(DEP_FILE) : $(DEST_DIR)\$(FILE).obj\r
   $(MAKEDEPS) -f $(SOURCE_FILE_NAME) $(DEP_FLAGS)\r
 \r
+!ENDIF\r
+  \r
 #\r
 # Compile the file\r
 #\r
 $(DEST_DIR)\$(FILE).obj : $(SOURCE_FILE_NAME) $(INF_FILENAME) $(ALL_DEPS)\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
   $(CC) $(C_FLAGS) $(SOURCE_FILE_NAME)\r
+!ELSE\r
+  -$(CC) $(C_FLAGS) $(SOURCE_FILE_NAME) /showIncludes > $(DEST_DIR)\$(FILE).cl\r
+  @$(MAKEDEPS) -f $(DEST_DIR)\$(FILE).cl $(DEP_FLAGS2)\r
+!ENDIF\r
 \r
 [=============================================================================]\r
 [Compile.Ebc.c]\r
 \r
+#\r
+# Add build dependency check\r
+#\r
 DEP_FILE    = $(DEST_DIR)\$(FILE).dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
 !IF EXIST($(DEST_DIR)\$(FILE).obj)\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(FILE).dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -208,10 +245,6 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
-\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
@@ -351,8 +384,32 @@ clean :
 #\r
 LIB_NAME = $(LIB_DIR)\$(BASE_NAME).lib\r
 \r
+#\r
+# $(DEP_TARGETS) are not needed for binary build.\r
+#\r
+!IF ("$(BINARY)" == "TRUE") || (("$(BINARY)" == "") && ("$(EFI_BINARY_LIBRARY)" == "YES"))\r
+DEP_TARGETS=\r
+CREATEDEPS=\r
+!ENDIF\r
+\r
+#\r
+# Module can be built from source code or binary files. \r
+#\r
+!IF ((("$(BINARY)" == "TRUE") || (("$(BINARY)" == "") && ("$(EFI_BINARY_LIBRARY)" == "YES"))) \\r
+    && EXIST($(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).lib))\r
+$(LIB_NAME) : $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).lib\r
+  copy $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).lib $(LIB_NAME) /Y\r
+  if exist $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME)Obj.pdb \\r
+  copy $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME)Obj.pdb $(DEST_DIR)\$(BASE_NAME)Obj.pdb /Y\r
+!ELSE\r
 $(LIB_NAME) : $(OBJECTS) $(LIBS) $(INF_FILENAME) $(ENV_DEPS)\r
   $(LIB) $(LIB_FLAGS) $(OBJECTS) $(LIBS) /OUT:$@\r
+!IF ("$(EFI_BINARY_BUILD)" == "YES")\r
+  if not exist $(EFI_PLATFORM_BIN)\$(PROCESSOR) mkdir $(EFI_PLATFORM_BIN)\$(PROCESSOR)\r
+  if exist $(LIB_NAME) copy $(LIB_NAME) $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).lib /Y\r
+  if exist $(DEST_DIR)\$(BASE_NAME)Obj.pdb copy $(DEST_DIR)\$(BASE_NAME)Obj.pdb $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME)Obj.pdb /Y\r
+!ENDIF\r
+!ENDIF\r
 \r
 !IF "$(CREATEDEPS)"=="YES"\r
 all : $(DEP_TARGETS)\r
@@ -558,10 +615,31 @@ $(TARGET_PE32) : $(TARGET_EFI)
   $(GENSECTION) -I $(TARGET_EFI) -O $(TARGET_PE32) -S EFI_SECTION_PE32\r
 \r
 #\r
-# Run FWImage on the DLL to set it as an EFI image type.\r
+# $(DEP_TARGETS) are not needed for binary build.\r
+#\r
+!IF "$(BINARY)" == "TRUE"\r
+DEP_TARGETS=\r
+CREATEDEPS=\r
+!ENDIF\r
+\r
+#\r
+# Build module to generate *.efi file from source code or binary file. \r
 #\r
+!IF (("$(BINARY)" == "TRUE") && EXIST($(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).efi))\r
+LOCALIZE_TARGETS=\r
+$(TARGET_EFI) : $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).efi\r
+  copy $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).efi $(TARGET_EFI) /Y\r
+  if exist $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).pdb \\r
+  copy $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).pdb $(TARGET_PDB) /Y\r
+!ELSE\r
 $(TARGET_EFI) : $(TARGET_DLL) $(INF_FILENAME)\r
   $(FWIMAGE) -t 0 $(COMPONENT_TYPE) $(TARGET_DLL) $(TARGET_EFI)\r
+!IF ("$(EFI_BINARY_BUILD)" == "YES")\r
+  if not exist $(EFI_PLATFORM_BIN)\$(PROCESSOR) mkdir $(EFI_PLATFORM_BIN)\$(PROCESSOR)\r
+  if exist $(TARGET_EFI) copy $(TARGET_EFI) $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).efi /Y\r
+  if exist $(TARGET_PDB) copy $(TARGET_PDB) $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).pdb /Y\r
+!ENDIF\r
+!ENDIF\r
 \r
 !ENDIF\r
 \r
@@ -621,12 +699,18 @@ DPX_SOURCE_FILE = $(DPX_SOURCE_OVERRIDE)
 \r
 !IF "$(DPX_SOURCE_FILE)" != ""\r
 !IF EXIST ($(DPX_SOURCE_FILE))\r
+\r
 #\r
-# Add dependency check for dxs file, because dxs file depends on PPI or \r
-# PROTOCOL guid defintions.\r
+# Add build dependency check\r
 #\r
 DEP_FILE    = $(DEST_DIR)\$(BASE_NAME)dxs.dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+\r
 !IF EXIST($(TARGET_DPX))\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(BASE_NAME)dxs.dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -634,17 +718,21 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
 $(DEP_FILE) : $(TARGET_DPX)\r
   $(MAKEDEPS) -f $(DPX_SOURCE_FILE) $(DEP_FLAGS)\r
 \r
+!ENDIF\r
+\r
 $(TARGET_DPX) : $(DPX_SOURCE_FILE) $(INF_FILENAME)\r
-  $(CC) /nologo $(INC) $(VERSION_FLAGS) /EP $(DPX_SOURCE_FILE) > $*.tmp1\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+  $(CC) $(C_FLAGS_DPX) $(DPX_SOURCE_FILE) > $*.tmp1\r
+!ELSE\r
+  -$(CC) $(C_FLAGS_DPX) $(DPX_SOURCE_FILE) /showIncludes > $*.tmp1 2> $(DEST_DIR)\$(BASE_NAME)dxs.cl\r
+  @$(MAKEDEPS) -f $(DEST_DIR)\$(BASE_NAME)dxs.cl $(DEP_FLAGS2)\r
+!ENDIF\r
   $(GENDEPEX) -I $*.tmp1 -O $*.tmp2\r
   $(GENSECTION) -I $*.tmp2 -O $@ -S $(DEPEX_TYPE)\r
   del $*.tmp1 > NUL\r
@@ -666,8 +754,40 @@ $(TARGET_DPX) :
 !IF "$(COMPONENT_TYPE)" == "COMBINED_PEIM_DRIVER"\r
 !IF "$(DXE_DPX_SOURCE)" != ""\r
 !IF EXIST ($(SOURCE_DIR)\$(DXE_DPX_SOURCE))\r
+\r
+#\r
+# Add build dependency check\r
+#\r
+DEP_FILE    = $(DEST_DIR)\$(BASE_NAME)dxs2.dep\r
+\r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+\r
+!IF EXIST($(TARGET_DXE_DPX))\r
+DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(BASE_NAME)dxs2.dep\r
+!IF !EXIST($(DEP_FILE))\r
+CREATEDEPS = YES\r
+!ENDIF\r
+!ENDIF\r
+\r
+#\r
+# Update dep file for next round incremental build\r
+#\r
+$(DEP_FILE) : $(TARGET_DXE_DPX)\r
+  $(MAKEDEPS) -f $(SOURCE_DIR)\$(DXE_DPX_SOURCE) $(DEP_FLAGS)\r
+\r
+!ENDIF\r
+\r
 $(TARGET_DXE_DPX) : $(SOURCE_DIR)\$(DXE_DPX_SOURCE) $(INF_FILENAME)\r
-  $(CC) /nologo $(INC) $(VERSION_FLAGS) /EP $(SOURCE_DIR)\$(DXE_DPX_SOURCE) > $*.tmp1\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+  $(CC) $(C_FLAGS_DPX) $(SOURCE_DIR)\$(DXE_DPX_SOURCE) > $*.tmp1\r
+!ELSE\r
+  -$(CC) $(C_FLAGS_DPX) $(SOURCE_DIR)\$(DXE_DPX_SOURCE) /showIncludes > $*.tmp1 2> $(DEST_DIR)\$(BASE_NAME)dxs2.cl\r
+  @$(MAKEDEPS) -f $(DEST_DIR)\$(BASE_NAME)dxs2.cl $(DEP_FLAGS2)\r
+!ENDIF\r
   $(GENDEPEX) -I $*.tmp1 -O $*.tmp2\r
   $(GENSECTION) -I $*.tmp2 -O $@ -S EFI_SECTION_DXE_DEPEX\r
   del $*.tmp1 > NUL\r
@@ -778,10 +898,30 @@ $(TARGET_TES) : $(TARGET_TE)
   $(GENSECTION) -I $(TARGET_TE) -O $(TARGET_TES) -S EFI_SECTION_TE\r
 \r
 #\r
-# Run FWImage on the DLL to set it as an EFI image type.\r
+# $(DEP_TARGETS) are not needed for binary build.\r
+#\r
+!IF "$(BINARY)" == "TRUE"\r
+DEP_TARGETS=\r
+CREATEDEPS=\r
+!ENDIF\r
+\r
 #\r
+# Build module to generate *.efi file from source code or binary file.\r
+#\r
+!IF (("$(BINARY)" == "TRUE") && EXIST($(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).efi))\r
+$(TARGET_EFI) : $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).efi\r
+  copy $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).efi $(TARGET_EFI) /Y\r
+  if exist $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).pdb \\r
+  copy $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).pdb $(TARGET_PDB) /Y\r
+!ELSE\r
 $(TARGET_EFI) : $(TARGET_DLL) $(INF_FILENAME)\r
   $(FWIMAGE) $(COMPONENT_TYPE) $(TARGET_DLL) $(TARGET_EFI)\r
+!IF ("$(EFI_BINARY_BUILD)" == "YES")\r
+  if not exist $(EFI_PLATFORM_BIN)\$(PROCESSOR) mkdir $(EFI_PLATFORM_BIN)\$(PROCESSOR)\r
+  if exist $(TARGET_EFI) copy $(TARGET_EFI) $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).efi /Y\r
+  if exist $(TARGET_PDB) copy $(TARGET_PDB) $(EFI_PLATFORM_BIN)\$(PROCESSOR)\$(BASE_NAME).pdb /Y\r
+!ENDIF\r
+!ENDIF\r
 \r
 #\r
 # Run GenTEImage on the built .efi file to create our TE file.\r
@@ -845,12 +985,18 @@ DPX_SOURCE_FILE = $(DPX_SOURCE_OVERRIDE)
 \r
 !IF "$(DPX_SOURCE_FILE)" != ""\r
 !IF EXIST ($(DPX_SOURCE_FILE))\r
+\r
 #\r
-# Add dependency check for dxs file, because dxs file depends on PPI or \r
-# PROTOCOL guid defintions.\r
+# Add build dependency check\r
 #\r
 DEP_FILE    = $(DEST_DIR)\$(BASE_NAME)dxs.dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+\r
 !IF EXIST($(TARGET_DPX))\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(BASE_NAME)dxs.dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -858,17 +1004,21 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
 $(DEP_FILE) : $(TARGET_DPX)\r
   $(MAKEDEPS) -f $(DPX_SOURCE_FILE) $(DEP_FLAGS)\r
 \r
+!ENDIF\r
+\r
 $(TARGET_DPX) : $(DPX_SOURCE_FILE) $(INF_FILENAME)\r
-  $(CC) /nologo $(INC) $(VERSION_FLAGS) /EP $(DPX_SOURCE_FILE) > $*.tmp1\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+  $(CC) $(C_FLAGS_DPX) $(DPX_SOURCE_FILE) > $*.tmp1\r
+!ELSE\r
+  -$(CC) $(C_FLAGS_DPX) $(DPX_SOURCE_FILE) /showIncludes > $*.tmp1 2> $(DEST_DIR)\$(BASE_NAME)dxs.cl\r
+  @$(MAKEDEPS) -f $(DEST_DIR)\$(BASE_NAME)dxs.cl $(DEP_FLAGS2)\r
+!ENDIF\r
   $(GENDEPEX) -I $*.tmp1 -O $*.tmp2\r
   $(GENSECTION) -I $*.tmp2 -O $@ -S $(DEPEX_TYPE)\r
   del $*.tmp1 > NUL\r
@@ -1042,12 +1192,18 @@ DPX_SOURCE_FILE = $(DPX_SOURCE_OVERRIDE)
 \r
 !IF "$(DPX_SOURCE_FILE)" != ""\r
 !IF EXIST ($(DPX_SOURCE_FILE))\r
+\r
 #\r
-# Add dependency check for dxs file, because dxs file depends on PPI or \r
-# PROTOCOL guid defintions.\r
+# Add build dependency check\r
 #\r
 DEP_FILE    = $(DEST_DIR)\$(BASE_NAME)dxs.dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+\r
 !IF EXIST($(TARGET_DPX))\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(BASE_NAME)dxs.dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -1055,17 +1211,21 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
 $(DEP_FILE) : $(TARGET_DPX)\r
   $(MAKEDEPS) -f $(DPX_SOURCE_FILE) $(DEP_FLAGS)\r
 \r
+!ENDIF\r
+\r
 $(TARGET_DPX) : $(DPX_SOURCE_FILE) $(INF_FILENAME)\r
-  $(CC) /nologo $(INC) $(VERSION_FLAGS) /EP $(DPX_SOURCE_FILE) > $*.tmp1\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+  $(CC) $(C_FLAGS_DPX) $(DPX_SOURCE_FILE) > $*.tmp1\r
+!ELSE\r
+  -$(CC) $(C_FLAGS_DPX) $(DPX_SOURCE_FILE) /showIncludes > $*.tmp1 2> $(DEST_DIR)\$(BASE_NAME)dxs.cl\r
+  @$(MAKEDEPS) -f $(DEST_DIR)\$(BASE_NAME)dxs.cl $(DEP_FLAGS2)\r
+!ENDIF\r
   $(GENDEPEX) -I $*.tmp1 -O $*.tmp2\r
   $(GENSECTION) -I $*.tmp2 -O $@ -S $(DEPEX_TYPE)\r
   del $*.tmp1 > NUL\r
@@ -1210,12 +1370,18 @@ DPX_SOURCE_FILE = $(DPX_SOURCE_OVERRIDE)
 \r
 !IF "$(DPX_SOURCE_FILE)" != ""\r
 !IF EXIST ($(DPX_SOURCE_FILE))\r
+\r
 #\r
-# Add dependency check for dxs file, because dxs file depends on PPI or \r
-# PROTOCOL guid defintions.\r
+# Add build dependency check\r
 #\r
 DEP_FILE    = $(DEST_DIR)\$(BASE_NAME)dxs.dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+\r
 !IF EXIST($(TARGET_DPX))\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(BASE_NAME)dxs.dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -1223,17 +1389,21 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
 $(DEP_FILE) : $(TARGET_DPX)\r
   $(MAKEDEPS) -f $(DPX_SOURCE_FILE) $(DEP_FLAGS)\r
 \r
+!ENDIF\r
+\r
 $(TARGET_DPX) : $(DPX_SOURCE_FILE) $(INF_FILENAME)\r
-  $(CC) /nologo $(INC) $(VERSION_FLAGS) /EP $(DPX_SOURCE_FILE) > $*.tmp1\r
+!IF "$(EFI_USE_CL_FOR_DEP)" != "YES"\r
+  $(CC) $(C_FLAGS_DPX) $(DPX_SOURCE_FILE) > $*.tmp1\r
+!ELSE\r
+  -$(CC) $(C_FLAGS_DPX) $(DPX_SOURCE_FILE) /showIncludes > $*.tmp1 2> $(DEST_DIR)\$(BASE_NAME)dxs.cl\r
+  @$(MAKEDEPS) -f $(DEST_DIR)\$(BASE_NAME)dxs.cl $(DEP_FLAGS2)\r
+!ENDIF\r
   $(GENDEPEX) -I $*.tmp1 -O $*.tmp2\r
   $(GENSECTION) -I $*.tmp2 -O $@ -S $(DEPEX_TYPE)\r
   del $*.tmp1 > NUL\r
@@ -1348,8 +1518,15 @@ LOCALIZE        = YES
 [=============================================================================]\r
 [Compile.Ia32.Vfr,Compile.Ipf.Vfr,Compile.x64.Vfr]\r
 \r
+#\r
+# Add build dependency check\r
+#\r
 DEP_FILE    = $(DEST_DIR)\$(FILE)Vfr.dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
 !IF EXIST($(DEST_DIR)\$(FILE).obj)\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(FILE)Vfr.dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -1357,10 +1534,6 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
-\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
@@ -1425,8 +1598,15 @@ $(DEST_DIR)\$(FILE).obj : $(SOURCE_FILE_NAME) $(INF_FILENAME) $(ALL_DEPS)
 [=============================================================================]\r
 [Compile.Ia32.Ifr_Bin,Compile.Ipf.Ifr_Bin,Compile.x64.Ifr_Bin]\r
 \r
+#\r
+# Add build dependency check\r
+#\r
 DEP_FILE    = $(DEST_DIR)\$(FILE)Vfr.dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
 !IF EXIST($(DEST_DIR)\$(FILE).obj)\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(FILE)Vfr.dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -1434,10 +1614,6 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
-\r
 #\r
 # Update dep file for next round incremental build\r
 #\r
@@ -1472,8 +1648,15 @@ HII_IFR_PACK_FILES = $(HII_IFR_PACK_FILES) $(DEST_DIR)\$(FILE).hpk
 [=============================================================================]\r
 [Compile.Ebc.Ifr_Bin]\r
 \r
+#\r
+# Add build dependency check\r
+#\r
 DEP_FILE    = $(DEST_DIR)\$(FILE)Vfr.dep\r
 \r
+!IF EXIST($(DEP_FILE))\r
+!INCLUDE $(DEP_FILE)\r
+!ENDIF\r
+\r
 !IF EXIST($(DEST_DIR)\$(FILE).obj)\r
 DEP_TARGETS = $(DEP_TARGETS) $(DEST_DIR)\$(FILE)Vfr.dep\r
 !IF !EXIST($(DEP_FILE))\r
@@ -1481,10 +1664,6 @@ CREATEDEPS = YES
 !ENDIF\r
 !ENDIF\r
 \r
-!IF EXIST($(DEP_FILE))\r
-!INCLUDE $(DEP_FILE)\r
-!ENDIF\r
-\r
 #\r
 # Update dep file for next round incremental build\r
 #\r