Makefile 2.83 KB
BIN = vlibras

CC = g++
FLAGS = -g

EXTRATORDIR  = extrator/src/
INPUTDIR     = input/src/
MIXERDIR     = mixer/src/
RECOGNIZEDIR = recognize/src/
RENDERDIR    = renderer/src/
SERVICODIR   = servico/src/
TRADUTORDIR  = tradutor/src/
UTILDIR      = util/src/

INCLUDES = \
 	-I $(EXTRATORDIR)include  \
 	-I $(INPUTDIR)include     \
 	-I $(MIXERDIR)include     \
	-I $(RECOGNIZEDIR)include \
 	-I $(RENDERDIR)include    \
 	-I $(SERVICODIR)include   \
 	-I $(TRADUTORDIR)include  \
	-I $(UTILDIR)include      \
	-I /usr/include/python2.7 \
 	-I /usr/include/julius    \
 	-I /usr/include/sent

CFLAGS = \
	`pkg-config --cflags jlibcpp` \
	`pkg-config --cflags jsoncpp` \
	$(INCLUDES)

LDFLAGS = \
	`pkg-config --libs jlibcpp` \
	`pkg-config --libs jsoncpp` \
	-lpython2.7 -llavid_base -llavid_io -llavid_net -ljulius -ldl -lsent

extratorOBJS = \
	extratorException.o \
	extratorFactory.o   \
	extratorSRT.o       \
	extratorTXT.o       \
	subtitle.o

inputOBJS = \
	inputException.o \
	inputFile.o

mixerOBJS = \
	mixer.o

recognizeOBJS = \
	audiofile.o          \
	recognize.o          \
 	recognizeException.o \
 	recognizer.o         \
 	wavcut.o

rendererOBJS = \
	renderer.o

servicoOBJS = \
	serviceException.o                \
	serviceTester.o                   \
 	serviceWindowGenerationFromRec.o  \
 	serviceWindowGenerationFromSRT.o  \
 	serviceWindowGenerationFromText.o

tradutorOBJS = \
	pyTradutor.o \
	tradutorPortGlosa.o

utilOBJS = \
	argParser.o \
	logging.o

extratorOBJSPre  = $(addprefix $(EXTRATORDIR),$(extratorOBJS) )
inputOBJSPre     = $(addprefix $(INPUTDIR),$(inputOBJS) )
mixerOBJSPre     = $(addprefix $(MIXERDIR),$(mixerOBJS) )
recognizeOBJSPre = $(addprefix $(RECOGNIZEDIR),$(recognizeOBJS) )
rendererOBJSPre  = $(addprefix $(RENDERDIR),$(rendererOBJS) )
servicoOBJSPre   = $(addprefix $(SERVICODIR),$(servicoOBJS) )
tradutorOBJSPre  = $(addprefix $(TRADUTORDIR),$(tradutorOBJS) )
utilOBJSPre      = $(addprefix $(UTILDIR),$(utilOBJS) )

OBJECTS = \
	$(extratorOBJSPre)  \
	$(inputOBJSPre)     \
	$(mixerOBJSPre)     \
	$(recognizeOBJSPre) \
	$(rendererOBJSPre)  \
	$(servicoOBJSPre)   \
	$(tradutorOBJSPre)  \
	$(utilOBJSPre)      \
	main.o

all: user_config compile

user_config:
	@if [ ! -e "vlibras_user" ];then \
		echo -n "Criando um link simbólico para este diretório...\n"; \
		sudo chmod +x link_config.sh; \
		sh link_config.sh; \
	fi

compile: $(OBJECTS)
	$(CC) $(CFLAGS) -o $(BIN) $(OBJECTS) $(LDFLAGS) $(FLAGS)

.cpp.o: $<
	$(CC) -DDEBUG_LEVEL=15 -c $< -o $@ $(LDFLAGS) $(CFLAGS) $(FLAGS)

clean:
	@find -iname "*.o" -exec rm {} \;
	@find -iname "vlibras" -exec rm {} \;
	@if [ -e "vlibras_user" ];then \
		echo -n "Removendo o link simbólico deste usuário...\n"; \
		rm vlibras_user; \
	fi
	@if [ -e "doc" ];then \
		echo -n "Removendo documentação...\n"; \
		rm -r doc; \
	fi
	
doc:
	@echo -n "Gerando Documentação...\n"; \
	doxygen doc_config