16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#**********************************************************************
26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#* Copyright (C) 1999-2008, International Business Machines Corporation
36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#* and others.  All Rights Reserved.
46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#**********************************************************************
56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# nmake file for creating data files on win32
66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# invoke with
76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# nmake /f makedata.mak icup=<path_to_icu_instalation> [Debug|Release]
86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#
96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#	12/10/1999	weiv	Created
106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#If no config, we default to debug
126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!IF "$(CFG)" == ""
136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCFG=Debug
146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE No configuration specified. Defaulting to common - Win32 Debug.
156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ENDIF
166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#Here we test if a valid configuration is given
186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!IF "$(CFG)" != "Release" && "$(CFG)" != "release" && "$(CFG)" != "Debug" && "$(CFG)" != "debug" && "$(CFG)" != "x86\Release" && "$(CFG)" != "x86\Debug" && "$(CFG)" != "x64\Release" && "$(CFG)" != "x64\Debug"
196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE Invalid configuration "$(CFG)" specified.
206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE You can specify a configuration when running NMAKE
216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE by defining the macro CFG on the command line. For example:
226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE
236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE NMAKE /f "makedata.mak" CFG="Debug"
246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE
256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE Possible choices for configuration are:
266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE
276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE "Release"
286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE "Debug"
296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE
306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ERROR An invalid configuration is specified.
316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ENDIF
326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#Let's see if user has given us a path to ICU
346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#This could be found according to the path to makefile, but for now it is this way
356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!IF "$(ICUP)"==""
366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ERROR Can't find path!
376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ENDIF
386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!MESSAGE ICU path is $(ICUP)
396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgRESNAME=uconvmsg
406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgRESDIR=resources
416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgRESFILES=resfiles.mk
426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICUDATA=$(ICUP)\data
436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgDLL_OUTPUT=.\$(CFG)
456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# set the following to 'static' or 'dll' depending
466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgPKGMODE=static
476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICD=$(ICUDATA)^\
496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgDATA_PATH=$(ICUP)\data^\
506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug"
526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICUTOOLS=$(ICUP)\bin64
536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgPATH = $(ICUP)\bin64;$(PATH)
546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ELSE
556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgICUTOOLS=$(ICUP)\bin
566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgPATH = $(ICUP)\bin;$(PATH)
576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ENDIF
586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
596f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Suffixes for data files
606f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org.SUFFIXES : .ucm .cnv .dll .dat .res .txt .c
616f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
626f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# We're including a list of resource files.
636f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgFILESEPCHAR=
646f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
656f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!IF EXISTS("$(RESFILES)")
666f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!INCLUDE "$(RESFILES)"
676f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ELSE
686f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ERROR ERROR: cannot find "$(RESFILES)"
696f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ENDIF
706f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgRES_FILES = $(RESSRC:.txt=.res)
716f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgRB_FILES = resources\$(RES_FILES:.res =.res resources\)
726f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgRESOURCESDIR=
736f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
746f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# This target should build all the data files
756f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!IF "$(PKGMODE)" == "dll"
766f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgOUTPUT = "$(DLL_OUTPUT)\$(RESNAME).dll"
776f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ELSE
786f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgOUTPUT = "$(DLL_OUTPUT)\$(RESNAME).lib"
796f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org!ENDIF
806f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
816f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgALL : $(OUTPUT)
826f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org	@echo All targets are up to date (mode $(PKGMODE))
836f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
846f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
856f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# invoke pkgdata - static
866f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org"$(DLL_OUTPUT)\$(RESNAME).lib" : $(RB_FILES) $(RESFILES)
876f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org	@echo Building $(RESNAME).lib
886f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org	@"$(ICUTOOLS)\pkgdata" -f -v -m static -c -p $(RESNAME) -d "$(DLL_OUTPUT)" -s "$(RESDIR)" <<pkgdatain.txt
896f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org$(RES_FILES:.res =.res
906f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org)
916f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org<<KEEP
926f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
936f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# This is to remove all the data files
946f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgCLEAN :
956f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    -@erase "$(RB_FILES)"
966f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org	-@erase "$(CFG)\*uconvmsg*.*"
976f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    -@"$(ICUTOOLS)\pkgdata" -f --clean -v -m static -c -p $(RESNAME) -d "$(DLL_OUTPUT)" -s "$(RESDIR)" pkgdatain.txt
986f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
996f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# Inference rule for creating resource bundles
1006f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org{$(RESDIR)}.txt{$(RESDIR)}.res:
1016f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org	@echo Making Resource Bundle files
1026f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org	"$(ICUTOOLS)\genrb" -s $(@D) -d $(@D) $(?F)
1036f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1046f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
1056f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org$(RESSRC) : {"$(ICUTOOLS)"}genrb.exe
1066f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
107