########################################################-*-mode:Makefile-*-## #### Language Technologies Institute #### Carnegie Mellon University #### Copyright (c) 2000-2015 #### All Rights Reserved. #### #### Permission is hereby granted, free of charge, to use and distribute #### this software and its documentation without restriction, including #### without limitation the rights to use, copy, modify, merge, publish, #### distribute, sublicense, and/or sell copies of this work, and to #### permit persons to whom this work is furnished to do so, subject to #### the following conditions: #### 1. The code must retain the above copyright notice, this list of #### conditions and the following disclaimer. #### 2. Any modifications must be clearly marked as such. #### 3. Original authors' names are not deleted. #### 4. The authors' names are not used to endorse or promote products #### derived from this software without specific prior written #### permission. #### #### CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK #### DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING #### ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT #### SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE #### FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES #### WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN #### AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, #### ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF #### THIS SOFTWARE. #### #############################################################################FLITEDIR=__FLITEDIR__TOP=$(FLITEDIR)DIRNAME=fliteVOICENAME=__VOICENAME__VOICETYPE=__VOICETYPE__FLITE_LANG=__FLITELANG__FLITE_LEX=__FLITELEX__LOCAL_INCLUDES = -I$(TOP)/lang/$(FLITE_LANG) -I$(TOP)/lang/$(FLITE_LEX)LOCAL_LANGLEX_LIBS = -lflite_$(FLITE_LANG) -lflite_$(FLITE_LEX)LOCAL_LIBS = -L . -l$(VOICENAME) H = CSRCS = $(VOICENAME).cVOICES=$(VOICENAME)ifeq ($(VOICETYPE),diphone)## DiphoneCSRCS +=$(VOICENAME)_$(VOICETYPE).cCSRCS +=$(VOICENAME)_lpc.cCSRCS +=$(VOICENAME)_res.cCSRCS +=$(VOICENAME)_residx.celseifeq ($(VOICETYPE),cg)## ClustergenCSRCS += $(VOICENAME)_cg.cCSRCS += $(VOICENAME)_cg_phonestate.c# Identify which .c param files are used single or multi-rfsinclude paramfiles.makCSRCS += $(shell ls $(VOICENAME)_cg_*_f0_trees.c)CSRCS += $(shell ls $(VOICENAME)_cg_*_mcep_trees.c)CSRCS += $(shell ls $(VOICENAME)_cg_*_params.c)CSRCS += $(shell ls $(VOICENAME)_cg_*_durmodel.c)ifeq ($(SPAMF0),true)CSRCS += $(VOICENAME)_spamf0_phrase.c $(VOICENAME)_spamf0_accent.c $(VOICENAME)_spamf0_accent_params.cendififeq ($(CG_GRAPHEME),true)CSRCS += $(VOICENAME)_phoneset.c EXTRA_CC_FLAGS += -DCG_GRAPHEME=1endifMCEPOBJS =LPCOBJS =else## Clunits/ldomCSRCS += $(VOICENAME)_clunits.cCSRCS += $(VOICENAME)_cltrees.c $(VOICENAME)_lpc.c $(VOICENAME)_mcep.cCSRCS += $(VOICENAME)_cl_durmodel.cMCEPSRCS = $(shell if [ -f $(VOICENAME)_mcep_000.c ]; then ls $(VOICENAME)_mcep_*.c ; fi)MCEPOBJS = $(MCEPSRCS:.c=.o)LPCSRCS= $(shell if [ -f $(VOICENAME)_lpc_000.c ] ; then ls $(VOICENAME)_lpc_*.c; fi )LPCOBJS = $(LPCSRCS:.c=.o)RESSRCS= $(shell if [ -f $(VOICENAME)_res_000.c ] ; then ls $(VOICENAME)_res_*.c; fi )RESOBJS = $(RESSRCS:.c=.o)endifendifOBJS = $(CSRCS:.c=.o) $(LPCOBJS) $(MCEPOBJS) $(RESOBJS) ALL = lib$(VOICENAME).a flite_$(VOICENAME)include $(FLITEDIR)/config/common_make_rulesLIBDIR=.ifdef SHFLAGSALL += lib$(VOICENAME).soendif$(VOICENAME)_lpc.o: $(VOICENAME)_lpc.c $(CC) $(CFLAGS) -I. -I$(FLITEDIR)/include -c -o $@ $<$(VOICENAME)_mcep.o: $(VOICENAME)_mcep.c $(CC) $(CFLAGS) -I. -I$(FLITEDIR)/include -c -o $@ $<flite_$(VOICENAME): flite_main.o flite_voice_list.o flite_lang_list.o $(FLITELIBS) lib$(VOICENAME).a $(CC) $(CFLAGS) -o $@ flite_main.o flite_voice_list.o flite_lang_list.o $(LOCAL_LIBS) $(LOCAL_LANGLEX_LIBS) $(FLITELIBFLAGS) $(LDFLAGS)lib$(VOICENAME).a: $(OBJS) @ $(AR) cruv lib$(VOICENAME).a $(OBJS) @ $(RANLIB) lib$(VOICENAME).a @ touch .build_libflite_voice_list.c: $(TOP)/tools/make_voice_list $(VOICES)flite_lang_list.c: $(TOP)/tools/make_lang_list $(FLITE_LANG) $(FLITE_LEX)# Dump cg voice as single filevoicedump : flite_$(VOICENAME) ./flite_$(VOICENAME) -voicedump $(VOICENAME).flitevox# Add build date to the flitevox file $(FLITEDIR)/bin/flitevox_info -set build_date -val "`date`" -voice $(VOICENAME).flitevox# Run front end testsflitecheck: $(FLITEDIR)/bin/run_flitecheck $(VOICENAME).flitevox
########################################################-*-mode:Makefile-*-
## ##
## Language Technologies Institute ##
## Carnegie Mellon University ##
## Copyright (c) 2000-2015 ##
## All Rights Reserved. ##
## ##
## Permission is hereby granted, free of charge, to use and distribute ##
## this software and its documentation without restriction, including ##
## without limitation the rights to use, copy, modify, merge, publish, ##
## distribute, sublicense, and/or sell copies of this work, and to ##
## permit persons to whom this work is furnished to do so, subject to ##
## the following conditions: ##
## 1. The code must retain the above copyright notice, this list of ##
## conditions and the following disclaimer. ##
## 2. Any modifications must be clearly marked as such. ##
## 3. Original authors' names are not deleted. ##
## 4. The authors' names are not used to endorse or promote products ##
## derived from this software without specific prior written ##
## permission. ##
## ##
## CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK ##
## DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ##
## ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ##
## SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE ##
## FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ##
## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ##
## AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ##
## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ##
## THIS SOFTWARE. ##
## ##
###########################################################################
FLITEDIR=__FLITEDIR__
TOP=$(FLITEDIR)
DIRNAME=flite
VOICENAME=__VOICENAME__
VOICETYPE=__VOICETYPE__
FLITE_LANG=__FLITELANG__
FLITE_LEX=__FLITELEX__
LOCAL_INCLUDES = -I$(TOP)/lang/$(FLITE_LANG) -I$(TOP)/lang/$(FLITE_LEX)
LOCAL_LANGLEX_LIBS = -lflite_$(FLITE_LANG) -lflite_$(FLITE_LEX)
LOCAL_LIBS = -L . -l$(VOICENAME)
H =
CSRCS = $(VOICENAME).c
VOICES=$(VOICENAME)
ifeq ($(VOICETYPE),diphone)
## Diphone
CSRCS +=$(VOICENAME)_$(VOICETYPE).c
CSRCS +=$(VOICENAME)_lpc.c
CSRCS +=$(VOICENAME)_res.c
CSRCS +=$(VOICENAME)_residx.c
else
ifeq ($(VOICETYPE),cg)
## Clustergen
CSRCS += $(VOICENAME)_cg.c
CSRCS += $(VOICENAME)_cg_phonestate.c
# Identify which .c param files are used single or multi-rfs
include paramfiles.mak
CSRCS += $(shell ls $(VOICENAME)_cg_*_f0_trees.c)
CSRCS += $(shell ls $(VOICENAME)_cg_*_mcep_trees.c)
CSRCS += $(shell ls $(VOICENAME)_cg_*_params.c)
CSRCS += $(shell ls $(VOICENAME)_cg_*_durmodel.c)
ifeq ($(SPAMF0),true)
CSRCS += $(VOICENAME)_spamf0_phrase.c $(VOICENAME)_spamf0_accent.c $(VOICENAME)_spamf0_accent_params.c
endif
ifeq ($(CG_GRAPHEME),true)
CSRCS += $(VOICENAME)_phoneset.c
EXTRA_CC_FLAGS += -DCG_GRAPHEME=1
endif
MCEPOBJS =
LPCOBJS =
else
## Clunits/ldom
CSRCS += $(VOICENAME)_clunits.c
CSRCS += $(VOICENAME)_cltrees.c $(VOICENAME)_lpc.c $(VOICENAME)_mcep.c
CSRCS += $(VOICENAME)_cl_durmodel.c
MCEPSRCS = $(shell if [ -f $(VOICENAME)_mcep_000.c ]; then ls $(VOICENAME)_mcep_*.c ; fi)
MCEPOBJS = $(MCEPSRCS:.c=.o)
LPCSRCS= $(shell if [ -f $(VOICENAME)_lpc_000.c ] ; then ls $(VOICENAME)_lpc_*.c; fi )
LPCOBJS = $(LPCSRCS:.c=.o)
RESSRCS= $(shell if [ -f $(VOICENAME)_res_000.c ] ; then ls $(VOICENAME)_res_*.c; fi )
RESOBJS = $(RESSRCS:.c=.o)
endif
endif
OBJS = $(CSRCS:.c=.o) $(LPCOBJS) $(MCEPOBJS) $(RESOBJS)
ALL = lib$(VOICENAME).a flite_$(VOICENAME)
include $(FLITEDIR)/config/common_make_rules
LIBDIR=.
ifdef SHFLAGS
ALL += lib$(VOICENAME).so
endif
$(VOICENAME)_lpc.o: $(VOICENAME)_lpc.c
$(CC) $(CFLAGS) -I. -I$(FLITEDIR)/include -c -o $@ $<
$(VOICENAME)_mcep.o: $(VOICENAME)_mcep.c
$(CC) $(CFLAGS) -I. -I$(FLITEDIR)/include -c -o $@ $<
flite_$(VOICENAME): flite_main.o flite_voice_list.o flite_lang_list.o $(FLITELIBS) lib$(VOICENAME).a
$(CC) $(CFLAGS) -o $@ flite_main.o flite_voice_list.o flite_lang_list.o $(LOCAL_LIBS) $(LOCAL_LANGLEX_LIBS) $(FLITELIBFLAGS) $(LDFLAGS)
lib$(VOICENAME).a: $(OBJS)
@ $(AR) cruv lib$(VOICENAME).a $(OBJS)
@ $(RANLIB) lib$(VOICENAME).a
@ touch .build_lib
flite_voice_list.c:
$(TOP)/tools/make_voice_list $(VOICES)
flite_lang_list.c:
$(TOP)/tools/make_lang_list $(FLITE_LANG) $(FLITE_LEX)
# Dump cg voice as single file
voicedump : flite_$(VOICENAME)
./flite_$(VOICENAME) -voicedump $(VOICENAME).flitevox
# Add build date to the flitevox file
$(FLITEDIR)/bin/flitevox_info -set build_date -val "`date`" -voice $(VOICENAME).flitevox
# Run front end tests
flitecheck:
$(FLITEDIR)/bin/run_flitecheck $(VOICENAME).flitevox