Home | History | Annotate | Download | only in testdata
      1 #******************************************************************************
      2 #
      3 #   Copyright (C) 1998-2007, International Business Machines
      4 #   Corporation and others.  All Rights Reserved.
      5 #
      6 #******************************************************************************
      7 ## Top-level Makefile.in for ICU
      8 ## Stephen F. Booth
      9 
     10 ## Source directory information
     11 srcdir = .
     12 top_srcdir = ../..
     13 
     14 top_builddir = ../..
     15 
     16 include $(top_builddir)/icudefs.mk
     17 
     18 ## Build directory information
     19 subdir = test/testdata
     20 
     21 ## Files to remove for 'make clean'
     22 CLEANFILES = *~ 
     23 
     24 SUBDIRS = 
     25 
     26 ## List of phony targets
     27 .PHONY : all all-local all-recursive install install-local	\
     28 install-recursive clean clean-local clean-recursive distclean	\
     29 distclean-local distclean-recursive doc dist dist-local dist-recursive	\
     30 check check-local check-recursive build-dir java-output
     31 
     32 .NOTPARALLEL: build-dir
     33 
     34 ## Clear suffix list
     35 .SUFFIXES :
     36 
     37 ## List of standard targets
     38 all: all-local
     39 install: install-local
     40 clean: clean-local
     41 distclean : distclean-local
     42 dist: dist-local
     43 check: all check-local
     44 
     45 all-local: build-dir build-testdata testdata packagetest
     46 
     47 install-local: 
     48 
     49 dist-local:
     50 
     51 clean-local:
     52 	test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
     53 	$(RMV) $(TESTOUTDIR)
     54 
     55 distclean-local: clean-local
     56 	$(RMV) Makefile pkgdata.inc
     57 
     58 check-local:
     59 
     60 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
     61 	cd $(top_builddir) \
     62 	&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
     63 
     64 pkgdata.inc: $(srcdir)/pkgdata.inc.in Makefile $(top_builddir)/config.status
     65 	cd $(top_builddir) \
     66 	&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
     67 
     68 
     69 #########################################################################
     70 ############################## Test ## stuff ############################
     71 
     72 ifeq ($(PKGDATA_OPTS),)
     73 PKGDATA_OPTS = -O $(top_builddir)/test/testdata/pkgdata.inc
     74 endif
     75 
     76 # relative lib links from pkgdata are the same as for tmp
     77 GENRBOPTS=-k
     78 TOOLDIR=$(top_builddir)/tools
     79 SRCDATADIR=$(top_srcdir)/data
     80 UNICODEDATADIR=$(SRCDATADIR)/unidata
     81 OUTDIR=$(top_builddir)/data/out
     82 OUTTMPDIR=$(top_builddir)/data/out/tmp
     83 BUILDDIR=$(OUTDIR)/build/$(ICUDATA_PLATFORM_NAME)
     84 TESTSRCDATADIR=$(top_srcdir)/test/testdata
     85 TESTOUTDIR=$(top_builddir)/test/testdata/out
     86 BUILD_DIRS = $(TESTOUTDIR) $(TESTBUILDDIR) $(TESTOUTDIR)/$(TESTDT)
     87 
     88 ifeq ($(PKGDATA_MODE),common)
     89 ICU_DATA_OPT = -i $(OUTDIR)
     90 else
     91 ifeq ($(PKGDATA_MODE),dll)
     92 ifneq ($(ENABLE_SHARED),YES)
     93 ICU_DATA_OPT = -i $(BUILDDIR)
     94 else
     95 ICU_DATA_OPT =
     96 endif
     97 else
     98 ICU_DATA_OPT = -i $(BUILDDIR)
     99 endif
    100 endif
    101 
    102 PKGDATA = $(BINDIR)/pkgdata $(PKGDATA_OPTS) -q -c -s $(CURDIR)/out/build/$(ICUDATA_PLATFORM_NAME)
    103 PKGDATA_INVOKE:=$(INVOKE) $(PKGDATA_INVOKE_OPTS)
    104 
    105 # Contains all 'intermediate' files (and temp files) except for 'unpackaged data' below
    106 TESTBUILDDIR=$(TESTOUTDIR)/build
    107 
    108 # unpackaged files  - live in 'out' so that the path can find them as part of the pkg
    109 UNPACKAGEDTESTDATA=$(TESTOUTDIR)/$(TESTDT)/nam.typ
    110 
    111 # pkg name for testdata
    112 TESTDATA=testdata
    113 # prefix for files that are testdata
    114 TESTDT=$(TESTDATA)
    115 
    116 # File definitions 
    117 TEST_DAT_FILES=$(TESTBUILDDIR)/test.icu
    118 TEST_SPP_FILES=$(TESTBUILDDIR)/nfscsi.spp $(TESTBUILDDIR)/nfscss.spp $(TESTBUILDDIR)/nfscis.spp $(TESTBUILDDIR)/nfsmxs.spp $(TESTBUILDDIR)/nfsmxp.spp
    119 
    120 TEST_UCM_SOURCE= test1.ucm test3.ucm test4.ucm test4x.ucm ibm9027.ucm
    121 TEST_UCM_FILES=$(TEST_UCM_SOURCE:%=$(TESTSRCDATADIR)/data/%)
    122 TEST_CNV_FILES=$(TEST_UCM_SOURCE:%.ucm=$(TESTBUILDDIR)/%.cnv)
    123 
    124 # import the shared .mk file
    125 include $(TESTSRCDATADIR)/tstfiles.mk
    126 
    127 # TEST_RES_SOURCE comes from tstfiles.mk
    128 TEST_RES = $(TEST_RES_SOURCE) 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
    129 TEST_RES_FILES=$(TEST_RES:%.txt=$(TESTBUILDDIR)/%.res) $(TESTBUILDDIR)/iscii.res $(TESTBUILDDIR)/icu26_testtypes.res $(TESTBUILDDIR)/icu26e_testtypes.res
    130 
    131 ALL_TEST_FILES = $(TEST_DAT_FILES) $(TEST_SPP_FILES) $(TEST_BRK_FILES) $(TEST_CNV_FILES) $(TEST_RES_FILES) $(TESTOUTDIR)/$(TESTDT)/nam.typ
    132 
    133 # list
    134 
    135 $(TESTBUILDDIR)/testdata.lst: $(SRCLISTDEPS)
    136 	@echo "generating $@ (list of data files)"
    137 	@-$(RMV) $@
    138 	@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 \
    139 	  echo $$file >> $@; \
    140 	done;
    141 
    142 
    143 build-testdata: build-dir $(ALL_TEST_FILES) $(TESTBUILDDIR)/testdata.lst $(TESTBUILDDIR)/iscii.res
    144 
    145 # test.icu
    146 $(TESTBUILDDIR)/test.icu: $(TOOLDIR)/gentest/gentest$(EXEEXT)
    147 	$(INVOKE) $(TOOLDIR)/gentest/gentest -d $(TESTBUILDDIR) 
    148 
    149 $(TESTBUILDDIR)/testtable32.txt:  $(TOOLDIR)/gentest/gentest$(EXEEXT)
    150 	$(INVOKE) $(TOOLDIR)/gentest/gentest -r -d $(TESTBUILDDIR) 
    151 
    152 # java output
    153 java-output: $(JAVA_OUT_DIR)/DebugUtilitiesData.java
    154 
    155 $(JAVA_OUT_DIR)/DebugUtilitiesData.java:  $(TOOLDIR)/gentest/gentest$(EXEEXT)
    156 	$(MKINSTALLDIRS) $(JAVA_OUT_DIR)
    157 	$(INVOKE) $(TOOLDIR)/gentest/gentest -j -d $(JAVA_OUT_DIR)
    158 
    159 
    160 $(TESTBUILDDIR)/testtable32.res: $(TESTBUILDDIR)/testtable32.txt $(BINDIR)/genrb$(EXEEXT)
    161 	$(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -s $(TESTBUILDDIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) $(<F)
    162 
    163 # Targets for nfscsi.spp
    164 $(TESTBUILDDIR)/nfscsi.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_cs_prep_ci.txt
    165 	@echo Building nfscsi.icu
    166 	$(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfscsi -u 3.2.0 nfs4_cs_prep_ci.txt
    167 
    168 # Targets for nfscss.spp
    169 $(TESTBUILDDIR)/nfscss.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_cs_prep_cs.txt
    170 	@echo Building nfscss.icu
    171 	$(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfscss -u 3.2.0 nfs4_cs_prep_cs.txt
    172 
    173 # Targets for nfscis.spp
    174 $(TESTBUILDDIR)/nfscis.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_cis_prep.txt
    175 	@echo Building nfscis.spp
    176 	$(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfscis -k -n $(UNICODEDATADIR) -u 3.2.0 nfs4_cis_prep.txt
    177 
    178 # Targets for nfsmxs.spp
    179 $(TESTBUILDDIR)/nfsmxs.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_mixed_prep_s.txt
    180 	@echo Building nfsmxs.spp
    181 	$(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfsmxs -k -n $(UNICODEDATADIR) -u 3.2.0 nfs4_mixed_prep_s.txt
    182 
    183 # Targets for nfsmxp.spp
    184 $(TESTBUILDDIR)/nfsmxp.spp: $(BINDIR)/gensprep$(EXEEXT) $(TESTSRCDATADIR)/nfs4_mixed_prep_p.txt
    185 	@echo Building nfsmxp.spp
    186 	$(INVOKE) $(BINDIR)/gensprep -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) -b nfsmxp -k -n $(UNICODEDATADIR) -u 3.2.0 nfs4_mixed_prep_p.txt
    187 
    188 $(TESTBUILDDIR)/%.cnv: $(TESTSRCDATADIR)/%.ucm $(BINDIR)/makeconv$(EXEEXT)
    189 	$(INVOKE) $(BINDIR)/makeconv -c -d $(TESTBUILDDIR) $(TESTSRCDATADIR)/$(<F)
    190 
    191 $(TESTBUILDDIR)/%.res: $(TESTSRCDATADIR)/%.txt $(BINDIR)/genrb$(EXEEXT) $(DAT_FILES)
    192 	$(INVOKE) $(BINDIR)/genrb $(GENRBOPTS) -q -s $(TESTSRCDATADIR) $(ICU_DATA_OPT) -d $(TESTBUILDDIR) $(<F)
    193 
    194 $(TESTBUILDDIR)/iscii.res:  $(TESTSRCDATADIR)/iscii.bin $(BINDIR)/genrb$(EXEEXT)
    195 	@echo Testing genrb -e option
    196 	@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 $@ )
    197 	@echo Finished testing genrb -e option
    198 
    199 ################################################################### TYP
    200 # TYP FILES
    201 
    202 $(TESTOUTDIR)/$(TESTDT)/nam.typ: $(TESTBUILDDIR)/te_IN.res
    203 	cp $< $@
    204 $(TESTBUILDDIR)/icu26_testtypes.res: $(TESTSRCDATADIR)/icu26_testtypes.res
    205 	cp $< $@
    206 $(TESTBUILDDIR)/icu26e_testtypes.res: $(TESTSRCDATADIR)/icu26e_testtypes.res
    207 	cp $< $@
    208 
    209 testdata: build-dir $(ALL_TEST_FILES) $(UNPACKAGEDTESTDATA)
    210 
    211 #$(ALL_TEST_FILES) $(TESTBUILDDIR)/testtable32.txt $(TESTBUILDDIR)/testdata.lst: build-dir
    212 
    213 packagetest: build-dir testdata pkgdata.inc $(TESTBUILDDIR)/testdata.lst 
    214 	$(PKGDATA_INVOKE) $(PKGDATA) -T $(TESTBUILDDIR) -d $(TESTOUTDIR) -s $(TESTBUILDDIR) -p $(TESTDATA) -m common $(TESTBUILDDIR)/testdata.lst
    215 
    216 build-dir: $(BUILD_DIRS)
    217 $(BUILD_DIRS):
    218 	-$(MKINSTALLDIRS) $(BUILD_DIRS)
    219 
    220 
    221