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