2000-08-29 07:28:22 +00:00
#******************************************************************************
#
2008-05-28 21:00:59 +00:00
# Copyright (C) 1998-2008, International Business Machines
2000-08-29 07:28:22 +00:00
# Corporation and others. All Rights Reserved.
#
#******************************************************************************
## Top-level Makefile.in for ICU
## Stephen F. Booth
2000-10-24 19:50:20 +00:00
## Source directory information
2000-08-29 07:28:22 +00:00
srcdir = @srcdir@
top_srcdir = @top_srcdir@
2000-10-26 19:28:33 +00:00
top_builddir = ../..
i n c l u d e $( top_builddir ) / i c u d e f s . m k
2000-08-29 07:28:22 +00:00
## Build directory information
subdir = test/testdata
## Files to remove for 'make clean'
CLEANFILES = *~
SUBDIRS =
2008-05-28 21:00:59 +00:00
- i n c l u d e M a k e f i l e . l o c a l
2000-08-29 07:28:22 +00:00
## List of phony targets
2006-03-27 17:33:08 +00:00
.PHONY : all all -local all -recursive install install -local \
i n s t a l l - r e c u r s i v e c l e a n c l e a n - l o c a l c l e a n - r e c u r s i v e d i s t c l e a n \
2000-08-29 07:28:22 +00:00
d i s t c l e a n - l o c a l d i s t c l e a n - r e c u r s i v e d o c d i s t d i s t - l o c a l d i s t - r e c u r s i v e \
2007-07-12 21:53:20 +00:00
c h e c k c h e c k - l o c a l c h e c k - r e c u r s i v e b u i l d - d i r j a v a - o u t p u t
2004-08-06 06:16:42 +00:00
.NOTPARALLEL : build -dir
2000-08-29 07:28:22 +00:00
## Clear suffix list
.SUFFIXES :
## List of standard targets
2006-03-27 17:33:08 +00:00
all : all -local
install : install -local
clean : clean -local
distclean : distclean -local
dist : dist -local
check : all check -local
2000-08-29 07:28:22 +00:00
2004-08-06 06:16:42 +00:00
all-local : build -dir build -testdata testdata packagetest
2000-08-29 07:28:22 +00:00
install-local :
dist-local :
clean-local :
test -z " $( CLEANFILES) " || $( RMV) $( CLEANFILES)
2004-07-19 14:10:08 +00:00
$( RMV) $( TESTOUTDIR)
2000-08-29 07:28:22 +00:00
2000-10-02 23:37:16 +00:00
distclean-local : clean -local
2004-07-20 02:53:14 +00:00
$( RMV) Makefile pkgdata.inc
2000-10-02 23:37:16 +00:00
2000-08-29 07:28:22 +00:00
check-local :
2004-07-19 14:10:08 +00:00
Makefile : $( srcdir ) /Makefile .in $( top_builddir ) /config .status
2000-08-29 07:28:22 +00:00
cd $( top_builddir) \
2004-07-19 14:10:08 +00:00
&& CONFIG_FILES = $( subdir) /$@ CONFIG_HEADERS = $( SHELL) ./config.status
2000-08-29 07:28:22 +00:00
2008-12-01 21:57:14 +00:00
pkgdata.inc : pkgdataMakefile
2008-11-24 20:04:52 +00:00
$( MAKE) -f pkgdataMakefile
2000-08-29 07:28:22 +00:00
2008-12-01 21:57:14 +00:00
pkgdataMakefile :
cd $( top_builddir) \
&& CONFIG_FILES = $( subdir) /$@ CONFIG_HEADERS = $( SHELL) ./config.status
2004-07-19 14:10:08 +00:00
#########################################################################
############################## Test ## stuff ############################
i f e q ( $( PKGDATA_OPTS ) , )
2004-07-20 02:53:14 +00:00
PKGDATA_OPTS = -O $( top_builddir) /test/testdata/pkgdata.inc
2004-07-19 14:10:08 +00:00
e n d i f
# relative lib links from pkgdata are the same as for tmp
GENRBOPTS = -k
TOOLDIR = $( top_builddir) /tools
SRCDATADIR = $( top_srcdir) /data
UNICODEDATADIR = $( SRCDATADIR) /unidata
OUTDIR = $( top_builddir) /data/out
OUTTMPDIR = $( top_builddir) /data/out/tmp
BUILDDIR = $( OUTDIR) /build/$( ICUDATA_PLATFORM_NAME)
TESTSRCDATADIR = $( top_srcdir) /test/testdata
TESTOUTDIR = $( top_builddir) /test/testdata/out
2006-02-24 19:31:34 +00:00
BUILD_DIRS = $( TESTOUTDIR) $( TESTBUILDDIR) $( TESTOUTDIR) /$( TESTDT)
2004-07-19 14:10:08 +00:00
2005-06-09 00:59:07 +00:00
i f e q ( $( PKGDATA_MODE ) , c o m m o n )
ICU_DATA_OPT = -i $( OUTDIR)
e l s e
i f e q ( $( PKGDATA_MODE ) , d l l )
2006-05-27 10:04:47 +00:00
i f n e q ( $( ENABLE_SHARED ) , Y E S )
ICU_DATA_OPT = -i $( BUILDDIR)
e l s e
2005-06-09 00:59:07 +00:00
ICU_DATA_OPT =
2006-05-27 10:04:47 +00:00
e n d i f
2005-06-09 00:59:07 +00:00
e l s e
ICU_DATA_OPT = -i $( BUILDDIR)
e n d i f
e n d i f
2004-07-19 14:10:08 +00:00
PKGDATA = $( BINDIR) /pkgdata $( PKGDATA_OPTS) -q -c -s $( CURDIR) /out/build/$( ICUDATA_PLATFORM_NAME)
PKGDATA_INVOKE := $( INVOKE) $( PKGDATA_INVOKE_OPTS)
# Contains all 'intermediate' files (and temp files) except for 'unpackaged data' below
TESTBUILDDIR = $( TESTOUTDIR) /build
# unpackaged files - live in 'out' so that the path can find them as part of the pkg
2006-02-24 19:31:34 +00:00
UNPACKAGEDTESTDATA = $( TESTOUTDIR) /$( TESTDT) /nam.typ
2004-07-19 14:10:08 +00:00
# pkg name for testdata
TESTDATA = testdata
# prefix for files that are testdata
2006-02-24 19:31:34 +00:00
TESTDT = $( TESTDATA)
2004-07-19 14:10:08 +00:00
# File definitions
2006-02-24 19:31:34 +00:00
TEST_DAT_FILES = $( TESTBUILDDIR) /test.icu
TEST_SPP_FILES = $( TESTBUILDDIR) /nfscsi.spp $( TESTBUILDDIR) /nfscss.spp $( TESTBUILDDIR) /nfscis.spp $( TESTBUILDDIR) /nfsmxs.spp $( TESTBUILDDIR) /nfsmxp.spp
2004-07-19 14:10:08 +00:00
2007-12-07 05:34:26 +00:00
TEST_UCM_SOURCE = test1.ucm test1bmp.ucm test3.ucm test4.ucm test4x.ucm ibm9027.ucm
2004-07-19 14:10:08 +00:00
TEST_UCM_FILES = $( TEST_UCM_SOURCE:%= $( TESTSRCDATADIR) /data/%)
2006-02-24 19:31:34 +00:00
TEST_CNV_FILES = $( TEST_UCM_SOURCE:%.ucm= $( TESTBUILDDIR) /%.cnv)
2004-07-19 14:10:08 +00:00
2007-07-12 21:53:20 +00:00
# import the shared .mk file
i n c l u d e $( TESTSRCDATADIR ) / t s t f i l e s . m k
2008-05-28 21:00:59 +00:00
- i n c l u d e $( TESTSRCDATADIR ) / t s t l o c a l . m k
2007-07-12 21:53:20 +00:00
# TEST_RES_SOURCE comes from tstfiles.mk
2008-05-28 21:00:59 +00:00
TEST_RES = $( TEST_RES_SOURCE) $( TEST_RES_LOCAL) casing.txt mc.txt root.txt sh.txt sh_YU.txt te.txt te_IN.txt te_IN_REVISED.txt testtypes.txt testaliases.txt testempty.txt structLocale.txt idna_rules.txt conversion.txt icuio.txt testtable32.txt
2006-02-24 19:31:34 +00:00
TEST_RES_FILES = $( TEST_RES:%.txt= $( TESTBUILDDIR) /%.res) $( TESTBUILDDIR) /iscii.res $( TESTBUILDDIR) /icu26_testtypes.res $( TESTBUILDDIR) /icu26e_testtypes.res
2004-07-19 14:10:08 +00:00
2006-02-24 19:31:34 +00:00
ALL_TEST_FILES = $( TEST_DAT_FILES) $( TEST_SPP_FILES) $( TEST_BRK_FILES) $( TEST_CNV_FILES) $( TEST_RES_FILES) $( TESTOUTDIR) /$( TESTDT) /nam.typ
2004-07-19 14:10:08 +00:00
# list
$(TESTBUILDDIR)/testdata.lst : $( SRCLISTDEPS )
@echo " generating $@ (list of data files) "
@-$( RMV) $@
2006-02-24 19:31:34 +00:00
@for file in $( TEST_RES_FILES:$( TESTBUILDDIR) /%.res= %.res) $( TEST_DAT_FILES:$( TESTBUILDDIR) /%.icu= %.icu) $( TEST_SPP_FILES:$( TESTBUILDDIR) /%.spp= %.spp) $( TEST_CNV_FILES:$( TESTBUILDDIR) /%.cnv= %.cnv) ; do \
2004-07-19 14:10:08 +00:00
echo $$ file >> $@ ; \
done ;
2006-02-24 19:31:34 +00:00
build-testdata : build -dir $( ALL_TEST_FILES ) $( TESTBUILDDIR ) /testdata .lst $( TESTBUILDDIR ) /iscii .res
2004-07-19 14:10:08 +00:00
# test.icu
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/test.icu : $( TOOLDIR ) /gentest /gentest $( EXEEXT )
2004-07-19 14:10:08 +00:00
$( INVOKE) $( TOOLDIR) /gentest/gentest -d $( TESTBUILDDIR)
$(TESTBUILDDIR)/testtable32.txt : $( TOOLDIR ) /gentest /gentest $( EXEEXT )
$( INVOKE) $( TOOLDIR) /gentest/gentest -r -d $( TESTBUILDDIR)
2007-07-12 21:53:20 +00:00
# java output
java-output : $( JAVA_OUT_DIR ) /DebugUtilitiesData .java
$(JAVA_OUT_DIR)/DebugUtilitiesData.java : $( TOOLDIR ) /gentest /gentest $( EXEEXT )
2007-08-21 20:15:55 +00:00
$( MKINSTALLDIRS) $( JAVA_OUT_DIR)
2007-07-12 21:53:20 +00:00
$( INVOKE) $( TOOLDIR) /gentest/gentest -j -d $( JAVA_OUT_DIR)
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/testtable32.res : $( TESTBUILDDIR ) /testtable 32.txt $( BINDIR ) /genrb $( EXEEXT )
$( INVOKE) $( BINDIR) /genrb $( GENRBOPTS) -s $( TESTBUILDDIR) $( ICU_DATA_OPT) -d $( TESTBUILDDIR) $( <F)
2004-07-19 14:10:08 +00:00
# Targets for nfscsi.spp
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/nfscsi.spp : $( BINDIR ) /gensprep $( EXEEXT ) $( TESTSRCDATADIR ) /nfs 4_cs_prep_ci .txt
2004-07-19 14:10:08 +00:00
@echo Building nfscsi.icu
2006-02-24 19:31:34 +00:00
$( INVOKE) $( BINDIR) /gensprep -s $( TESTSRCDATADIR) $( ICU_DATA_OPT) -d $( TESTBUILDDIR) -b nfscsi -u 3.2.0 nfs4_cs_prep_ci.txt
2004-07-19 14:10:08 +00:00
# Targets for nfscss.spp
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/nfscss.spp : $( BINDIR ) /gensprep $( EXEEXT ) $( TESTSRCDATADIR ) /nfs 4_cs_prep_cs .txt
2004-07-19 14:10:08 +00:00
@echo Building nfscss.icu
2006-02-24 19:31:34 +00:00
$( INVOKE) $( BINDIR) /gensprep -s $( TESTSRCDATADIR) $( ICU_DATA_OPT) -d $( TESTBUILDDIR) -b nfscss -u 3.2.0 nfs4_cs_prep_cs.txt
2004-07-19 14:10:08 +00:00
# Targets for nfscis.spp
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/nfscis.spp : $( BINDIR ) /gensprep $( EXEEXT ) $( TESTSRCDATADIR ) /nfs 4_cis_prep .txt
2004-07-19 14:10:08 +00:00
@echo Building nfscis.spp
2006-02-24 19:31:34 +00:00
$( INVOKE) $( BINDIR) /gensprep -s $( TESTSRCDATADIR) $( ICU_DATA_OPT) -d $( TESTBUILDDIR) -b nfscis -k -n $( UNICODEDATADIR) -u 3.2.0 nfs4_cis_prep.txt
2004-07-19 14:10:08 +00:00
# Targets for nfsmxs.spp
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/nfsmxs.spp : $( BINDIR ) /gensprep $( EXEEXT ) $( TESTSRCDATADIR ) /nfs 4_mixed_prep_s .txt
2004-07-19 14:10:08 +00:00
@echo Building nfsmxs.spp
2006-02-24 19:31:34 +00:00
$( INVOKE) $( BINDIR) /gensprep -s $( TESTSRCDATADIR) $( ICU_DATA_OPT) -d $( TESTBUILDDIR) -b nfsmxs -k -n $( UNICODEDATADIR) -u 3.2.0 nfs4_mixed_prep_s.txt
2004-07-19 14:10:08 +00:00
# Targets for nfsmxp.spp
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/nfsmxp.spp : $( BINDIR ) /gensprep $( EXEEXT ) $( TESTSRCDATADIR ) /nfs 4_mixed_prep_p .txt
2004-07-19 14:10:08 +00:00
@echo Building nfsmxp.spp
2006-02-24 19:31:34 +00:00
$( INVOKE) $( BINDIR) /gensprep -s $( TESTSRCDATADIR) $( ICU_DATA_OPT) -d $( TESTBUILDDIR) -b nfsmxp -k -n $( UNICODEDATADIR) -u 3.2.0 nfs4_mixed_prep_p.txt
2004-07-19 14:10:08 +00:00
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/%.cnv : $( TESTSRCDATADIR ) /%.ucm $( BINDIR ) /makeconv $( EXEEXT )
2007-10-25 17:05:36 +00:00
$( INVOKE) $( BINDIR) /makeconv --small -c -d $( TESTBUILDDIR) $( TESTSRCDATADIR) /$( <F)
2004-07-19 14:10:08 +00:00
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/%.res : $( TESTSRCDATADIR ) /%.txt $( BINDIR ) /genrb $( EXEEXT ) $( DAT_FILES )
$( INVOKE) $( BINDIR) /genrb $( GENRBOPTS) -q -s $( TESTSRCDATADIR) $( ICU_DATA_OPT) -d $( TESTBUILDDIR) $( <F)
2004-07-19 14:10:08 +00:00
2006-02-24 19:31:34 +00:00
$(TESTBUILDDIR)/iscii.res : $( TESTSRCDATADIR ) /iscii .bin $( BINDIR ) /genrb $( EXEEXT )
2004-07-19 14:10:08 +00:00
@echo Testing genrb -e option
2006-02-24 19:31:34 +00:00
@ICU_DATA= $( BUILDDIR) $( INVOKE) $( BINDIR) /genrb $( GENRBOPTS) -s $( TESTSRCDATADIR) -eISCII,version= 0 -d $( TESTBUILDDIR) $( <F) >/dev/null || ( echo "WARNING: could not open ISCII - it may have been disabled." | tee $@ )
2004-07-19 14:10:08 +00:00
@echo Finished testing genrb -e option
################################################################### TYP
# TYP FILES
2006-02-24 19:31:34 +00:00
$(TESTOUTDIR)/$(TESTDT)/nam.typ : $( TESTBUILDDIR ) /te_IN .res
cp $< $@
$(TESTBUILDDIR)/icu26_testtypes.res : $( TESTSRCDATADIR ) /icu 26_testtypes .res
cp $< $@
$(TESTBUILDDIR)/icu26e_testtypes.res : $( TESTSRCDATADIR ) /icu 26e_testtypes .res
2004-07-19 14:10:08 +00:00
cp $< $@
2004-08-06 06:16:42 +00:00
testdata : build -dir $( ALL_TEST_FILES ) $( UNPACKAGEDTESTDATA )
2004-07-19 14:10:08 +00:00
2004-08-06 06:16:42 +00:00
#$(ALL_TEST_FILES) $(TESTBUILDDIR)/testtable32.txt $(TESTBUILDDIR)/testdata.lst: build-dir
2004-07-19 14:10:08 +00:00
2004-08-06 06:16:42 +00:00
packagetest : build -dir testdata pkgdata .inc $( TESTBUILDDIR ) /testdata .lst
2004-07-19 14:10:08 +00:00
$( PKGDATA_INVOKE) $( PKGDATA) -T $( TESTBUILDDIR) -d $( TESTOUTDIR) -s $( TESTBUILDDIR) -p $( TESTDATA) -m common $( TESTBUILDDIR) /testdata.lst
2004-08-06 06:16:42 +00:00
build-dir : $( BUILD_DIRS )
2004-08-04 23:41:42 +00:00
$(BUILD_DIRS) :
2004-08-06 06:16:42 +00:00
-$( MKINSTALLDIRS) $( BUILD_DIRS)
2004-07-19 14:10:08 +00:00