]> git.saurik.com Git - apple/icu.git/blob - icuSources/extra/uconv/makedata.mak
ICU-551.51.4.tar.gz
[apple/icu.git] / icuSources / extra / uconv / makedata.mak
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