 -  time\TimeStrings.uni
 -  time\time.c
 -  time\time.h
+-
+-  touch\TouchStrings.uni
+-  touch\touch.c
+-  touch\touch.h
+-
+-  vol\VolStrings.uni
+-  vol\vol.c
+-  vol\vol.h
+-
+-  ver\VerStrings.uni
+-  ver\ver.c
+-  ver\ver.h
 +  type/TypeStrings.uni
 +  type/type.c
 +  type/type.h
 +  time/TimeStrings.uni
 +  time/time.c
 +  time/time.h
- 
--  touch\TouchStrings.uni
--  touch\touch.c
--  touch\touch.h
++
 +  touch/TouchStrings.uni
 +  touch/touch.c
 +  touch/touch.h
- 
--  vol\VolStrings.uni
--  vol\vol.c
--  vol\vol.h
++
 +  vol/VolStrings.uni
 +  vol/vol.c
 +  vol/vol.h
- 
--  ver\VerStrings.uni
--  ver\ver.c
--  ver\ver.h
++
 +  ver/VerStrings.uni
 +  ver/ver.c
 +  ver/ver.h

 
 [libraries.common]  
   EfiShellLib
@@ -72,7 +72,11 @@
 
 [nmake.common]
   IMAGE_ENTRY_POINT=DrvcfgMain
+
+[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
Index: drvcfg/drvcfg.c
===================================================================
--- drvcfg/drvcfg.c	(revision 64)
+++ drvcfg/drvcfg.c	(working copy)
@@ -38,7 +38,7 @@
 //
 // Global Variables
 //
-EFI_HII_HANDLE  HiiHandle;
+STATIC EFI_HII_HANDLE  HiiHandle;
 EFI_GUID        EfiDrvcfgGuid = EFI_DRVCFG_GUID;
 SHELL_VAR_CHECK_ITEM  DrvcfgCheckList[] = {
   {
@@ -87,7 +87,7 @@
     NULL,
     0,
     0,

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