# Microsoft Developer Studio Project File - Name="i18n" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **

# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102

CFG=i18n - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE 
!MESSAGE NMAKE /f "i18n.mak".
!MESSAGE 
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE 
!MESSAGE NMAKE /f "i18n.mak" CFG="i18n - Win32 Debug"
!MESSAGE 
!MESSAGE Possible choices for configuration are:
!MESSAGE 
!MESSAGE "i18n - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "i18n - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE 

# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe

!IF  "$(CFG)" == "i18n - Win32 Release"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "..\..\lib\"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "I18N_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Ob1 /I "..\..\source\common" /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "I18N_EXPORTS" /D "U_I18N_IMPLEMENTATION" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
# ADD LINK32 ..\..\lib\icuuc.lib /nologo /base:"0x4a900000" /dll /machine:I386 /out:"..\..\bin\icuin17.dll" /implib:"..\..\lib\icuin.lib"
# SUBTRACT LINK32 /pdb:none

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "..\..\lib\"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "I18N_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /I "..\..\source\common" /D "_WINDOWS" /D "_USRDLL" /D "I18N_EXPORTS" /D "U_I18N_IMPLEMENTATION" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "UDATA_MAP" /FR /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 ..\..\lib\icuucd.lib /nologo /base:"0x4a900000" /dll /debug /machine:I386 /out:"..\..\bin\icuin17d.dll" /implib:"..\..\lib\icuind.lib" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none

!ENDIF 

# Begin Target

# Name "i18n - Win32 Release"
# Name "i18n - Win32 Debug"
# Begin Group "Source Files"

# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File

SOURCE=.\brkdict.cpp
# End Source File
# Begin Source File

SOURCE=.\brkiter.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\calendar.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\choicfmt.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\colcache.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\coleitr.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\coll.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\colrules.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\cpdtrans.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\datefmt.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\dbbi.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\dbbi_tbl.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\dcfmtsym.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\decimfmt.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\dtfmtsym.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\fmtable.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\format.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\gregocal.cpp
# ADD CPP /Ze
# End Source File
# Begin Source File

SOURCE=.\hangjamo.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\hextouni.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\jamohang.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\mergecol.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\msgfmt.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\nultrans.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\numfmt.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\ptnentry.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbbi.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbbi_tbl.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbt.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbt_data.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbt_pars.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbt_rule.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbt_set.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\simpletz.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\smpdtfmt.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\sortkey.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\tables.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\tblcoll.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\tcoldata.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\timezone.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\translit.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\ubrk.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\ucal.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\ucol.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\udat.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\umsg.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unifltlg.cpp
# End Source File
# Begin Source File

SOURCE=.\unirange.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\uniset.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unitohex.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unum.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /Ze

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\utrans.cpp

!IF  "$(CFG)" == "i18n - Win32 Release"

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# ADD CPP /W3

!ENDIF 

# End Source File
# End Group
# Begin Group "Header Files"

# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File

SOURCE=.\brkdict.h
# End Source File
# Begin Source File

SOURCE=.\unicode\brkiter.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\brkiter.h

"..\..\include\unicode\brkiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\brkiter.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\brkiter.h

"..\..\include\unicode\brkiter.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\brkiter.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\calendar.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\calendar.h

"..\..\include\unicode\calendar.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\calendar.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\calendar.h

"..\..\include\unicode\calendar.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\calendar.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\choicfmt.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\choicfmt.h

"..\..\include\unicode\choicfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\choicfmt.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\choicfmt.h

"..\..\include\unicode\choicfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\choicfmt.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\colcache.h
# End Source File
# Begin Source File

SOURCE=.\unicode\coleitr.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\coleitr.h

"..\..\include\unicode\coleitr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\coleitr.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\coleitr.h

"..\..\include\unicode\coleitr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\coleitr.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\coll.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\coll.h

"..\..\include\unicode\coll.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\coll.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\coll.h

"..\..\include\unicode\coll.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\coll.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\colrules.h
# End Source File
# Begin Source File

SOURCE=.\unicode\cpdtrans.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\cpdtrans.h

"..\..\include\unicode\cpdtrans.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\cpdtrans.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\cpdtrans.h

"..\..\include\unicode\cpdtrans.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\cpdtrans.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\datefmt.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\datefmt.h

"..\..\include\unicode\datefmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\datefmt.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\datefmt.h

"..\..\include\unicode\datefmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\datefmt.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\dbbi.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\dbbi.h

"..\..\include\unicode\dbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\dbbi.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\dbbi.h

"..\..\include\unicode\dbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\dbbi.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\dbbi_tbl.h
# End Source File
# Begin Source File

SOURCE=.\unicode\dcfmtsym.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\dcfmtsym.h

"..\..\include\unicode\dcfmtsym.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\dcfmtsym.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\dcfmtsym.h

"..\..\include\unicode\dcfmtsym.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\dcfmtsym.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\decimfmt.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\decimfmt.h

"..\..\include\unicode\decimfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\decimfmt.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\decimfmt.h

"..\..\include\unicode\decimfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\decimfmt.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\dtfmtsym.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\dtfmtsym.h

"..\..\include\unicode\dtfmtsym.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\dtfmtsym.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\dtfmtsym.h

"..\..\include\unicode\dtfmtsym.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\dtfmtsym.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\fieldpos.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\fieldpos.h

"..\..\include\unicode\fieldpos.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\fieldpos.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\fieldpos.h

"..\..\include\unicode\fieldpos.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\fieldpos.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\fmtable.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\fmtable.h

"..\..\include\unicode\fmtable.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\fmtable.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\fmtable.h

"..\..\include\unicode\fmtable.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\fmtable.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\format.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\format.h

"..\..\include\unicode\format.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\format.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\format.h

"..\..\include\unicode\format.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\format.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\gregocal.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\gregocal.h

"..\..\include\unicode\gregocal.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\gregocal.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\gregocal.h

"..\..\include\unicode\gregocal.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\gregocal.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\hangjamo.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\hangjamo.h

"..\..\include\unicode\hangjamo.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy   unicode\hangjamo.h    ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\hangjamo.h

"..\..\include\unicode\hangjamo.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy   unicode\hangjamo.h    ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\hextouni.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\hextouni.h

"..\..\include\unicode\hextouni.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\hextouni.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\hextouni.h

"..\..\include\unicode\hextouni.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\hextouni.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\jamohang.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\jamohang.h

"..\..\include\unicode\jamohang.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy   unicode\jamohang.h    ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\jamohang.h

"..\..\include\unicode\jamohang.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy   unicode\jamohang.h    ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\mergecol.h
# End Source File
# Begin Source File

SOURCE=.\unicode\msgfmt.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\msgfmt.h

"..\..\include\unicode\msgfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\msgfmt.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\msgfmt.h

"..\..\include\unicode\msgfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\msgfmt.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\nultrans.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\nultrans.h

"..\..\include\unicode\nultrans.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\nultrans.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\nultrans.h

"..\..\include\unicode\nultrans.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\nultrans.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\numfmt.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\numfmt.h

"..\..\include\unicode\numfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\numfmt.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\numfmt.h

"..\..\include\unicode\numfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\numfmt.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\parseerr.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\parseerr.h

"..\..\include\unicode\parseerr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy   unicode\parseerr.h    ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\parseerr.h

"..\..\include\unicode\parseerr.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy   unicode\parseerr.h    ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\parsepos.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\parsepos.h

"..\..\include\unicode\parsepos.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\parsepos.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\parsepos.h

"..\..\include\unicode\parsepos.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\parsepos.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\ptnentry.h
# End Source File
# Begin Source File

SOURCE=.\unicode\rbbi.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\rbbi.h

"..\..\include\unicode\rbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\rbbi.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\rbbi.h

"..\..\include\unicode\rbbi.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\rbbi.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbbi_tbl.h
# End Source File
# Begin Source File

SOURCE=.\unicode\rbt.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\rbt.h

"..\..\include\unicode\rbt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\rbt.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\rbt.h

"..\..\include\unicode\rbt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\rbt.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\rbt_data.h
# End Source File
# Begin Source File

SOURCE=.\rbt_pars.h
# End Source File
# Begin Source File

SOURCE=.\rbt_rule.h
# End Source File
# Begin Source File

SOURCE=.\rbt_set.h
# End Source File
# Begin Source File

SOURCE=.\unicode\simpletz.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\simpletz.h

"..\..\include\unicode\simpletz.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\simpletz.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\simpletz.h

"..\..\include\unicode\simpletz.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\simpletz.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\smpdtfmt.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\smpdtfmt.h

"..\..\include\unicode\smpdtfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\smpdtfmt.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\smpdtfmt.h

"..\..\include\unicode\smpdtfmt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\smpdtfmt.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\sortkey.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\sortkey.h

"..\..\include\unicode\sortkey.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\sortkey.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\sortkey.h

"..\..\include\unicode\sortkey.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy               unicode\sortkey.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\tables.h
# End Source File
# Begin Source File

SOURCE=.\unicode\tblcoll.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\tblcoll.h

"..\..\include\unicode\tblcoll.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\tblcoll.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\tblcoll.h

"..\..\include\unicode\tblcoll.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\tblcoll.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\tcoldata.h
# End Source File
# Begin Source File

SOURCE=.\unicode\timezone.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\timezone.h

"..\..\include\unicode\timezone.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\timezone.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\timezone.h

"..\..\include\unicode\timezone.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\timezone.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\translit.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\translit.h

"..\..\include\unicode\translit.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\translit.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\translit.h

"..\..\include\unicode\translit.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\translit.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\ubrk.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\ubrk.h

"..\..\include\unicode\ubrk.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\ubrk.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\ubrk.h

"..\..\include\unicode\ubrk.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\ubrk.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\ucal.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\ucal.h

"..\..\include\unicode\ucal.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\ucal.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\ucal.h

"..\..\include\unicode\ucal.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\ucal.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\ucol.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\ucol.h

"..\..\include\unicode\ucol.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\ucol.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\ucol.h

"..\..\include\unicode\ucol.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\ucol.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\udat.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\udat.h

"..\..\include\unicode\udat.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\udat.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\udat.h

"..\..\include\unicode\udat.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\udat.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\umsg.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\umsg.h

"..\..\include\unicode\umsg.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\umsg.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\umsg.h

"..\..\include\unicode\umsg.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\umsg.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\unifilt.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\unifilt.h

"..\..\include\unicode\unifilt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\unifilt.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\unifilt.h

"..\..\include\unicode\unifilt.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\unifilt.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\unifltlg.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\unifltlg.h

"..\..\include\unicode\unifltlg.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\unifltlg.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\unifltlg.h

"..\..\include\unicode\unifltlg.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\unifltlg.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unirange.h
# End Source File
# Begin Source File

SOURCE=.\unicode\uniset.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\uniset.h

"..\..\include\unicode\uniset.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\uniset.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\uniset.h

"..\..\include\unicode\uniset.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\uniset.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\unitohex.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\unitohex.h

"..\..\include\unicode\unitohex.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\unitohex.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\unitohex.h

"..\..\include\unicode\unitohex.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\unitohex.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\unum.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\unum.h

"..\..\include\unicode\unum.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\unum.h                ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\unum.h

"..\..\include\unicode\unum.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy                unicode\unum.h                ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# Begin Source File

SOURCE=.\unicode\utrans.h

!IF  "$(CFG)" == "i18n - Win32 Release"

# Begin Custom Build
InputPath=.\unicode\utrans.h

"..\..\include\unicode\utrans.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy    unicode\utrans.h    ..\..\include\unicode

# End Custom Build

!ELSEIF  "$(CFG)" == "i18n - Win32 Debug"

# Begin Custom Build
InputPath=.\unicode\utrans.h

"..\..\include\unicode\utrans.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
	copy    unicode\utrans.h    ..\..\include\unicode

# End Custom Build

!ENDIF 

# End Source File
# End Group
# Begin Group "Resource Files"

# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
