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)" == "" 13 CFG=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) 39 RESNAME=uconvmsg 40 RESDIR=resources 41 RESFILES=resfiles.mk 42 ICUDATA=$(ICUP)\data 43 44 DLL_OUTPUT=.\$(CFG) 45 # set the following to 'static' or 'dll' depending 46 PKGMODE=static 47 48 ICD=$(ICUDATA)^\ 49 DATA_PATH=$(ICUP)\data^\ 50 51 !IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" 52 ICUTOOLS=$(ICUP)\bin64 53 PATH = $(ICUP)\bin64;$(PATH) 54 !ELSE 55 ICUTOOLS=$(ICUP)\bin 56 PATH = $(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. 63 FILESEPCHAR= 64 65 !IF EXISTS("$(RESFILES)") 66 !INCLUDE "$(RESFILES)" 67 !ELSE 68 !ERROR ERROR: cannot find "$(RESFILES)" 69 !ENDIF 70 RES_FILES = $(RESSRC:.txt=.res) 71 RB_FILES = resources\$(RES_FILES:.res =.res resources\) 72 RESOURCESDIR= 73 74 # This target should build all the data files 75 !IF "$(PKGMODE)" == "dll" 76 OUTPUT = "$(DLL_OUTPUT)\$(RESNAME).dll" 77 !ELSE 78 OUTPUT = "$(DLL_OUTPUT)\$(RESNAME).lib" 79 !ENDIF 80 81 ALL : $(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 94 CLEAN : 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