* tools/beagle-crawl-system.in: Use MONO_SHARED_DIR to point to a
[beagle.git] / Util / Makefile.am
blobfcfb1773249eaea6405b21c307ca41970a39ab7c
1 # Warnings we don't want to see
2 # 0169 = The private field is never used
4 CSC = mcs -debug -nowarn:0169
5 CSFLAGS = -target:library
7 UTIL_TARGET = Util.dll
8 UTIL_TARGET_CONFIG = $(UTIL_TARGET).config
10 UI_UTIL_TARGET = UiUtil.dll
11 UI_UTIL_TARGET_CONFIG = $(UI_UTIL_TARGET).config
13 if OS_LINUX
14 CSFLAGS += -define:OS_LINUX
15 endif
17 if OS_FREEBSD
18 CSFLAGS += -define:OS_FREEBSD
19 endif
21 if ENABLE_WEBSERVICES
22 CSFLAGS += -define:ENABLE_WEBSERVICES
23 endif
25 EXTSTR = ExternalStringsHack.cs
26 EXTSTR_IN = $(srcdir)/$(EXTSTR).in
27 $(EXTSTR): $(EXTSTR_IN)
28         sed     -e "s|\@prefix\@|$(prefix)|g"                   \
29                 -e "s|\@sysconfdir\@|$(sysconfdir)|g"           \
30                 -e "s|\@pkglibdir\@|$(pkglibdir)|g"             \
31                 -e "s|\@pkgdatadir\@|$(pkgdatadir)|g"           \
32                 -e "s|\@localstatedir\@|$(localstatedir)|g"     \
33                 -e "s|\@VERSION\@|$(VERSION)|g"                 \
34                 -e "s|\@GNOME_PREFIX\@|$(GNOME_PREFIX)|g"       \
35                 -e "s|\@KDE_PREFIX\@|$(KDE_PREFIX)|g"           \
36                 -e "s|\@SQLITE_MAJ_VER\@|$(SQLITE_MAJ_VER)|g"   \
37                 < $(EXTSTR_IN) > $@
39 UTIL_CSFILES =                                  \
40         $(srcdir)/ArrayFu.cs                    \
41         $(srcdir)/BetterBitArray.cs             \
42         $(srcdir)/EndianConverter.cs            \
43         $(srcdir)/camel.cs                      \
44         $(srcdir)/CommandLineFu.cs              \
45         $(srcdir)/Conf.cs                       \
46         $(srcdir)/DelayedTextWriter.cs          \
47         $(srcdir)/DigikamTags.cs                \
48         $(srcdir)/DirectoryWalker.cs            \
49         $(srcdir)/Evolution.cs                  \
50         $(srcdir)/ExceptionHandlingThread.cs    \
51         $(srcdir)/ExifData.cs                   \
52         $(srcdir)/ExtendedAttribute.cs          \
53         $(srcdir)/FileAdvise.cs                 \
54         $(srcdir)/FileSystem.cs                 \
55         $(srcdir)/FrequencyStatistics.cs        \
56         $(srcdir)/FSpotTools.cs                 \
57         $(srcdir)/GuidFu.cs                     \
58         $(srcdir)/ImBuddy.cs                    \
59         $(srcdir)/ImLog.cs                      \
60         $(srcdir)/Inotify.cs                    \
61         $(srcdir)/IoPriority.cs                 \
62         $(srcdir)/JpegHeader.cs                 \
63         $(srcdir)/KdeUtils.cs                   \
64         $(srcdir)/KonqHistoryUtil.cs            \
65         $(srcdir)/Log.cs                        \
66         $(srcdir)/Logger.cs                     \
67         $(srcdir)/MetadataStore.cs              \
68         $(srcdir)/Mozilla.cs                    \
69         $(srcdir)/MultiReader.cs                \
70         $(srcdir)/NautilusTools.cs              \
71         $(srcdir)/Note.cs                       \
72         $(srcdir)/PathFinder.cs                 \
73         $(srcdir)/PngHeader.cs                  \
74         $(srcdir)/PullingReader.cs              \
75         $(srcdir)/ReflectionFu.cs               \
76         $(srcdir)/SafeProcess.cs                \
77         $(srcdir)/Scheduler.cs                  \
78         $(srcdir)/SmallIntArray.cs              \
79         $(srcdir)/Stopwatch.cs                  \
80         $(srcdir)/StringFu.cs                   \
81         $(srcdir)/StringMatcher.cs              \
82         $(srcdir)/SystemInformation.cs          \
83         $(srcdir)/TeeTextWriter.cs              \
84         $(srcdir)/ThreadPond.cs                 \
85         $(srcdir)/Tiff.cs                       \
86         $(srcdir)/Timeline.cs                   \
87         $(srcdir)/TopScores.cs                  \
88         $(srcdir)/UnclosableStream.cs           \
89         $(srcdir)/UriFu.cs                      \
90         $(srcdir)/XdgMime.cs                    \
91         $(srcdir)/XmlFu.cs                      \
92         $(srcdir)/XmpFile.cs                    \
93         $(srcdir)/SemWeb/ForwardLogic.cs                \
94         $(srcdir)/SemWeb/KnowledgeModel.cs              \
95         $(srcdir)/SemWeb/MemoryStore.cs         \
96         $(srcdir)/SemWeb/N3Parser.cs                    \
97         $(srcdir)/SemWeb/N3Writer.cs                    \
98         $(srcdir)/SemWeb/NamespaceManager.cs            \
99         $(srcdir)/SemWeb/Query.cs                       \
100         $(srcdir)/SemWeb/RdfParser.cs                   \
101         $(srcdir)/SemWeb/RdfWriter.cs                   \
102         $(srcdir)/SemWeb/Reasoning.cs                   \
103         $(srcdir)/SemWeb/Resource.cs                    \
104         $(srcdir)/SemWeb/RSquary.cs                     \
105         $(srcdir)/SemWeb/RSquaryFilters.cs              \
106         $(srcdir)/SemWeb/Sparql.cs                      \
107         $(srcdir)/SemWeb/SQLStore.cs                    \
108         $(srcdir)/SemWeb/Statement.cs                   \
109         $(srcdir)/SemWeb/Store.cs                       \
110         $(srcdir)/SemWeb/UriMap.cs                      \
111         $(srcdir)/SemWeb/Util.cs                        \
112         $(srcdir)/SemWeb/XmlParser.cs                   \
113         $(srcdir)/SemWeb/XmlWriter.cs                   \
114         $(srcdir)/SemWeb/XPathSemWebNavigator.cs
117 if HAS_LIBCHM 
118 UTIL_CSFILES +=                                 \
119         $(srcdir)/ChmFile.cs
120 endif
122 UTIL_ASSEMBLIES =                               \
123         $(BEAGLED_LIBS)                         \
124         -r:System.Web.Services                  \
125         -r:System.Data                          \
126         -r:Mono.Data.SqliteClient               \
127         -r:Mono.Posix                           \
128         -r:System.Web                           \
129         -r:ICSharpCode.SharpZipLib
131 if ENABLE_GALAGO
132 UTIL_CSFILES +=                                 \
133         $(srcdir)/Galago.cs
135 UTIL_ASSEMBLIES +=                              \
136         $(GALAGO_LIBS)
137 endif
139 if ENABLE_INOTIFY
140 INOTIFY_EXE = Inotify.exe
141 CSFLAGS += -define:ENABLE_INOTIFY
142 else
143 INOTIFY_EXE =
144 endif
146 UTIL_TARGET_FILES = $(UTIL_CSFILES) $(EXTSTR)
148 if ENABLE_GOOGLEDRIVER
149 GOOGLE_WSDL = $(srcdir)/GoogleSearch.wsdl
150 GOOGLE_CS   = GoogleSearch.cs
152 $(GOOGLE_CS): $(GOOGLE_WSDL)
153         wsdl -namespace:Beagle.Util -out:$@ $^
155 UTIL_TARGET_FILES +=                            \
156         $(GOOGLE_CS)
157 endif
159 $(UTIL_TARGET): $(UTIL_TARGET_FILES)
160         $(CSC) -unsafe -out:$@ $(CSFLAGS) $^ $(UTIL_ASSEMBLIES)
162 UI_UTIL_CSFILES =                               \
163         $(srcdir)/CompatFileChooser.cs          \
164         $(srcdir)/GnomeFu.cs                    \
165         $(srcdir)/GtkUtils.cs                   \
166         $(srcdir)/HigMessageDialog.cs           \
167         $(srcdir)/XKeybinder.cs
169 UI_UTIL_ASSEMBLIES =                            \
170         $(BEAGLE_UI_LIBS)                       \
171         -r:Util.dll
173 $(UI_UTIL_TARGET): $(UI_UTIL_CSFILES) $(UTIL_TARGET)
174         $(CSC) -unsafe -out:$@ $(CSFLAGS) $(UI_UTIL_CSFILES) $(UI_UTIL_ASSEMBLIES)
176 INOTIFY_TEST_CSFILES =                          \
177         $(srcdir)/Inotify.cs                    \
178         $(srcdir)/Log.cs                        \
179         $(srcdir)/Logger.cs                     \
180         $(srcdir)/DelayedTextWriter.cs          \
181         $(srcdir)/TeeTextWriter.cs              \
182         $(srcdir)/DirectoryWalker.cs            \
183         $(srcdir)/FileSystem.cs                 \
184         $(srcdir)/ExceptionHandlingThread.cs
186 Inotify.exe: $(INOTIFY_TEST_CSFILES)
187         $(CSC) -unsafe -out:$@ $^ -r:Mono.Posix -define:INOTIFY_TEST -define:ENABLE_INOTIFY
189 ALL_TARGETS =                   \
190         $(UTIL_TARGET)          \
191         $(INOTIFY_EXE)
193 if ENABLE_GUI
194 ALL_TARGETS += $(UI_UTIL_TARGET)
195 endif
197 all: $(ALL_TARGETS)
199 install-data-local: $(ALL_TARGETS)
200         $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
201         $(INSTALL_DATA) $(UTIL_TARGET) $(UTIL_TARGET).mdb $(UTIL_TARGET_CONFIG) $(DESTDIR)$(pkglibdir)
202 if ENABLE_GUI
203         $(INSTALL_DATA) $(UI_UTIL_TARGET) $(UI_UTIL_TARGET).mdb $(srcdir)/$(UI_UTIL_TARGET_CONFIG) $(DESTDIR)$(pkglibdir)
204 endif
206 uninstall-local:
207         rm -f $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET) $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET).mdb $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET_CONFIG)
208         rm -f $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET) $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET).mdb $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET_CONFIG)
211 COND_CS_FILES =                 \
212         $(srcdir)/ChmFile.cs    \
213         $(srcdir)/Galago.cs
215 EXTRA_DIST =                    \
216         $(EXTSTR_IN)            \
217         $(UTIL_CSFILES)         \
218         $(UI_UTIL_CSFILES)      \
219         $(COND_CS_FILES)        \
220         UiUtil.dll.config       \
221         Util.dll.config.in      \
222         inotify-test
224 CLEANFILES =                    \
225         $(EXTSTR)               \
226         $(UTIL_TARGET)          \
227         $(UTIL_TARGET).mdb      \
228         $(UI_UTIL_TARGET)       \
229         $(UI_UTIL_TARGET).mdb   \
230         Inotify.exe             \
231         Inotify.exe.mdb
233 if ENABLE_GOOGLEDRIVER
234 EXTRA_DIST +=                   \
235         $(GOOGLE_WSDL)
237 CLEANFILES +=                   \
238         $(GOOGLE_CS)
239 endif