Home | History | Annotate | Download | only in uconv
      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