14a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 24a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectLOCAL_PATH:= $(call my-dir) 33b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing Wang######################################## 44a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 54a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectcopy_from := \ 64a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project baseline11k.par \ 74a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project baseline8k.par \ 84a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project baseline.par \ 94a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project dictionary/basic.ok \ 104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project dictionary/enroll.ok \ 114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project dictionary/cmu6plus.ok.zip \ 124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project g2p/en-US-ttp.data \ 134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project models/generic.swiarb \ 144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project models/generic11.lda \ 154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project models/generic11_f.swimdl \ 164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project models/generic11_m.swimdl \ 174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project models/generic8.lda \ 184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project models/generic8_f.swimdl \ 194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project models/generic8_m.swimdl \ 204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectcopy_to := $(addprefix $(TARGET_OUT)/usr/srec/config/en.us/,$(copy_from)) 224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project$(copy_to) : $(TARGET_OUT)/usr/srec/config/en.us/% : $(LOCAL_PATH)/% | $(ACP) 244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(transform-prebuilt-to-target) 254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 263b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing Wang# ALL_PREBUILT is deprecated. Moved to config.mk 273b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing Wang# ALL_PREBUILT += $(copy_to) 284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# define paths to some grammar tools 314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectGRXML=$(HOST_OUT_EXECUTABLES)/grxmlcompile 324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectMAKE_G2G=$(HOST_OUT_EXECUTABLES)/make_g2g 334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectDEFAULT_PAR=$(ASR_ROOT_DIR)/config/en.us/baseline11k.par 344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectG2G_INSTALL_PATH=$(TARGET_OUT)/usr/srec/config/en.us/grammars 354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectsrec_grammars : \ 374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/enroll.g2g \ 384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/bothtags5.g2g \ 394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/dynamic-test.g2g \ 404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/digits.g2g \ 414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/boolean.g2g \ 424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/homonym_test1.g2g \ 434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/homonym_test2.g2g \ 444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/homonym_test3.g2g \ 454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/homonym_test4.g2g \ 464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/ipaq_commands.g2g \ 474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(G2G_INSTALL_PATH)/lookup.g2g \ 484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 493b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing Wang# ALL_PREBUILT is deprecated. Moved to config.mk 503b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing Wang# ALL_PREBUILT += $(G2G_INSTALL_PATH)/VoiceDialer.g2g \ 513b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing Wang# $(G2G_INSTALL_PATH)/boolean.g2g \ 523b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing Wang# $(G2G_INSTALL_PATH)/phone_type_choice.g2g 534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#--------------------------------------------------------------------------------- 554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# Explicit rules. 564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# Those without explicit rules are subject to the rule at the end of this makefile 574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#--------------------------------------------------------------------------------- 584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# This needs an explicit rule to specify the vocabulary (dictionary) 604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project$(G2G_INSTALL_PATH)/enroll.g2g: $(LOCAL_PATH)/grammars/enroll.grxml $(GRXML) $(MAKE_G2G) $(DEFAULT_PAR) $(LOCAL_PATH)/dictionary/enroll.ok 614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project mkdir -p $(G2G_INSTALL_PATH) 624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(GRXML) -par $(DEFAULT_PAR) -grxml $< -vocab dictionary/enroll.ok -outdir $(G2G_INSTALL_PATH) 634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(MAKE_G2G) -base $(G2G_INSTALL_PATH)/enroll,addWords=0 -out $@ 644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project (cd $(G2G_INSTALL_PATH); rm -f $*.Grev2.det.txt $*.map $*.omap $*.P.txt $*.params $*.PCLG.txt $*.script) 654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#--------------------------------------------------------------------------------- 684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# Those without explicit rules are subject to the rule below 694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#--------------------------------------------------------------------------------- 704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project$(G2G_INSTALL_PATH)/%.g2g: $(LOCAL_PATH)/grammars/%.grxml $(GRXML) $(MAKE_G2G) $(DEFAULT_PAR) $(LOCAL_PATH)/dictionary/cmu6plus.ok.zip 724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project mkdir -p $(G2G_INSTALL_PATH) 734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(GRXML) -par $(DEFAULT_PAR) -grxml $< -outdir $(G2G_INSTALL_PATH) 744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(MAKE_G2G) -base $(G2G_INSTALL_PATH)/$*,addWords=0 -out $@ 754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project (cd $(G2G_INSTALL_PATH); rm -f $*.Grev2.det.txt $*.map $*.omap $*.P.txt $*.params $*.PCLG.txt $*.script) 764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#----------------------------------------------------------------- 784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# this rule generates cmu6plus.ok.zip, which is built manually and checked in. 794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# the grxml compiler expects this (and other) data files to be here. 804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# $ g4 edit external/srec/config/en.us/dictionary/cmu6plus.ok.zip 814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# $ make cmu6plus.ok.zip 824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# 834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# To make the resulting zip as small as possible, install advzip from 844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# the advancecomp suite of compression utilities. (On ubuntu, 854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# "apt-get install advancecomp".) It makes the output about 10% smaller. 864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# This make rule will fall back to 'zip' if 'advzip' is not 874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# available. 884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#----------------------------------------------------------------- 894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectCMU2NUANCE=$(HOST_OUT_EXECUTABLES)/cmu2nuance 914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectDICT_DIR=$(ASR_ROOT_DIR)/config/en.us/dictionary 924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectcmu6plus.ok.zip: $(CMU2NUANCE) $(DICT_DIR)/c0.6 $(DICT_DIR)/numbers.ok $(DICT_DIR)/fixit.ok $(DICT_DIR)/enroll.ok 944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(CMU2NUANCE) < $(DICT_DIR)/c0.6 > $(DICT_DIR)/c0.6.ok 954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project sort -u $(DICT_DIR)/c0.6.ok $(DICT_DIR)/numbers.ok $(DICT_DIR)/fixit.ok $(DICT_DIR)/enroll.ok > $(DICT_DIR)/cmu6plus.ok 964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project $(hide) (cd $(DICT_DIR)/ && advzip -a -4 cmu6plus.ok.zip cmu6plus.ok || \ 974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project (zip cmu6plus.ok.zip cmu6plus.ok && \ 984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project echo -e "\n+++ advzip not installed; fell back to zip\n cmu6plus.ok.zip (`du -h cmu6plus.ok.zip | cut -f 1`) could be ~10% smaller with advzip\n")) 994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#----------------------------------------------------------------- 1024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project# build cmu2nuance dictionary conversion program, to prevent bitrot 1034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#----------------------------------------------------------------- 1043b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing Wanginclude $(CLEAR_VARS) 1053b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing WangLOCAL_SRC_FILES := dictionary/cmu2nuance.cpp 1063b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing WangLOCAL_MODULE := cmu2nuance 1073b86e1f2371f3bfb4b798d5c7671bf8ed79f5cafYing WangLOCAL_MODULE_TAGS := optional 1084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project 1094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projectinclude $(BUILD_HOST_EXECUTABLE) 110