include Makefile.conf

INCS = $(CLUCENE_INC)
LIBS = $(CLUCENE_LIB)
FLAGS = $(CPP_FLAGS)

OBJS =  KoreanAnalyzer.o 	\
	KoreanTokenizer.o 	\
	KoreanFilter.o

MORPH_OBJS = morph/AnalysisOutput.o	\
	     morph/MorphAnalyzer.o	

UTILS_OBJS = utils/DictionaryUtil.o	\
	     utils/SyllableUtil.o	\
	     utils/MorphUtil.o		\
	     utils/EomiUtil.o		\
	     utils/IrregularUtil.o	\
	     utils/NounUtil.o		\
	     utils/VerbUtil.o

OUTFILE = libclucene-koreananalyzer.so

all: $(OBJS)
	cd utils; make
	cd morph; make
#	re2c -uis KoreanTokenizer.re > KoreanTokenizer.cpp
	g++ $(OBJS) $(MORPH_OBJS) $(UTILS_OBJS) -shared $(INCS) $(LIBS) $(FLAGS) -o $(OUTFILE)

KoreanTokenizer.o : KoreanTokenizer.cpp
	g++ -c KoreanTokenizer.cpp $(INCS) $(FLAGS)

KoreanAnalyzer.o : KoreanAnalyzer.cpp
	g++ -c KoreanAnalyzer.cpp $(INCS) $(FLAGS)

KoreanFilter.o : KoreanFilter.cpp
	g++ -c KoreanFilter.cpp $(INCS) $(FLAGS)

clean:
	cd utils; make clean
	cd morph; make clean
	rm -f $(OBJS) $(OUTFILE)
