ref: de6e99e8fd5210ec77df16b53da7618b61aa7f9d
dir: /tools/Makefile.flite/
########################################################-*-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