 +  ver/ia32/ver32.c
 +  Library/IPF/math.c
 +  Library/IA32/initplat.c
-+
+ 
  [includes.common]
    .
 -  .\Inc

 
 [libraries.common]  
   EfiShellLib
@@ -72,7 +72,11 @@
 
 [nmake.common]
   IMAGE_ENTRY_POINT=DevicetreeMain

 
 [libraries.common]  
   EfiShellLib
@@ -63,11 +63,14 @@ decompress.h
 # we will specify some additional DEFINEs on the compile command line.
 #
 [nmake.common]
-  C_PROJ_FLAGS = $(C_PROJ_FLAGS) /Zm500
   IMAGE_ENTRY_POINT=InitializeDecompress
+
+[nmake.IA32, nmake.EBC, nmake.X64, nmake.IPF]
+  C_PROJ_FLAGS = $(C_PROJ_FLAGS) /Zm500
   C_STD_FLAGS = $(C_STD_FLAGS) /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings 
   C_STD_FLAGS = $(C_STD_FLAGS) /DSTRING_DEFINES_FILE=\"$(BASE_NAME)StrDefs.h\"
   C_STD_FLAGS = $(C_STD_FLAGS) /DEFI_BOOTSHELL
 
-
- 
+[nmake.ARM, nmake.AARCH64]
+  C_STD_FLAGS = $(C_STD_FLAGS) -DEFI_BOOTSHELL
+ 
\ No newline at end of file
diff --git a/IfConfig/IfConfig.c b/IfConfig/IfConfig.c
index 07cedc2..52e1add 100644
--- a/IfConfig/IfConfig.c
+++ b/IfConfig/IfConfig.c
@@ -29,7 +29,7 @@ extern UINT8 STRING_ARRAY_NAME[];
 //
 #define NIC_ITEM_CONFIG_SIZE   sizeof (NIC_IP4_CONFIG_INFO) + sizeof (EFI_IP4_ROUTE_TABLE) * 16
 
-EFI_HII_HANDLE  HiiHandle;
+STATIC EFI_HII_HANDLE  HiiHandle;
 
 EFI_GUID  EfiIfConfigGuid = EFI_IFCONFIG_GUID;
 
@@ -75,7 +75,7 @@ SHELL_VAR_CHECK_ITEM  IfConfigCheckList[] = {
     NULL,
     0,
     0,
-    0
+    (SHELL_VAR_CHECK_FLAG_TYPE) 0
   }
 };
 
@@ -669,7 +669,7 @@ Returns:
   Status = BS->LocateProtocol (
                 &gEfiHiiConfigRoutingProtocolGuid,
                 NULL,
-                &mHiiConfigRouting
+                (VOID**)&mHiiConfigRouting
                 );
   if (EFI_ERROR (Status)) {
     return EFI_NOT_FOUND;
diff --git a/IfConfig/IfConfig.h b/IfConfig/IfConfig.h
index 4a9d3c5..b8f044e 100644
--- a/IfConfig/IfConfig.h
+++ b/IfConfig/IfConfig.h
@@ -60,3 +60,4 @@ typedef struct {
 } ARP_REQUEST;
 
 #endif
+
diff --git a/IfConfig/IfConfig.inf b/IfConfig/IfConfig.inf
index b2e4964..d8c5c23 100644
--- a/IfConfig/IfConfig.inf
+++ b/IfConfig/IfConfig.inf
@@ -25,7 +25,7 @@ FILE_GUID            = 6394CF3D-D3DC-4f69-926D-AF9FFE59F922
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   IfConfigStrings.uni
   IfConfig.c
   IfConfig.h
@@ -33,30 +33,32 @@ COMPONENT_TYPE       = APPLICATION
   ShellNetHelper.h
   
 [includes.common]
-  ..\Inc
-  ..\Library
-  $(EDK_SOURCE)\Foundation\Efi
-  $(EDK_SOURCE)\Foundation
-  $(EDK_SOURCE)\Foundation\Efi\Include
-  $(EDK_SOURCE)\Foundation\Include
-  $(EDK_SOURCE)\Foundation\Include\IndustryStandard
-  $(EDK_SOURCE)\Foundation\FrameWork
-  $(EDK_SOURCE)\Foundation\FrameWork\Include
-  $(EDK_SOURCE)\Foundation\Core\Dxe
-  $(EDK_SOURCE)\Foundation\Library\Dxe\Include
-  $(DEST_DIR)\
+  ../Inc
+  ../Library
+  $(EDK_SOURCE)/Foundation/Efi
+  $(EDK_SOURCE)/Foundation
+  $(EDK_SOURCE)/Foundation/Efi/Include
+  $(EDK_SOURCE)/Foundation/Include
+  $(EDK_SOURCE)/Foundation/Include/IndustryStandard
+  $(EDK_SOURCE)/Foundation/FrameWork
+  $(EDK_SOURCE)/Foundation/FrameWork/Include
+  $(EDK_SOURCE)/Foundation/Core/Dxe
+  $(EDK_SOURCE)/Foundation/Library/Dxe/Include
+  $(DEST_DIR./
 
 [libraries.common]
   EfiShellLib
   EdkProtocolLib
   EfiProtocolLib
   EdkGuidLib
-  EfiDriverLib
 
 [nmake.common]
-  C_PROJ_FLAGS = $(C_PROJ_FLAGS)
   IMAGE_ENTRY_POINT=IfConfig
-  C_STD_FLAGS = $(C_STD_FLAGS) /DEFI_BOOTSHELL
+
+[nmake.IA32, nmake.EBC, nmake.X64, nmake.IPF]
   C_STD_FLAGS = $(C_STD_FLAGS) /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings 
   C_STD_FLAGS = $(C_STD_FLAGS) /DSTRING_DEFINES_FILE=\"$(BASE_NAME)StrDefs.h\"
+  C_STD_FLAGS = $(C_STD_FLAGS) /DEFI_BOOTSHELL
 
+[nmake.ARM, nmake.AARCH64]
+  C_STD_FLAGS = $(C_STD_FLAGS) -DEFI_BOOTSHELL
diff --git a/IfConfig/ShellNetHelper.h b/IfConfig/ShellNetHelper.h
index 9a33d3f..87e6886 100644
--- a/IfConfig/ShellNetHelper.h
+++ b/IfConfig/ShellNetHelper.h
@@ -87,3 +87,4 @@ ShellDestroyServiceChild (
   IN  EFI_HANDLE  ChildHandle
 );
 #endif
+
diff --git a/IpConfig/IpConfig.c b/IpConfig/IpConfig.c
index 0c3e4c3..474e5f1 100644
--- a/IpConfig/IpConfig.c
+++ b/IpConfig/IpConfig.c
@@ -39,7 +39,7 @@ extern UINT8  STRING_ARRAY_NAME[];
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+STATIC EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiIpConfigGuid = EFI_IPCONFIG_GUID;
 SHELL_VAR_CHECK_ITEM  IpconfigCheckList[] = {
   {
@@ -76,7 +76,7 @@ SHELL_VAR_CHECK_ITEM  IpconfigCheckList[] = {
     NULL,
     0,
     0,
-    0
+    (SHELL_VAR_CHECK_FLAG_TYPE) 0
   }
 };
 
diff --git a/IpConfig/IpConfig.h b/IpConfig/IpConfig.h
index 1806435..5c975a9 100644
--- a/IpConfig/IpConfig.h
+++ b/IpConfig/IpConfig.h
@@ -29,4 +29,4 @@ Revision History
     0x8252915c, 0xf1e9, 0x435c, 0x81, 0x91, 0xad, 0x2f, 0x82, 0x62, 0x23, 0x73 \
   }
 
-#endif
\ No newline at end of file
+#endif
diff --git a/IpConfig/IpConfig.inf b/IpConfig/IpConfig.inf
index bc8271c..8cb1e0f 100644
--- a/IpConfig/IpConfig.inf
+++ b/IpConfig/IpConfig.inf
@@ -25,24 +25,24 @@ FILE_GUID            = 1D73AC03-AF05-44b3-B21E-93A174893FA6
 COMPONENT_TYPE       = APPLICATION
 
 [sources.common]
-  ..\ShCommonStrings.uni
+  ../ShCommonStrings.uni
   IpConfigStrings.uni
   IpConfig.c
   IpConfig.h 
 
 [includes.common]
   .
-  ..\Inc
