1#********************************************************************** 2#* Copyright (C) 1999-2008, International Business Machines Corporation 3#* and others. All Rights Reserved. 4#********************************************************************** 5# nmake file for creating data files on win32 6# invoke with 7# nmake /f makedata.mak icup=<path_to_icu_instalation> [Debug|Release] 8# 9# 12/10/1999 weiv Created 10 11#If no config, we default to debug 12!IF "$(CFG)" == "" 13CFG=Debug 14!MESSAGE No configuration specified. Defaulting to common - Win32 Debug. 15!ENDIF 16 17#Here we test if a valid configuration is given 18!IF "$(CFG)" != "Release" && "$(CFG)" != "release" && "$(CFG)" != "Debug" && "$(CFG)" != "debug" && "$(CFG)" != "x86\Release" && "$(CFG)" != "x86\Debug" && "$(CFG)" != "x64\Release" && "$(CFG)" != "x64\Debug" 19!MESSAGE Invalid configuration "$(CFG)" specified. 20!MESSAGE You can specify a configuration when running NMAKE 21!MESSAGE by defining the macro CFG on the command line. For example: 22!MESSAGE 23!MESSAGE NMAKE /f "makedata.mak" CFG="Debug" 24!MESSAGE 25!MESSAGE Possible choices for configuration are: 26!MESSAGE 27!MESSAGE "Release" 28!MESSAGE "Debug" 29!MESSAGE 30!ERROR An invalid configuration is specified. 31!ENDIF 32 33#Let's see if user has given us a path to ICU 34#This could be found according to the path to makefile, but for now it is this way 35!IF "$(ICUP)"=="" 36!ERROR Can't find path! 37!ENDIF 38!MESSAGE ICU path is $(ICUP) 39RESNAME=uconvmsg 40RESDIR=resources 41RESFILES=resfiles.mk 42ICUDATA=$(ICUP)\data 43 44DLL_OUTPUT=.\$(CFG) 45# set the following to 'static' or 'dll' depending 46PKGMODE=static 47 48ICD=$(ICUDATA)^\ 49DATA_PATH=$(ICUP)\data^\ 50 51!IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" 52ICUTOOLS=$(ICUP)\bin64 53PATH = $(ICUP)\bin64;$(PATH) 54!ELSE 55ICUTOOLS=$(ICUP)\bin 56PATH = $(ICUP)\bin;$(PATH) 57!ENDIF 58 59# Suffixes for data files 60.SUFFIXES : .ucm .cnv .dll .dat .res .txt .c 61 62# We're including a list of resource files. 63FILESEPCHAR= 64 65!IF EXISTS("$(RESFILES)") 66!INCLUDE "$(RESFILES)" 67!ELSE 68!ERROR ERROR: cannot find "$(RESFILES)" 69!ENDIF 70RES_FILES = $(RESSRC:.txt=.res) 71RB_FILES = resources\$(RES_FILES:.res =.res resources\) 72RESOURCESDIR= 73 74# This target should build all the data files 75!IF "$(PKGMODE)" == "dll" 76OUTPUT = "$(DLL_OUTPUT)\$(RESNAME).dll" 77!ELSE 78OUTPUT = "$(DLL_OUTPUT)\$(RESNAME).lib" 79!ENDIF 80 81ALL : $(OUTPUT) 82 @echo All targets are up to date (mode $(PKGMODE)) 83 84 85# invoke pkgdata - static 86"$(DLL_OUTPUT)\$(RESNAME).lib" : $(RB_FILES) $(RESFILES) 87 @echo Building $(RESNAME).lib 88 @"$(ICUTOOLS)\pkgdata" -f -v -m static -c -p $(RESNAME) -d "$(DLL_OUTPUT)" -s "$(RESDIR)" <<pkgdatain.txt 89$(RES_FILES:.res =.res 90) 91<<KEEP 92 93# This is to remove all the data files 94CLEAN : 95 -@erase "$(RB_FILES)" 96 -@erase "$(CFG)\*uconvmsg*.*" 97 -@"$(ICUTOOLS)\pkgdata" -f --clean -v -m static -c -p $(RESNAME) -d "$(DLL_OUTPUT)" -s "$(RESDIR)" pkgdatain.txt 98 99# Inference rule for creating resource bundles 100{$(RESDIR)}.txt{$(RESDIR)}.res: 101 @echo Making Resource Bundle files 102 "$(ICUTOOLS)\genrb" -s $(@D) -d $(@D) $(?F) 103 104 105$(RESSRC) : {"$(ICUTOOLS)"}genrb.exe 106 107