117 lines
4.6 KiB
Makefile
117 lines
4.6 KiB
Makefile
########################################################-*-mode:Makefile-*-
|
|
## ##
|
|
## Language Technologies Institute ##
|
|
## Carnegie Mellon University ##
|
|
## Copyright (c) 2000-2008 ##
|
|
## 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_f0_trees.c
|
|
CSRCS += $(VOICENAME)_cg_durmodel.c
|
|
CSRCS += $(VOICENAME)_cg_phonestate.c
|
|
# Identify which .c param files are used (static+delta/single)
|
|
include paramfiles.mak
|
|
ifeq ($(PARAMMODEL),multimodel)
|
|
CSRCS += $(VOICENAME)_cg_static_mcep_trees.c $(VOICENAME)_cg_static_params.c
|
|
CSRCS += $(VOICENAME)_cg_delta_mcep_trees.c $(VOICENAME)_cg_delta_params.c
|
|
else
|
|
# Single model
|
|
CSRCS += $(VOICENAME)_cg_single_mcep_trees.c $(VOICENAME)_cg_single_params.c
|
|
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 ls $(VOICENAME)_mcep_*.c)
|
|
MCEPOBJS = $(MCEPSRCS:.c=.o)
|
|
LPCSRCS= $(shell ls $(VOICENAME)_lpc_*.c)
|
|
LPCOBJS = $(LPCSRCS:.c=.o)
|
|
RESSRCS= $(shell ls $(VOICENAME)_res_*.c)
|
|
RESOBJS = $(RESSRCS:.c=.o)
|
|
endif
|
|
endif
|
|
|
|
OBJS = $(CSRCS:.c=.o) $(LPCOBJS) $(MCEPOBJS) $(RESOBJS)
|
|
|
|
ALL = .build_lib flite_$(VOICENAME)
|
|
|
|
include $(FLITEDIR)/config/common_make_rules
|
|
|
|
LIBDIR=.
|
|
ifdef SHFLAGS
|
|
ALL += lib$(VOICENAME).so
|
|
endif
|
|
|
|
$(VOICENAME)_lpc.o: $(VOICENAME)_lpc.c
|
|
$(CC) -I. -I$(FLITEDIR)/include -c -o $@ $<
|
|
|
|
$(VOICENAME)_mcep.o: $(VOICENAME)_mcep.c
|
|
$(CC) -I. -I$(FLITEDIR)/include -c -o $@ $<
|
|
|
|
flite_$(VOICENAME): flite_main.o flite_voice_list.o $(FLITELIBS) lib$(VOICENAME).a
|
|
$(CC) $(CFLAGS) -o $@ flite_main.o flite_voice_list.o $(LOCAL_LIBS) $(LOCAL_LANGLEX_LIBS) $(FLITELIBFLAGS) $(LDFLAGS)
|
|
|
|
.build_lib: $(OBJS)
|
|
@ $(AR) cruv $(LIBDIR)/lib$(VOICENAME).a $(OBJS)
|
|
@ $(RANLIB) $(LIBDIR)/lib$(VOICENAME).a
|
|
@ touch .build_lib
|
|
|
|
flite_voice_list.c:
|
|
$(TOP)/tools/make_voice_list $(VOICES)
|
|
|
|
|