]>
Commit | Line | Data |
---|---|---|
f3c0d7a5 A |
1 | # Copyright (C) 2016 and later: Unicode, Inc. and others. |
2 | # License & terms of use: http://www.unicode.org/copyright.html | |
b75a7d8f | 3 | #********************************************************************** |
729e4ab9 | 4 | #* Copyright (C) 1999-2008, International Business Machines Corporation |
b75a7d8f A |
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 | # | |
0f5d89e8 | 11 | # 12/10/1999 weiv Created |
b75a7d8f A |
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 | |
729e4ab9 | 20 | !IF "$(CFG)" != "Release" && "$(CFG)" != "release" && "$(CFG)" != "Debug" && "$(CFG)" != "debug" && "$(CFG)" != "x86\Release" && "$(CFG)" != "x86\Debug" && "$(CFG)" != "x64\Release" && "$(CFG)" != "x64\Debug" |
b75a7d8f A |
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) | |
0f5d89e8 | 41 | |
b75a7d8f | 42 | RESNAME=uconvmsg |
374ca955 | 43 | RESDIR=resources |
b75a7d8f A |
44 | RESFILES=resfiles.mk |
45 | ICUDATA=$(ICUP)\data | |
46 | ||
47 | DLL_OUTPUT=.\$(CFG) | |
48 | # set the following to 'static' or 'dll' depending | |
49 | PKGMODE=static | |
50 | ||
b75a7d8f A |
51 | ICD=$(ICUDATA)^\ |
52 | DATA_PATH=$(ICUP)\data^\ | |
b75a7d8f | 53 | |
729e4ab9 A |
54 | !IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug" |
55 | ICUTOOLS=$(ICUP)\bin64 | |
56 | PATH = $(ICUP)\bin64;$(PATH) | |
57 | !ELSE | |
58 | ICUTOOLS=$(ICUP)\bin | |
374ca955 | 59 | PATH = $(ICUP)\bin;$(PATH) |
729e4ab9 | 60 | !ENDIF |
b75a7d8f | 61 | |
0f5d89e8 A |
62 | # Make sure the necessary tools exist before continuing. (This is to prevent cryptic errors from NMAKE). |
63 | !IF !EXISTS($(ICUTOOLS)\pkgdata.exe) | |
64 | !MESSAGE Unable to find "$(ICUTOOLS)\pkgdata.exe" | |
65 | !ERROR The tool 'pkgdata.exe' does not exist! (Have you built all of ICU yet?). | |
66 | !ENDIF | |
67 | !IF !EXISTS($(ICUTOOLS)\genrb.exe) | |
68 | !MESSAGE Unable to find "$(ICUTOOLS)\genrb.exe" | |
69 | !ERROR The tool 'genrb.exe' does not exist! (Have you built all of ICU yet?). | |
70 | !ENDIF | |
71 | ||
b75a7d8f A |
72 | # Suffixes for data files |
73 | .SUFFIXES : .ucm .cnv .dll .dat .res .txt .c | |
74 | ||
75 | # We're including a list of resource files. | |
374ca955 | 76 | FILESEPCHAR= |
b75a7d8f A |
77 | |
78 | !IF EXISTS("$(RESFILES)") | |
79 | !INCLUDE "$(RESFILES)" | |
80 | !ELSE | |
81 | !ERROR ERROR: cannot find "$(RESFILES)" | |
82 | !ENDIF | |
46f4442e A |
83 | RES_FILES = $(RESSRC:.txt=.res) |
84 | RB_FILES = resources\$(RES_FILES:.res =.res resources\) | |
374ca955 | 85 | RESOURCESDIR= |
b75a7d8f A |
86 | |
87 | # This target should build all the data files | |
88 | !IF "$(PKGMODE)" == "dll" | |
89 | OUTPUT = "$(DLL_OUTPUT)\$(RESNAME).dll" | |
90 | !ELSE | |
91 | OUTPUT = "$(DLL_OUTPUT)\$(RESNAME).lib" | |
92 | !ENDIF | |
93 | ||
374ca955 | 94 | ALL : $(OUTPUT) |
0f5d89e8 | 95 | @echo All targets are up to date (mode $(PKGMODE)) |
b75a7d8f A |
96 | |
97 | ||
98 | # invoke pkgdata - static | |
374ca955 | 99 | "$(DLL_OUTPUT)\$(RESNAME).lib" : $(RB_FILES) $(RESFILES) |
0f5d89e8 A |
100 | @echo Building $(RESNAME).lib |
101 | @"$(ICUTOOLS)\pkgdata" -f -v -m static -c -p $(RESNAME) -d "$(DLL_OUTPUT)" -s "$(RESDIR)" <<pkgdatain.txt | |
46f4442e | 102 | $(RES_FILES:.res =.res |
b75a7d8f A |
103 | ) |
104 | <<KEEP | |
105 | ||
b75a7d8f A |
106 | # This is to remove all the data files |
107 | CLEAN : | |
b75a7d8f | 108 | -@erase "$(RB_FILES)" |
0f5d89e8 | 109 | -@erase "$(CFG)\*uconvmsg*.*" |
374ca955 | 110 | -@"$(ICUTOOLS)\pkgdata" -f --clean -v -m static -c -p $(RESNAME) -d "$(DLL_OUTPUT)" -s "$(RESDIR)" pkgdatain.txt |
b75a7d8f A |
111 | |
112 | # Inference rule for creating resource bundles | |
374ca955 | 113 | {$(RESDIR)}.txt{$(RESDIR)}.res: |
0f5d89e8 A |
114 | @echo Making Resource Bundle files |
115 | "$(ICUTOOLS)\genrb" -s $(@D) -d $(@D) $(?F) | |
b75a7d8f A |
116 | |
117 | $(RESSRC) : {"$(ICUTOOLS)"}genrb.exe |