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= $(WIN32RES) dict_snowball.o api.o utilities.o \
20	stem_ISO_8859_1_danish.o \
21	stem_ISO_8859_1_dutch.o \
22	stem_ISO_8859_1_english.o \
23	stem_ISO_8859_1_finnish.o \
24	stem_ISO_8859_1_french.o \
25	stem_ISO_8859_1_german.o \
26	stem_ISO_8859_1_hungarian.o \
27	stem_ISO_8859_1_italian.o \
28	stem_ISO_8859_1_norwegian.o \
29	stem_ISO_8859_1_porter.o \
30	stem_ISO_8859_1_portuguese.o \
31	stem_ISO_8859_1_spanish.o \
32	stem_ISO_8859_1_swedish.o \
33	stem_ISO_8859_2_romanian.o \
34	stem_KOI8_R_russian.o \
35	stem_UTF_8_danish.o \
36	stem_UTF_8_dutch.o \
37	stem_UTF_8_english.o \
38	stem_UTF_8_finnish.o \
39	stem_UTF_8_french.o \
40	stem_UTF_8_german.o \
41	stem_UTF_8_hungarian.o \
42	stem_UTF_8_italian.o \
43	stem_UTF_8_norwegian.o \
44	stem_UTF_8_porter.o \
45	stem_UTF_8_portuguese.o \
46	stem_UTF_8_romanian.o \
47	stem_UTF_8_russian.o \
48	stem_UTF_8_spanish.o \
49	stem_UTF_8_swedish.o \
50	stem_UTF_8_turkish.o
51
52# first column is language name and also name of dictionary for not-all-ASCII
53# words, second is name of dictionary for all-ASCII words
54# Note order dependency: use of some other language as ASCII dictionary
55# must come after creation of that language
56LANGUAGES=  \
57	danish		danish 		\
58	dutch 		dutch 		\
59	english 	english		\
60	finnish 	finnish		\
61	french 		french		\
62	german 		german		\
63	hungarian 	hungarian	\
64	italian 	italian		\
65	norwegian 	norwegian	\
66	portuguese 	portuguese	\
67	romanian 	romanian	\
68	russian 	english		\
69	spanish 	spanish		\
70	swedish 	swedish		\
71	turkish		turkish
72
73
74SQLSCRIPT= snowball_create.sql
75DICTDIR=tsearch_data
76
77VPATH += $(srcdir)/libstemmer
78
79NAME := dict_snowball
80rpath =
81
82all: all-shared-lib $(SQLSCRIPT)
83
84include $(top_srcdir)/src/Makefile.shlib
85
86$(SQLSCRIPT): Makefile snowball_func.sql.in snowball.sql.in
87	echo '-- Language-specific snowball dictionaries' > $@
88	cat $(srcdir)/snowball_func.sql.in >> $@
89	@set -e; \
90	set $(LANGUAGES) ; \
91	while [ "$$#" -gt 0 ] ; \
92	do \
93		lang=$$1; shift; \
94		nonascdictname=$$lang; \
95		ascdictname=$$1; shift; \
96		if [ -s $(srcdir)/stopwords/$${lang}.stop ] ; then \
97			stop=", StopWords=$${lang}" ; \
98		else \
99			stop=""; \
100		fi; \
101		cat $(srcdir)/snowball.sql.in | \
102			sed -e "s#_LANGNAME_#$$lang#g" | \
103			sed -e "s#_DICTNAME_#$${lang}_stem#g" | \
104			sed -e "s#_CFGNAME_#$$lang#g" | \
105			sed -e "s#_ASCDICTNAME_#$${ascdictname}_stem#g" | \
106			sed -e "s#_NONASCDICTNAME_#$${nonascdictname}_stem#g" | \
107			sed -e "s#_STOPWORDS_#$$stop#g" ; \
108	done >> $@
109
110install: all installdirs install-lib
111	$(INSTALL_DATA) $(SQLSCRIPT) '$(DESTDIR)$(datadir)'
112	@set -e; \
113	set $(LANGUAGES) ; \
114	while [ "$$#" -gt 0 ] ; \
115	do \
116		lang=$$1; shift; shift; \
117		if [ -s $(srcdir)/stopwords/$${lang}.stop ] ; then \
118			$(INSTALL_DATA) $(srcdir)/stopwords/$${lang}.stop '$(DESTDIR)$(datadir)/$(DICTDIR)' ; \
119		fi \
120	done
121
122installdirs: installdirs-lib
123	$(MKDIR_P) '$(DESTDIR)$(datadir)' '$(DESTDIR)$(datadir)/$(DICTDIR)'
124
125uninstall: uninstall-lib
126	rm -f '$(DESTDIR)$(datadir)/$(SQLSCRIPT)'
127	@set -e; \
128	set $(LANGUAGES) ; \
129	while [ "$$#" -gt 0 ] ; \
130	do \
131		lang=$$1; shift; shift;  \
132		if [ -s $(srcdir)/stopwords/$${lang}.stop ] ; then \
133		    rm -f '$(DESTDIR)$(datadir)/$(DICTDIR)/'$${lang}.stop ; \
134		fi \
135	done
136
137clean distclean maintainer-clean: clean-lib
138	rm -f $(OBJS) $(SQLSCRIPT)
139