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