1#-------------------------------------------------------------------------
2#
3# Makefile for src/backend/snowball
4#
5# src/backend/snowball/Makefile
6#
7#-------------------------------------------------------------------------
8
9PGFILEDESC = "snowball - natural language stemmers"
10PGAPPICON = win32
11
12subdir = src/backend/snowball
13top_builddir = ../../..
14include $(top_builddir)/src/Makefile.global
15
16override CPPFLAGS := -I$(top_srcdir)/src/include/snowball \
17	-I$(top_srcdir)/src/include/snowball/libstemmer $(CPPFLAGS)
18
19OBJS = \
20	$(WIN32RES) \
21	api.o \
22	dict_snowball.o \
23	utilities.o
24
25OBJS += \
26	stem_ISO_8859_1_danish.o \
27	stem_ISO_8859_1_dutch.o \
28	stem_ISO_8859_1_english.o \
29	stem_ISO_8859_1_finnish.o \
30	stem_ISO_8859_1_french.o \
31	stem_ISO_8859_1_german.o \
32	stem_ISO_8859_1_indonesian.o \
33	stem_ISO_8859_1_irish.o \
34	stem_ISO_8859_1_italian.o \
35	stem_ISO_8859_1_norwegian.o \
36	stem_ISO_8859_1_porter.o \
37	stem_ISO_8859_1_portuguese.o \
38	stem_ISO_8859_1_spanish.o \
39	stem_ISO_8859_1_swedish.o \
40	stem_ISO_8859_2_hungarian.o \
41	stem_ISO_8859_2_romanian.o \
42	stem_KOI8_R_russian.o \
43	stem_UTF_8_arabic.o \
44	stem_UTF_8_danish.o \
45	stem_UTF_8_dutch.o \
46	stem_UTF_8_english.o \
47	stem_UTF_8_finnish.o \
48	stem_UTF_8_french.o \
49	stem_UTF_8_german.o \
50	stem_UTF_8_greek.o \
51	stem_UTF_8_hungarian.o \
52	stem_UTF_8_indonesian.o \
53	stem_UTF_8_irish.o \
54	stem_UTF_8_italian.o \
55	stem_UTF_8_lithuanian.o \
56	stem_UTF_8_nepali.o \
57	stem_UTF_8_norwegian.o \
58	stem_UTF_8_porter.o \
59	stem_UTF_8_portuguese.o \
60	stem_UTF_8_romanian.o \
61	stem_UTF_8_russian.o \
62	stem_UTF_8_spanish.o \
63	stem_UTF_8_swedish.o \
64	stem_UTF_8_tamil.o \
65	stem_UTF_8_turkish.o
66
67# first column is language name and also name of dictionary for not-all-ASCII
68# words, second is name of dictionary for all-ASCII words
69# Note order dependency: use of some other language as ASCII dictionary
70# must come after creation of that language
71LANGUAGES=  \
72	arabic		arabic		\
73	danish		danish		\
74	dutch		dutch		\
75	english		english		\
76	finnish		finnish		\
77	french		french		\
78	german		german		\
79	greek		greek		\
80	hungarian	hungarian	\
81	indonesian	indonesian	\
82	irish		irish		\
83	italian		italian		\
84	lithuanian	lithuanian	\
85	nepali		nepali		\
86	norwegian	norwegian	\
87	portuguese	portuguese	\
88	romanian	romanian	\
89	russian		english		\
90	spanish		spanish		\
91	swedish		swedish		\
92	tamil		tamil		\
93	turkish		turkish
94
95
96SQLSCRIPT= snowball_create.sql
97DICTDIR=tsearch_data
98
99VPATH += $(srcdir)/libstemmer
100
101NAME := dict_snowball
102rpath =
103
104all: all-shared-lib $(SQLSCRIPT)
105
106include $(top_srcdir)/src/Makefile.shlib
107
108$(SQLSCRIPT): Makefile snowball_func.sql.in snowball.sql.in
109	echo '-- Language-specific snowball dictionaries' > $@
110	cat $(srcdir)/snowball_func.sql.in >> $@
111	@set -e; \
112	set $(LANGUAGES) ; \
113	while [ "$$#" -gt 0 ] ; \
114	do \
115		lang=$$1; shift; \
116		nonascdictname=$$lang; \
117		ascdictname=$$1; shift; \
118		if [ -s $(srcdir)/stopwords/$${lang}.stop ] ; then \
119			stop=", StopWords=$${lang}" ; \
120		else \
121			stop=""; \
122		fi; \
123		cat $(srcdir)/snowball.sql.in | \
124			sed -e "s#_LANGNAME_#$$lang#g" | \
125			sed -e "s#_DICTNAME_#$${lang}_stem#g" | \
126			sed -e "s#_CFGNAME_#$$lang#g" | \
127			sed -e "s#_ASCDICTNAME_#$${ascdictname}_stem#g" | \
128			sed -e "s#_NONASCDICTNAME_#$${nonascdictname}_stem#g" | \
129			sed -e "s#_STOPWORDS_#$$stop#g" ; \
130	done >> $@
131
132install: all installdirs install-lib
133	$(INSTALL_DATA) $(SQLSCRIPT) '$(DESTDIR)$(datadir)'
134	@set -e; \
135	set $(LANGUAGES) ; \
136	while [ "$$#" -gt 0 ] ; \
137	do \
138		lang=$$1; shift; shift; \
139		if [ -s $(srcdir)/stopwords/$${lang}.stop ] ; then \
140			$(INSTALL_DATA) $(srcdir)/stopwords/$${lang}.stop '$(DESTDIR)$(datadir)/$(DICTDIR)' ; \
141		fi \
142	done
143
144installdirs: installdirs-lib
145	$(MKDIR_P) '$(DESTDIR)$(datadir)' '$(DESTDIR)$(datadir)/$(DICTDIR)'
146
147uninstall: uninstall-lib
148	rm -f '$(DESTDIR)$(datadir)/$(SQLSCRIPT)'
149	@set -e; \
150	set $(LANGUAGES) ; \
151	while [ "$$#" -gt 0 ] ; \
152	do \
153		lang=$$1; shift; shift;  \
154		if [ -s $(srcdir)/stopwords/$${lang}.stop ] ; then \
155		    rm -f '$(DESTDIR)$(datadir)/$(DICTDIR)/'$${lang}.stop ; \
156		fi \
157	done
158
159clean distclean maintainer-clean: clean-lib
160	rm -f $(OBJS) $(SQLSCRIPT)
161