• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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