Oops, fix a broken part of the patch
[beagle.git] / beagled / Makefile.am
blobd0e55ce596a278e18592aed31064f4972c5e96c7
2 # Warnings we don't want to see.
3 # Most of these are thanks to DotLucene.  It would be nice if we could use
4 # "#pragma warning" on these.
6 # 0162 = Unreachable code detected
7 # 0164 = This label has not been referenced
8 # 0169 = The private method/field 'foo' is never used
9 # 0219 = Variable is assigned but never used
10 # 0436 = Ignore imported type (local SqliteClient)
12 # unsafe arg for Mono.Data.SqliteClient fork
13 CSC = mcs -debug -nowarn:0162,0164,0169,0219,0436 -unsafe
15 BACKENDDIR = $(pkglibdir)/Backends
17 PLUGIN_TARGET = BeagleDaemonPlugins.dll
19 PLUGIN_CSFLAGS = -target:library
21 PLUGIN_CSFILES =                        \
22         $(srcdir)/Flavor.cs             \
23         $(srcdir)/Filter.cs
25 PLUGIN_LOCAL_ASSEMBLIES =               \
26         ../Util/Util.dll                \
27         ../BeagleClient/Beagle.dll
29 PLUGIN_ASSEMBLIES =                             \
30         -r:Mono.Posix                           \
31         $(BEAGLED_LIBS)                         \
32         $(PLUGIN_LOCAL_ASSEMBLIES:%=-r:%)
35 $(PLUGIN_TARGET): $(PLUGIN_CSFILES) $(PLUGIN_LOCAL_ASSEMBLIES)
36         $(CSC) -out:$@ $(PLUGIN_CSFLAGS) $(PLUGIN_CSFILES) $(PLUGIN_ASSEMBLIES)
38 ############################################################
40 WRAPPER_IN = wrapper.in
41 WRAPPER_SED = sed                                       \
42         -e "s|\@prefix\@|$(prefix)|g"                   \
43         -e "s|\@pkglibdir\@|$(pkglibdir)|g"             \
44         -e "s|\@libdir\@|$(libdir)|g"                   \
45         -e "s|\@evolibdir\@|$(EVO_LIBDIR)|g"            \
46         -e "s|\@gacprefix\@|$(GAC_PREFIX)|g"            \
47         -e "s|\@bash\@|$(BASH)|"                        \
48         -e "s|\@wrapper\@|$@|g"
50 ############################################################
52 lucenedir = $(srcdir)/Lucene.Net
54 LUCENE_1_9_CSFILES =                                                    \
55         $(lucenedir)/AssemblyInfo.cs                                    \
56         $(lucenedir)/LucenePackage.cs                                   \
57         $(lucenedir)/SupportClass.cs                                    \
58         $(lucenedir)/Store/BufferedIndexInput.cs                        \
59         $(lucenedir)/Store/BufferedIndexOutput.cs                       \
60         $(lucenedir)/Store/Directory.cs                                 \
61         $(lucenedir)/Store/FSDirectory.cs                               \
62         $(lucenedir)/Store/IndexInput.cs                                \
63         $(lucenedir)/Store/IndexOutput.cs                               \
64         $(lucenedir)/Store/InputStream.cs                               \
65         $(lucenedir)/Store/Lock.cs                                      \
66         $(lucenedir)/Store/MMapDirectory.cs                             \
67         $(lucenedir)/Store/OutputStream.cs                              \
68         $(lucenedir)/Store/RAMDirectory.cs                              \
69         $(lucenedir)/Store/RAMFile.cs                                   \
70         $(lucenedir)/Store/RAMInputStream.cs                            \
71         $(lucenedir)/Store/RAMOutputStream.cs                           \
72         $(lucenedir)/Util/BitVector.cs                                  \
73         $(lucenedir)/Util/Constants.cs                                  \
74         $(lucenedir)/Util/Parameter.cs                                  \
75         $(lucenedir)/Util/PriorityQueue.cs                              \
76         $(lucenedir)/Util/StringHelper.cs                               \
77         $(lucenedir)/Index/CompoundFileReader.cs                        \
78         $(lucenedir)/Index/CompoundFileWriter.cs                        \
79         $(lucenedir)/Index/DocumentWriter.cs                            \
80         $(lucenedir)/Index/FieldInfo.cs                                 \
81         $(lucenedir)/Index/FieldInfos.cs                                \
82         $(lucenedir)/Index/FieldsReader.cs                              \
83         $(lucenedir)/Index/FieldsWriter.cs                              \
84         $(lucenedir)/Index/FilterIndexReader.cs                         \
85         $(lucenedir)/Index/IndexReader.cs                               \
86         $(lucenedir)/Index/IndexWriter.cs                               \
87         $(lucenedir)/Index/MultipleTermPositions.cs                     \
88         $(lucenedir)/Index/MultiReader.cs                               \
89         $(lucenedir)/Index/SegmentInfo.cs                               \
90         $(lucenedir)/Index/SegmentInfos.cs                              \
91         $(lucenedir)/Index/SegmentMergeInfo.cs                          \
92         $(lucenedir)/Index/SegmentMergeQueue.cs                         \
93         $(lucenedir)/Index/SegmentMerger.cs                             \
94         $(lucenedir)/Index/SegmentReader.cs                             \
95         $(lucenedir)/Index/SegmentTermDocs.cs                           \
96         $(lucenedir)/Index/SegmentTermEnum.cs                           \
97         $(lucenedir)/Index/SegmentTermPositions.cs                      \
98         $(lucenedir)/Index/SegmentTermPositionVector.cs                 \
99         $(lucenedir)/Index/SegmentTermVector.cs                         \
100         $(lucenedir)/Index/Term.cs                                      \
101         $(lucenedir)/Index/TermBuffer.cs                                \
102         $(lucenedir)/Index/TermDocs.cs                                  \
103         $(lucenedir)/Index/TermEnum.cs                                  \
104         $(lucenedir)/Index/TermFreqVector.cs                            \
105         $(lucenedir)/Index/TermInfo.cs                                  \
106         $(lucenedir)/Index/TermInfosReader.cs                           \
107         $(lucenedir)/Index/TermInfosWriter.cs                           \
108         $(lucenedir)/Index/TermPositions.cs                             \
109         $(lucenedir)/Index/TermPositionVector.cs                        \
110         $(lucenedir)/Index/TermVectorOffsetInfo.cs                      \
111         $(lucenedir)/Index/TermVectorsReader.cs                         \
112         $(lucenedir)/Index/TermVectorsWriter.cs                         \
113         $(lucenedir)/Document/DateField.cs                              \
114         $(lucenedir)/Document/DateTools.cs                              \
115         $(lucenedir)/Document/Document.cs                               \
116         $(lucenedir)/Document/Field.cs                                  \
117         $(lucenedir)/Document/NumberTools.cs                            \
118         $(lucenedir)/Analysis/DE/WordlistLoader.cs                      \
119         $(lucenedir)/Analysis/Standard/CharStream.cs                    \
120         $(lucenedir)/Analysis/Standard/FastCharStream.cs                \
121         $(lucenedir)/Analysis/Standard/ParseException.cs                \
122         $(lucenedir)/Analysis/Standard/StandardAnalyzer.cs              \
123         $(lucenedir)/Analysis/Standard/StandardFilter.cs                \
124         $(lucenedir)/Analysis/Standard/StandardTokenizer.cs             \
125         $(lucenedir)/Analysis/Standard/StandardTokenizerConstants.cs    \
126         $(lucenedir)/Analysis/Standard/StandardTokenizerTokenManager.cs \
127         $(lucenedir)/Analysis/Standard/Token.cs                         \
128         $(lucenedir)/Analysis/Standard/TokenMgrError.cs                 \
129         $(lucenedir)/Analysis/Analyzer.cs                               \
130         $(lucenedir)/Analysis/CharTokenizer.cs                          \
131         $(lucenedir)/Analysis/LetterTokenizer.cs                        \
132         $(lucenedir)/Analysis/LowerCaseFilter.cs                        \
133         $(lucenedir)/Analysis/LowerCaseTokenizer.cs                     \
134         $(lucenedir)/Analysis/PerFieldAnalyzerWrapper.cs                \
135         $(lucenedir)/Analysis/PorterStemFilter.cs                       \
136         $(lucenedir)/Analysis/PorterStemmer.cs                          \
137         $(lucenedir)/Analysis/SimpleAnalyzer.cs                         \
138         $(lucenedir)/Analysis/StopAnalyzer.cs                           \
139         $(lucenedir)/Analysis/StopFilter.cs                             \
140         $(lucenedir)/Analysis/Token.cs                                  \
141         $(lucenedir)/Analysis/TokenFilter.cs                            \
142         $(lucenedir)/Analysis/Tokenizer.cs                              \
143         $(lucenedir)/Analysis/TokenStream.cs                            \
144         $(lucenedir)/Analysis/WhitespaceAnalyzer.cs                     \
145         $(lucenedir)/Analysis/WhitespaceTokenizer.cs                    \
146         $(lucenedir)/Search/Spans/NearSpans.cs                          \
147         $(lucenedir)/Search/Spans/SpanFirstQuery.cs                     \
148         $(lucenedir)/Search/Spans/SpanNearQuery.cs                      \
149         $(lucenedir)/Search/Spans/SpanNotQuery.cs                       \
150         $(lucenedir)/Search/Spans/SpanOrQuery.cs                        \
151         $(lucenedir)/Search/Spans/SpanQuery.cs                          \
152         $(lucenedir)/Search/Spans/Spans.cs                              \
153         $(lucenedir)/Search/Spans/SpanScorer.cs                         \
154         $(lucenedir)/Search/Spans/SpanTermQuery.cs                      \
155         $(lucenedir)/Search/Spans/SpanWeight.cs                         \
156         $(lucenedir)/Search/BooleanClause.cs                            \
157         $(lucenedir)/Search/BooleanQuery.cs                             \
158         $(lucenedir)/Search/BooleanScorer.cs                            \
159         $(lucenedir)/Search/BooleanScorer2.cs                           \
160         $(lucenedir)/Search/CachingWrapperFilter.cs                     \
161         $(lucenedir)/Search/ConjunctionScorer.cs                        \
162         $(lucenedir)/Search/DateFilter.cs                               \
163         $(lucenedir)/Search/DefaultSimilarity.cs                        \
164         $(lucenedir)/Search/DisjunctionSumScorer.cs                     \
165         $(lucenedir)/Search/ExactPhraseScorer.cs                        \
166         $(lucenedir)/Search/Explanation.cs                              \
167         $(lucenedir)/Search/FieldCache.cs                               \
168         $(lucenedir)/Search/FieldCacheImpl.cs                           \
169         $(lucenedir)/Search/FieldDoc.cs                                 \
170         $(lucenedir)/Search/FieldDocSortedHitQueue.cs                   \
171         $(lucenedir)/Search/FieldSortedHitQueue.cs                      \
172         $(lucenedir)/Search/Filter.cs                                   \
173         $(lucenedir)/Search/FilteredQuery.cs                            \
174         $(lucenedir)/Search/FilteredTermEnum.cs                         \
175         $(lucenedir)/Search/FuzzyQuery.cs                               \
176         $(lucenedir)/Search/FuzzyTermEnum.cs                            \
177         $(lucenedir)/Search/HitCollector.cs                             \
178         $(lucenedir)/Search/HitQueue.cs                                 \
179         $(lucenedir)/Search/Hits.cs                                     \
180         $(lucenedir)/Search/IndexSearcher.cs                            \
181         $(lucenedir)/Search/MultiPhraseQuery.cs                         \
182         $(lucenedir)/Search/MultiSearcher.cs                            \
183         $(lucenedir)/Search/MultiTermQuery.cs                           \
184         $(lucenedir)/Search/NonMatchingScorer.cs                        \
185         $(lucenedir)/Search/ParallelMultiSearcher.cs                    \
186         $(lucenedir)/Search/PhrasePositions.cs                          \
187         $(lucenedir)/Search/PhrasePrefixQuery.cs                        \
188         $(lucenedir)/Search/PhraseQuery.cs                              \
189         $(lucenedir)/Search/PhraseQueue.cs                              \
190         $(lucenedir)/Search/PhraseScorer.cs                             \
191         $(lucenedir)/Search/PrefixQuery.cs                              \
192         $(lucenedir)/Search/Query.cs                                    \
193         $(lucenedir)/Search/QueryFilter.cs                              \
194         $(lucenedir)/Search/QueryTermVector.cs                          \
195         $(lucenedir)/Search/RangeFilter.cs                              \
196         $(lucenedir)/Search/RangeQuery.cs                               \
197         $(lucenedir)/Search/RemoteSearchable.cs                         \
198         $(lucenedir)/Search/ReqExclScorer.cs                            \
199         $(lucenedir)/Search/ReqOptSumScorer.cs                          \
200         $(lucenedir)/Search/ScoreDoc.cs                                 \
201         $(lucenedir)/Search/ScoreDocComparator.cs                       \
202         $(lucenedir)/Search/Scorer.cs                                   \
203         $(lucenedir)/Search/Searchable.cs                               \
204         $(lucenedir)/Search/Searcher.cs                                 \
205         $(lucenedir)/Search/Similarity.cs                               \
206         $(lucenedir)/Search/SimilarityDelegator.cs                      \
207         $(lucenedir)/Search/SloppyPhraseScorer.cs                       \
208         $(lucenedir)/Search/Sort.cs                                     \
209         $(lucenedir)/Search/SortComparator.cs                           \
210         $(lucenedir)/Search/SortComparatorSource.cs                     \
211         $(lucenedir)/Search/SortField.cs                                \
212         $(lucenedir)/Search/TermQuery.cs                                \
213         $(lucenedir)/Search/TermScorer.cs                               \
214         $(lucenedir)/Search/TopDocs.cs                                  \
215         $(lucenedir)/Search/TopFieldDocs.cs                             \
216         $(lucenedir)/Search/Weight.cs                                   \
217         $(lucenedir)/Search/WildcardQuery.cs                            \
218         $(lucenedir)/Search/WildcardTermEnum.cs                         \
219         $(lucenedir)/QueryParser/Precedence/CharStream.cs               \
220         $(lucenedir)/QueryParser/Precedence/ParseException.cs           \
221         $(lucenedir)/QueryParser/Precedence/FastCharStream.cs           \
222         $(lucenedir)/QueryParser/Precedence/PrecedenceQueryParserConstants.cs\
223         $(lucenedir)/QueryParser/Precedence/Token.cs                    \
224         $(lucenedir)/QueryParser/Precedence/PrecedenceQueryParserTokenManager.cs\
225         $(lucenedir)/QueryParser/Precedence/PrecedenceQueryParser.cs    \
226         $(lucenedir)/QueryParser/Precedence/TokenMgrError.cs            \
227         $(lucenedir)/QueryParser/CharStream.cs                          \
228         $(lucenedir)/QueryParser/FastCharStream.cs                      \
229         $(lucenedir)/QueryParser/MultiFieldQueryParser.cs               \
230         $(lucenedir)/QueryParser/ParseException.cs                      \
231         $(lucenedir)/QueryParser/QueryParser.cs                         \
232         $(lucenedir)/QueryParser/QueryParserConstants.cs                \
233         $(lucenedir)/QueryParser/QueryParserTokenManager.cs             \
234         $(lucenedir)/QueryParser/Token.cs                               \
235         $(lucenedir)/QueryParser/TokenMgrError.cs
237 LUCENE_CSFILES = $(LUCENE_1_9_CSFILES)
239 ############################################################
241 sqlitedir = $(srcdir)/Mono.Data.SqliteClient
243 SQLITE_CSFILES =                                        \
244         $(sqlitedir)/SqliteCommand.cs                   \
245         $(sqlitedir)/SqliteConnection.cs                \
246         $(sqlitedir)/Sqlite.cs                          \
247         $(sqlitedir)/SqliteDataAdapter.cs               \
248         $(sqlitedir)/SqliteDataReader.cs                \
249         $(sqlitedir)/SqliteExceptions.cs                \
250         $(sqlitedir)/SqliteParameterCollection.cs       \
251         $(sqlitedir)/SqliteParameter.cs                 \
252         $(sqlitedir)/SqliteRowUpdatedEventArgs.cs       \
253         $(sqlitedir)/SqliteRowUpdatedEventHandler.cs    \
254         $(sqlitedir)/SqliteRowUpdatingEventArgs.cs      \
255         $(sqlitedir)/SqliteRowUpdatingEventHandler.cs   \
256         $(sqlitedir)/SqliteTransaction.cs
258 ############################################################
260 DAEMON_DLL_TARGET = BeagleDaemonLib.dll
262 DAEMON_DLL_CSFLAGS = -target:library $(BEAGLE_DEFINES)
264 fsqueryabledir = $(srcdir)/FileSystemQueryable
265 FILE_SYSTEM_QUERYABLE_CSFILES =                                 \
266         $(fsqueryabledir)/DirectoryModel.cs                     \
267         $(fsqueryabledir)/DirectoryState.cs                     \
268         $(fsqueryabledir)/TreeCrawlTask.cs                      \
269         $(fsqueryabledir)/FileCrawlTask.cs                      \
270         $(fsqueryabledir)/DirectoryIndexableGenerator.cs        \
271         $(fsqueryabledir)/FileNameFilter.cs                     \
272         $(fsqueryabledir)/LuceneNameResolver.cs                 \
273         $(fsqueryabledir)/FileSystemQueryable.cs                \
274         $(fsqueryabledir)/IFileEventBackend.cs                  \
275         $(fsqueryabledir)/InotifyBackend.cs                     \
276         $(fsqueryabledir)/NullFileEventBackend.cs
279 gaimlogqueryable = $(srcdir)/GaimLogQueryable
280 GAIM_LOG_QUERYABLE_CSFILES =                            \
281         $(gaimlogqueryable)/GaimLogQueryable.cs
283 tomboyqueryable = $(srcdir)/TomboyQueryable
284 TOMBOY_QUERYABLE_CSFILES =                              \
285         $(tomboyqueryable)/TomboyQueryable.cs
287 kmailqueryable = $(srcdir)/KMailQueryable
288 KMAIL_QUERYABLE_CSFILES =                               \
289         $(kmailqueryable)/KMailQueryable.cs             \
290         $(kmailqueryable)/KMailIndexableGenerator.cs    \
291         $(kmailqueryable)/KMailIndexer.cs
293 blamqueryable = $(srcdir)/BlamQueryable
294 BLAM_QUERYABLE_CSFILES =                                \
295         $(blamqueryable)/BlamQueryable.cs
297 lifereaqueryable = $(srcdir)/LifereaQueryable
298 LIFEREA_QUERYABLE_CSFILES =                             \
299         $(lifereaqueryable)/LifereaQueryable.cs
301 akregatorqueryable = $(srcdir)/AkregatorQueryable
302 AKREGATOR_QUERYABLE_CSFILES =                           \
303         $(akregatorqueryable)/AkregatorQueryable.cs
305 konqhistoryqueryable = $(srcdir)/KonqHistoryQueryable
306 KONQHISTORY_QUERYABLE_CSFILES =                         \
307         $(konqhistoryqueryable)/KonqQueryable.cs
309 kopetequeryable = $(srcdir)/KopeteQueryable
310 KOPETE_QUERYABLE_CSFILES =                              \
311         $(kopetequeryable)/KopeteQueryable.cs           \
312         $(kopetequeryable)/KopeteCrawler.cs
314 indexingservicequeryable = $(srcdir)/IndexingServiceQueryable
315 INDEXING_SERVICE_QUERYABLE_CSFILES =                    \
316         $(indexingservicequeryable)/IndexingServiceQueryable.cs
318 DAEMON_DLL_CSFILES =                                            \
319         $(LUCENE_CSFILES)                                       \
320         $(KMAIL_QUERYABLE_CSFILES)                              \
321         $(FILE_SYSTEM_QUERYABLE_CSFILES)                        \
322         $(GAIM_LOG_QUERYABLE_CSFILES)                           \
323         $(INDEXING_SERVICE_QUERYABLE_CSFILES)                   \
324         $(TOMBOY_QUERYABLE_CSFILES)                             \
325         $(BLAM_QUERYABLE_CSFILES)                               \
326         $(LIFEREA_QUERYABLE_CSFILES)                            \
327         $(AKREGATOR_QUERYABLE_CSFILES)                          \
328         $(KONQHISTORY_QUERYABLE_CSFILES)                                \
329         $(KOPETE_QUERYABLE_CSFILES)                             \
330         $(srcdir)/FileAttributes.cs                             \
331         $(srcdir)/FileAttributesStore.cs                        \
332         $(srcdir)/FileAttributesStore_ExtendedAttribute.cs      \
333         $(srcdir)/FileAttributesStore_Mixed.cs                  \
334         $(srcdir)/FileAttributesStore_Sqlite.cs                 \
335         $(srcdir)/FilterFactory.cs                              \
336         $(srcdir)/GoogleDriver.cs                               \
337         $(srcdir)/IFileAttributesStore.cs                       \
338         $(srcdir)/IIndexer.cs                                   \
339         $(srcdir)/IndexSynchronization.cs                       \
340         $(srcdir)/IndexerReceipts.cs                            \
341         $(srcdir)/IndexerRequest.cs                             \
342         $(srcdir)/IQueryResult.cs                               \
343         $(srcdir)/IQueryWorker.cs                               \
344         $(srcdir)/IQueryable.cs                                 \
345         $(srcdir)/LuceneBitArray.cs                             \
346         $(srcdir)/LuceneCommon.cs                               \
347         $(srcdir)/LuceneIndexingDriver.cs                       \
348         $(srcdir)/LuceneQueryingDriver.cs                       \
349         $(srcdir)/LuceneFileQueryable.cs                        \
350         $(srcdir)/LuceneQueryable.cs                            \
351         $(srcdir)/NoiseFilter.cs                                \
352         $(srcdir)/PropertyKeywordFu.cs                          \
353         $(srcdir)/QueryDriver.cs                                \
354         $(srcdir)/QueryExecutor.cs                              \
355         $(srcdir)/QueryResult.cs                                \
356         $(srcdir)/QueryStringParser.cs                          \
357         $(srcdir)/Queryable.cs                                  \
358         $(srcdir)/QueryableFlavor.cs                            \
359         $(srcdir)/RemoteControlExecutors.cs                     \
360         $(srcdir)/RemoteIndexerRequest.cs                       \
361         $(srcdir)/RemoteIndexerResponse.cs                      \
362         $(srcdir)/Server.cs                                     \
363         $(srcdir)/Shutdown.cs                                   \
364         $(srcdir)/SnippetExecutor.cs                            \
365         $(srcdir)/SnippetFu.cs                                  \
366         $(srcdir)/StaticQueryable.cs                            \
367         $(srcdir)/TextCache.cs
369 DAEMON_DLL_LOCAL_ASSEMBLIES =           \
370         ../Util/Util.dll                \
371         ../BeagleClient/Beagle.dll      \
372         ./$(PLUGIN_TARGET)
374 DAEMON_DLL_ASSEMBLIES =                         \
375         $(BEAGLED_LIBS)                         \
376         $(DAEMON_DLL_LOCAL_ASSEMBLIES:%=-r:%)   \
377         $(SHARPZIPLIB_LIBS)             \
378         -r:Mono.Data.SqliteClient               \
379         -r:Mono.Posix                           \
380         -r:System.Runtime.Remoting              \
381         -r:System.Web
383 if USE_LOCAL_SQLITE
384 DAEMON_DLL_CSFILES += $(SQLITE_CSFILES)
385 DAEMON_DLL_ASSEMBLIES += -r:System.Data
386 else
387 DAEMON_DLL_ASSEMBLIES += -r:Mono.Data.SqliteClient
388 endif
390 #if ENABLE_MOZILLA_BACKEND
391 #mozillaqueryable = $(srcdir)/MozillaQueryable
392 #MOZILLA_QUERYABLE_CSFILES =                            \
393 #       $(mozillaqueryable)/MozillaQueryable.cs
394 #DAEMON_DLL_CSFILES +=                                  \
395 #       $(MOZILLA_QUERYABLE_CSFILES)
396 #endif
398 if ENABLE_WEBSERVICES
399 DAEMON_DLL_CSFILES += \
400         $(webservicesdir)/WebServiceProxy.cs    \
401         $(webservicesdir)/NetBeagleHandler.cs   \
402         $(webservicesdir)/NetBeagleQueryable.cs 
403 DAEMON_DLL_ASSEMBLIES += -r:System.Web.Services 
404 endif
407 $(DAEMON_DLL_TARGET): $(DAEMON_DLL_CSFILES) $(DAEMON_DLL_LOCAL_ASSEMBLIES)
408         $(CSC) -out:$@ $(DAEMON_DLL_CSFLAGS) $(DAEMON_DLL_CSFILES) $(DAEMON_DLL_ASSEMBLIES)
410 ############################################################
413 ### Pluggable backend support
416 BACKEND_CSFLAGS = -target:library
417 BACKEND_LOCAL_ASSEMBLIES =                      \
418         ../Util/Util.dll                        \
419         ../BeagleClient/Beagle.dll              \
420         ./$(DAEMON_DLL_TARGET)
422 BACKEND_ASSEMBLIES =                            \
423         $(SHARPZIPLIB_LIBS)                     \
424         $(BACKEND_LOCAL_ASSEMBLIES:%=-r:%)      \
425         -r:Mono.Posix
428 ### Evolution backend
431 edsqueryable = $(srcdir)/EvolutionDataServerQueryable
432 EDS_QUERYABLE_CSFILES =                                 \
433         $(edsqueryable)/BookContainer.cs                \
434         $(edsqueryable)/CalContainer.cs                 \
435         $(edsqueryable)/Container.cs                    \
436         $(edsqueryable)/EvolutionDataServerQueryable.cs \
437         $(edsqueryable)/SourcesHandler.cs
439 evomailqueryable = $(srcdir)/EvolutionMailDriver
440 EVO_MAIL_QUERYABLE_CSFILES =                                    \
441         $(evomailqueryable)/EvolutionMailDriver.cs              \
442         $(evomailqueryable)/EvolutionMailIndexableGenerator.cs  \
443         $(evomailqueryable)/GConfThreadHelper.cs                \
444         $(evomailqueryable)/MailCrawler.cs
446 EVO_DLL_TARGET = EvolutionBackends.dll
447 EVO_DLL_CSFLAGS = $(BACKEND_CSFLAGS)
448 EVO_DLL_CSFILES = $(EDS_QUERYABLE_CSFILES) $(EVO_MAIL_QUERYABLE_CSFILES)
449 EVO_DLL_ASSEMBLIES = $(BACKEND_ASSEMBLIES) $(EVO_LIBS)
451 $(EVO_DLL_TARGET): $(EVO_DLL_CSFILES) $(DAEMON_DLL_LOCAL_ASSEMBLIES) $(DAEMON_DLL_TARGET)
452         $(CSC) -out:$@ $(EVO_DLL_CSFLAGS) $(EVO_DLL_CSFILES) -r:$(DAEMON_DLL_TARGET) $(EVO_DLL_ASSEMBLIES)
454 ############################################################
457 ### Web Services
460 webservicesdir = $(srcdir)/WebServices
461 xspdir = $(srcdir)/WebServices/WebServer
463 WEBSERVICES_XSP_TARGET = BeagleXsp.dll
465 WEBSERVICES_XSP_CSFLAGS = -target:library 
467 WEBSERVICES_XSP_ASSEMBLIES =                    \
468         -r:System                               \
469         -r:System.Web                           \
470         -r:System.Runtime.Remoting      
472 WEBSERVICES_XSP_CSFILES =                       \
473         $(xspdir)/IApplicationHost.cs           \
474         $(xspdir)/MonoWorkerRequest.cs          \
475         $(xspdir)/Tracing.cs                    \
476         $(xspdir)/ApplicationServer.cs          \
477         $(xspdir)/LingeringNetworkStream.cs     \
478         $(xspdir)/BaseApplicationHost.cs        \
479         $(xspdir)/BaseRequestBroker.cs          \
480         $(xspdir)/IWebSource.cs                 \
481         $(xspdir)/server.cs                     \
482         $(xspdir)/InitialWorkerRequest.cs       \
483         $(xspdir)/XSPApplicationHost.cs         \
484         $(xspdir)/XSPWorkerRequest.cs           \
485         $(xspdir)/AssemblyInfo.cs
487 $(WEBSERVICES_XSP_TARGET): $(WEBSERVICES_XSP_CSFILES) 
488         $(CSC) -out:$@ $(WEBSERVICES_XSP_CSFLAGS) $(WEBSERVICES_XSP_CSFILES) $(WEBSERVICES_XSP_ASSEMBLIES)
491 WEBSERVICES_BACKEND_TARGET = BeagleWebServicesBackEnd.dll
493 WEBSERVICES_BACKEND_LOCAL_ASSEMBLIES =  \
494         ../Util/Util.dll                \
495         ../images/Images.dll            \
496         ../BeagleClient/Beagle.dll      \
497         ../Tiles/Tiles.dll              \
498         BeagleDaemonPlugins.dll         \
499         BeagleDaemonLib.dll                     \
500         $(WEBSERVICES_XSP_TARGET)
502 WEBSERVICES_BACKEND_ASSEMBLIES = \
503         $(WEBSERVICES_BACKEND_LOCAL_ASSEMBLIES:%=-r:%)  \
504         -r:System                                       \
505         -r:System.Web                           \
506         -r:System.Runtime.Remoting      \
507         $(BEAGLED_LIBS)
509 WEBSERVICES_BACKEND_CSFILES = \
510         $(webservicesdir)/ExternalAccessFilter.cs       \
511         $(webservicesdir)/WebBackEnd.cs         \
512         $(webservicesdir)/WebServiceBackEnd.cs
514 WEBSERVICES_CSFLAGS = -target:library -noconfig
516 $(WEBSERVICES_BACKEND_TARGET): $(WEBSERVICES_BACKEND_CSFILES) $(WEBSERVICES_BACKEND_LOCAL_ASSEMBLIES)
517         $(CSC) -out:$@ $(WEBSERVICES_CSFLAGS) $(WEBSERVICES_BACKEND_CSFILES) $(WEBSERVICES_BACKEND_ASSEMBLIES)
519 WEBSERVICES_FRONTEND_TARGET = BeagleWebServicesFrontEnd.dll
520 WEBSERVICES_FRONTEND_CSFILES = \
521         $(webservicesdir)/WebFrontEnd.cs        \
522         $(webservicesdir)/WebServiceFrontEnd.cs
524 WEBSERVICES_FRONTEND_ASSEMBLIES =       \
525         $(WEBSERVICES_BACKEND_ASSEMBLIES)       \
526         -r:$(WEBSERVICES_BACKEND_TARGET)        \
527         -r:System.Web.Services
529 $(WEBSERVICES_FRONTEND_TARGET): $(WEBSERVICES_FRONTEND_CSFILES) $(WEBSERVICES_BACKEND_TARGET) 
530         $(CSC) -out:$@ $(WEBSERVICES_CSFLAGS) $(WEBSERVICES_FRONTEND_CSFILES) $(WEBSERVICES_FRONTEND_ASSEMBLIES)
532 WEBSERVICES_RESOURCES =                         \
533         $(webservicesdir)/search.aspx   \
534         $(webservicesdir)/search.asmx   \
535         $(webservicesdir)/web.config
537 WEBSERVICES_RESOURCES_DIST =            \
538         $(webservicesdir)/search.aspx   \
539         $(webservicesdir)/search.asmx   \
540         $(webservicesdir)/web.config
542 XSP_DIR = $(pkgdatadir)/xsp
543 XSPBIN_DIR = $(XSP_DIR)/bin
545 ############################################################
547 DAEMON_WRAPPER = beagled
548 DAEMON_WRAPPER_IN = beagled.in
549 DAEMON_TARGET = BeagleDaemon.exe
551 $(DAEMON_WRAPPER): $(srcdir)/$(DAEMON_WRAPPER_IN)
552         $(WRAPPER_SED) -e "s|\@target\@|$(DAEMON_TARGET)|g" < $(srcdir)/$(DAEMON_WRAPPER_IN) > $@
553         chmod +x $(DAEMON_WRAPPER)
555 DAEMON_CSFLAGS =                                \
556         -target:exe                             \
557         $(BEAGLE_DEFINES)
559 DAEMON_CSFILES =                                \
560         $(srcdir)/BeagleDaemon.cs               \
561         $(srcdir)/RemoteIndexer.cs
563 DAEMON_LOCAL_ASSEMBLIES =                       \
564         ../Util/Util.dll                        \
565         ../BeagleClient/Beagle.dll              \
566         ./$(PLUGIN_TARGET)                      \
567         ./$(DAEMON_DLL_TARGET)
569 DAEMON_ASSEMBLIES =                             \
570         $(BEAGLED_LIBS)                         \
571         $(SHARPZIPLIB_LIBS)                     \
572         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
573         -r:Mono.Posix
575 if ENABLE_WEBSERVICES
576 DAEMON_CSFLAGS += -define:ENABLE_WEBSERVICES
578 DAEMON_LOCAL_ASSEMBLIES +=              \
579         BeagleDaemonPlugins.dll         \
580         ../images/Images.dll            \
581         ../Tiles/Tiles.dll              \
582         $(WEBSERVICES_BACKEND_TARGET)   \
583         $(WEBSERVICES_FRONTEND_TARGET)  
585 DAEMON_ASSEMBLIES += -r:System.Runtime.Remoting
586 endif
588 $(DAEMON_TARGET): $(DAEMON_CSFILES) $(DAEMON_LOCAL_ASSEMBLIES)
589         $(CSC) -out:$@ $(DAEMON_CSFLAGS) $(DAEMON_CSFILES) $(DAEMON_ASSEMBLIES)
591 ############################################################
592 ############################################################
593 ############################################################
595 # This next section is a very good example of why we need real mono support in
596 # automake.  This is a massive wart on our development platform.
598 INDEX_HELPER_WRAPPER = beagled-index-helper
599 INDEX_HELPER_WRAPPER_IN = $(INDEX_HELPER_WRAPPER).in
600 INDEX_HELPER_TARGET = IndexHelper.exe
602 $(INDEX_HELPER_WRAPPER): $(srcdir)/$(INDEX_HELPER_WRAPPER_IN)
603         $(WRAPPER_SED) -e "s|\@target\@|$(INDEX_HELPER_TARGET)|g" < $(srcdir)/$(INDEX_HELPER_WRAPPER_IN) > $@
604         chmod +x $(INDEX_HELPER_WRAPPER)
606 INDEX_HELPER_CSFLAGS = -target:exe $(BEAGLE_DEFINES)
608 indexhelperdir = $(srcdir)/IndexHelper
610 INDEX_HELPER_CSFILES =  \
611         $(indexhelperdir)/IndexHelper.cs                \
612         $(indexhelperdir)/RemoteIndexerExecutor.cs
615 INDEX_HELPER_LOCAL_ASSEMBLIES =         \
616         ../Util/Util.dll                \
617         ../BeagleClient/Beagle.dll      \
618         ./$(DAEMON_DLL_TARGET)
620 INDEX_HELPER_ASSEMBLIES = \
621         $(BEAGLED_LIBS)                         \
622         $(SHARPZIPLIB_LIBS)                     \
623         $(INDEX_HELPER_LOCAL_ASSEMBLIES:%=-r:%) \
624         -r:Mono.Posix                           \
625         -r:System.Runtime.Remoting
627 $(INDEX_HELPER_TARGET): $(INDEX_HELPER_CSFILES) $(INDEX_HELPER_LOCAL_ASSEMBLIES)
628         $(CSC) -out:$@ $(INDEX_HELPER_CSFLAGS) $(INDEX_HELPER_CSFILES) $(INDEX_HELPER_ASSEMBLIES)
630 ############################################################
632 EXTRACT_CONTENT_WRAPPER = beagle-extract-content
633 EXTRACT_CONTENT_TARGET = ExtractContent.exe
635 $(EXTRACT_CONTENT_WRAPPER): $(srcdir)/$(WRAPPER_IN)
636         $(WRAPPER_SED) -e "s|\@target\@|$(EXTRACT_CONTENT_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
637         chmod +x $(EXTRACT_CONTENT_WRAPPER)
640 EXTRACT_CONTENT_CSFLAGS = \
641         -target:exe
643 EXTRACT_CONTENT_CSFILES = \
644         $(srcdir)/ExtractContent.cs
646 EXTRACT_CONTENT_LOCAL_ASSEMBLIES = \
647         ../Util/Util.dll                        \
648         ../BeagleClient/Beagle.dll              \
649         ./$(PLUGIN_TARGET)                      \
650         ./$(DAEMON_DLL_TARGET)
652 EXTRACT_CONTENT_ASSEMBLIES = \
653         $(BEAGLED_LIBS)                         \
654         $(SHARPZIPLIB_LIBS)                     \
655         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
656         -r:Mono.Posix                           \
657         -r:System.Runtime.Remoting
659 $(EXTRACT_CONTENT_TARGET): $(EXTRACT_CONTENT_CSFILES) $(EXTRACT_CONTENT_LOCAL_ASSEMBLIES)
660         $(CSC) -out:$@ $(EXTRACT_CONTENT_CSFLAGS) $(EXTRACT_CONTENT_CSFILES) $(EXTRACT_CONTENT_ASSEMBLIES)
662 ############################################################
664 DUMP_INDEX_WRAPPER = beagle-dump-index
665 DUMP_INDEX_TARGET = DumpIndex.exe
667 $(DUMP_INDEX_WRAPPER): $(srcdir)/$(WRAPPER_IN)
668         $(WRAPPER_SED) -e "s|\@target\@|$(DUMP_INDEX_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
669         chmod +x $(DUMP_INDEX_WRAPPER)
671 DUMP_INDEX_CSFLAGS = \
672         -target:exe
674 DUMP_INDEX_CSFILES = \
675         $(srcdir)/DumpIndex.cs
677 DUMP_INDEX_LOCAL_ASSEMBLIES = \
678         ../Util/Util.dll                        \
679         ../BeagleClient/Beagle.dll              \
680         ./$(PLUGIN_TARGET)                      \
681         ./$(DAEMON_DLL_TARGET)
683 DUMP_INDEX_ASSEMBLIES = \
684         $(BEAGLED_LIBS)                         \
685         $(SHARPZIPLIB_LIBS)                     \
686         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
687         -r:Mono.Posix                           \
688         -r:System.Runtime.Remoting
690 $(DUMP_INDEX_TARGET): $(DUMP_INDEX_CSFILES) $(DUMP_INDEX_LOCAL_ASSEMBLIES)
691         $(CSC) -out:$@ $(DUMP_INDEX_CSFLAGS) $(DUMP_INDEX_CSFILES) $(DUMP_INDEX_ASSEMBLIES)
693 ############################################################
695 INDEX_WEB_CONTENT_WRAPPER = beagle-index-url
696 INDEX_WEB_CONTENT_TARGET = IndexWebContent.exe
698 $(INDEX_WEB_CONTENT_WRAPPER): $(srcdir)/$(WRAPPER_IN)
699         $(WRAPPER_SED) -e "s|\@target\@|$(INDEX_WEB_CONTENT_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
700         chmod +x $(INDEX_WEB_CONTENT_WRAPPER)
703 INDEX_WEB_CONTENT_CSFLAGS = \
704         -target:exe
706 INDEX_WEB_CONTENT_CSFILES = \
707         $(srcdir)/IndexWebContent.cs
709 INDEX_WEB_CONTENT_LOCAL_ASSEMBLIES = \
710         ../Util/Util.dll                        \
711         ../BeagleClient/Beagle.dll              \
712         ./$(PLUGIN_TARGET)                      \
713         ./$(DAEMON_DLL_TARGET)
715 INDEX_WEB_CONTENT_ASSEMBLIES =  \
716         $(INDEX_WEB_CONTENT_LOCAL_ASSEMBLIES:%=-r:%)
718 $(INDEX_WEB_CONTENT_TARGET): $(INDEX_WEB_CONTENT_CSFILES) $(INDEX_WEB_CONTENT_LOCAL_ASSEMBLIES)
719         $(CSC) -out:$@ $(INDEX_WEB_CONTENT_CSFLAGS) $(INDEX_WEB_CONTENT_CSFILES) $(INDEX_WEB_CONTENT_ASSEMBLIES)
721 ############################################################
723 MASTER_DELETE_WRAPPER = beagle-master-delete-button
724 MASTER_DELETE_TARGET = MasterDelete.exe
726 $(MASTER_DELETE_WRAPPER): $(srcdir)/$(WRAPPER_IN)
727         $(WRAPPER_SED) -e "s|\@target\@|$(MASTER_DELETE_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
728         chmod +x $(MASTER_DELETE_WRAPPER)
731 MASTER_DELETE_CSFLAGS = \
732         -target:exe
734 MASTER_DELETE_CSFILES = \
735         $(srcdir)/MasterDelete.cs
737 MASTER_DELETE_LOCAL_ASSEMBLIES = \
738         ../Util/Util.dll                        \
739         ../BeagleClient/Beagle.dll              \
740         ./$(PLUGIN_TARGET)                      \
741         ./$(DAEMON_DLL_TARGET)
743 MASTER_DELETE_ASSEMBLIES = \
744         $(BEAGLED_LIBS)                         \
745         $(SHARPZIPLIB_LIBS)                     \
746         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
747         -r:Mono.Posix                           \
748         -r:System.Runtime.Remoting
750 $(MASTER_DELETE_TARGET): $(MASTER_DELETE_CSFILES) $(MASTER_DELETE_LOCAL_ASSEMBLIES)
751         $(CSC) -out:$@ $(MASTER_DELETE_CSFLAGS) $(MASTER_DELETE_CSFILES) $(MASTER_DELETE_ASSEMBLIES)
753 ############################################################
755 SNIPPET_TEST_WRAPPER = beagle-snippet-test
756 SNIPPET_TEST_TARGET = SnippetTest.exe
758 $(SNIPPET_TEST_WRAPPER): $(srcdir)/$(WRAPPER_IN)
759         $(WRAPPER_SED) -e "s|\@target\@|$(SNIPPET_TEST_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
760         chmod +x $(SNIPPET_TEST_WRAPPER)
762 SNIPPET_TEST_CSFLAGS = \
763         -target:exe
765 SNIPPET_TEST_CSFILES = \
766         $(srcdir)/SnippetTest.cs
768 SNIPPET_TEST_LOCAL_ASSEMBLIES = \
769         ../Util/Util.dll                        \
770         ../BeagleClient/Beagle.dll              \
771         ./$(PLUGIN_TARGET)                      \
772         ./$(DAEMON_DLL_TARGET)
774 SNIPPET_TEST_ASSEMBLIES = \
775         $(BEAGLED_LIBS)                         \
776         $(SHARPZIPLIB_LIBS)                     \
777         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
778         -r:Mono.Posix                           \
779         -r:System.Runtime.Remoting
781 $(SNIPPET_TEST_TARGET): $(SNIPPET_TEST_CSFILES) $(SNIPPET_TEST_LOCAL_ASSEMBLIES)
782         $(CSC) -out:$@ $(SNIPPET_TEST_CSFLAGS) $(SNIPPET_TEST_CSFILES) $(SNIPPET_TEST_ASSEMBLIES)
784 ############################################################
786 TERM_STATS_WRAPPER = beagle-term-stats
787 TERM_STATS_TARGET = TermStatsTool.exe
789 $(TERM_STATS_WRAPPER): $(srcdir)/$(WRAPPER_IN)
790         $(WRAPPER_SED) -e "s|\@target\@|$(TERM_STATS_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
791         chmod +x $(TERM_STATS_WRAPPER)
793 TERM_STATS_CSFLAGS = \
794         -target:exe
796 TERM_STATS_CSFILES = \
797         $(srcdir)/TermStatsTool.cs
799 TERM_STATS_LOCAL_ASSEMBLIES =   \
800         ../Util/Util.dll                        \
801         ../BeagleClient/Beagle.dll              \
802         ./$(PLUGIN_TARGET)                      \
803         ./$(DAEMON_DLL_TARGET)
805 TERM_STATS_ASSEMBLIES = \
806         $(BEAGLED_LIBS)                         \
807         $(SHARPZIPLIB_LIBS)                     \
808         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
809         -r:Mono.Posix                           \
810         -r:System.Runtime.Remoting
812 $(TERM_STATS_TARGET): $(TERM_STATS_CSFILES) $(TERM_STATS_LOCAL_ASSEMBLIES)
813         $(CSC) -out:$@ $(TERM_STATS_CSFLAGS) $(TERM_STATS_CSFILES) $(TERM_STATS_ASSEMBLIES)
815 ############################################################
817 NAME_INDEX_WRAPPER = beagle-name-index
818 NAME_INDEX_TARGET = NameIndexTool.exe
820 $(NAME_INDEX_WRAPPER): $(srcdir)/$(WRAPPER_IN)
821         $(WRAPPER_SED) -e "s|\@target\@|$(NAME_INDEX_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
822         chmod +x $(NAME_INDEX_WRAPPER)
824 NAME_INDEX_CSFLAGS = \
825         -target:exe
827 NAME_INDEX_CSFILES = \
828         $(srcdir)/NameIndexTool.cs
830 NAME_INDEX_LOCAL_ASSEMBLIES =   \
831         ../Util/Util.dll                        \
832         ../BeagleClient/Beagle.dll              \
833         ./$(PLUGIN_TARGET)                      \
834         ./$(DAEMON_DLL_TARGET)
836 NAME_INDEX_ASSEMBLIES = \
837         $(BEAGLED_LIBS)                         \
838         $(SHARPZIPLIB_LIBS)                     \
839         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
840         -r:Mono.Posix                           \
841         -r:System.Runtime.Remoting
843 $(NAME_INDEX_TARGET): $(NAME_INDEX_CSFILES) $(NAME_INDEX_LOCAL_ASSEMBLIES)
844         $(CSC) -out:$@ $(NAME_INDEX_CSFLAGS) $(NAME_INDEX_CSFILES) $(NAME_INDEX_ASSEMBLIES)
846 ############################################################
848 FS_SANITY_CHECK_WRAPPER = beagle-file-system-sanity-check
849 FS_SANITY_CHECK_TARGET = SanityCheckTool.exe
851 $(FS_SANITY_CHECK_WRAPPER): $(srcdir)/$(WRAPPER_IN)
852         $(WRAPPER_SED) -e "s|\@target\@|$(FS_SANITY_CHECK_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
853         chmod +x $(FS_SANITY_CHECK_WRAPPER)
855 FS_SANITY_CHECK_CSFLAGS = \
856         -target:exe
858 FS_SANITY_CHECK_CSFILES = \
859         $(srcdir)/SanityCheckTool.cs
861 FS_SANITY_CHECK_LOCAL_ASSEMBLIES = \
862         ../Util/Util.dll                        \
863         ../BeagleClient/Beagle.dll              \
864         ./$(PLUGIN_TARGET)                      \
865         ./$(DAEMON_DLL_TARGET)
867 FS_SANITY_CHECK_ASSEMBLIES = \
868         $(BEAGLED_LIBS)                         \
869         $(SHARPZIPLIB_LIBS)                     \
870         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
871         -r:Mono.Posix                           \
872         -r:System.Runtime.Remoting
874 $(FS_SANITY_CHECK_TARGET): $(FS_SANITY_CHECK_CSFILES) $(FS_SANITY_CHECK_LOCAL_ASSEMBLIES)
875         $(CSC) -out:$@ $(FS_SANITY_CHECK_CSFLAGS) $(FS_SANITY_CHECK_CSFILES) $(FS_SANITY_CHECK_ASSEMBLIES)
877 ############################################################
879 BUILD_INDEX_WRAPPER = beagle-build-index
880 BUILD_INDEX_TARGET = BuildIndex.exe
882 $(BUILD_INDEX_WRAPPER): $(srcdir)/$(WRAPPER_IN)
883         $(WRAPPER_SED) -e "s|\@target\@|$(BUILD_INDEX_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
884         chmod +x $(BUILD_INDEX_WRAPPER)
886 BUILD_INDEX_CSFLAGS = \
887         -target:exe
889 BUILD_INDEX_CSFILES = \
890         $(srcdir)/BuildIndex.cs
892 BUILD_INDEX_LOCAL_ASSEMBLIES = \
893         ../Util/Util.dll                        \
894         ../BeagleClient/Beagle.dll              \
895         ./$(PLUGIN_TARGET)                      \
896         ./$(DAEMON_DLL_TARGET)
898 BUILD_INDEX_ASSEMBLIES = \
899         $(BEAGLED_LIBS)                         \
900         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
901         -r:Mono.Posix
903 $(BUILD_INDEX_TARGET): $(BUILD_INDEX_CSFILES) $(BUILD_INDEX_LOCAL_ASSEMBLIES)
904         $(CSC) -out:$@ $(BUILD_INDEX_CSFLAGS) $(BUILD_INDEX_CSFILES) $(BUILD_INDEX_ASSEMBLIES)
906 ############################################################
908 MANAGE_INDEX_WRAPPER = beagle-manage-index
909 MANAGE_INDEX_TARGET = ManageIndex.exe
911 $(MANAGE_INDEX_WRAPPER): $(srcdir)/$(WRAPPER_IN)
912         $(WRAPPER_SED) -e "s|\@target\@|$(MANAGE_INDEX_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
913         chmod +x $(MANAGE_INDEX_WRAPPER)
915 MANAGE_INDEX_CSFLAGS = \
916         -target:exe
918 MANAGE_INDEX_CSFILES = \
919         $(srcdir)/ManageIndex.cs
921 MANAGE_INDEX_LOCAL_ASSEMBLIES = \
922         ../Util/Util.dll                        \
923         ../BeagleClient/Beagle.dll              \
924         ./$(PLUGIN_TARGET)                      \
925         ./$(DAEMON_DLL_TARGET)
927 MANAGE_INDEX_ASSEMBLIES = \
928         $(BEAGLED_LIBS)                         \
929         $(DAEMON_LOCAL_ASSEMBLIES:%=-r:%)       \
930         -r:Mono.Posix
932 $(MANAGE_INDEX_TARGET): $(MANAGE_INDEX_CSFILES) $(MANAGE_INDEX_LOCAL_ASSEMBLIES)
933         $(CSC) -out:$@ $(MANAGE_INDEX_CSFLAGS) $(MANAGE_INDEX_CSFILES) $(MANAGE_INDEX_ASSEMBLIES)
935 ############################################################
937 CRAWL_SYSTEM_IN = beagle-crawl-system.in
938 CRAWL_SYSTEM = beagle-crawl-system
940 $(CRAWL_SYSTEM): $(srcdir)/$(CRAWL_SYSTEM_IN)
941         $(WRAPPER_SEB) -e "s|\@target\@|$(CRAWL_SYSTEM)|g" < $(srcdir)/$(CRAWL_SYSTEM_IN) > $@
942         chmod +x $(CRAWL_SYSTEM)
944 # OK, now back to our regularly scheduled program.  But notice all of the
945 # EXTRA_DIST and CLEANFILES stuff at the bottom of the file.  Yuck.
947 ############################################################
948 ############################################################
949 ############################################################
951 #       $(MASTER_DELETE_TARGET)
953 #       $(FS_SANITY_CHECK_TARGET)
955 ALL_TARGETS =                           \
956         $(PLUGIN_TARGET)                \
957         $(DAEMON_DLL_TARGET)            \
958         $(DAEMON_TARGET)                \
959         $(DAEMON_WRAPPER)               \
960         $(INDEX_HELPER_TARGET)          \
961         $(INDEX_HELPER_WRAPPER)         \
962         $(INDEX_WEB_CONTENT_TARGET)     \
963         $(INDEX_WEB_CONTENT_WRAPPER)    \
964         $(EXTRACT_CONTENT_TARGET)       \
965         $(DUMP_INDEX_TARGET)            \
966         $(SNIPPET_TEST_TARGET)          \
967         $(TERM_STATS_TARGET)            \
968         $(NAME_INDEX_TARGET)            \
969         $(MANAGE_INDEX_TARGET)          \
970         $(MANAGE_INDEX_WRAPPER)         \
971         $(BUILD_INDEX_TARGET)           \
972         $(BUILD_INDEX_WRAPPER)
974 if ENABLE_WEBSERVICES
975 ALL_TARGETS +=                          \
976         $(XSP_TARGET)                   \
977         $(WEBSERVICES_FRONTEND_TARGET)  \
978         $(WEBSERVICES_BACKEND_TARGET)   
979 endif
981 if ENABLE_EVOLUTION
982 ALL_TARGETS +=                          \
983         $(EVO_DLL_TARGET)
984 endif
986 man_MANS =                              \
987         beagled.1                       \
988         beagle-build-index.8            \
989         beagle-manage-index.8
991 all: $(ALL_TARGETS)
993 install-data-local: $(ALL_TARGETS)
994         $(mkinstalldirs) $(DESTDIR)$(bindir)
995         $(mkinstalldirs) $(DESTDIR)$(sbindir)
996         $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
997         $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
998         $(mkinstalldirs) $(DESTDIR)$(BACKENDDIR)
999 if ENABLE_WEBSERVICES
1000         $(mkinstalldirs) $(DESTDIR)$(XSP_DIR)
1001         $(mkinstalldirs) $(DESTDIR)$(XSPBIN_DIR)
1002 endif
1003 if ENABLE_EVOLUTION
1004         $(INSTALL_DATA) $(EVO_DLL_TARGET) $(EVO_DLL_TARGET).mdb $(DESTDIR)$(BACKENDDIR)
1005 endif
1006         @for i in $(BIN_WRAPPERS); do                                           \
1007                 sed -e "s|\#installed=1|installed=1|" < $$i > $$i.tmp;          \
1008                 echo "$(INSTALL_SCRIPT) $$i.tmp $(DESTDIR)$(bindir)/$$i";       \
1009                 $(INSTALL_SCRIPT) $$i.tmp $(DESTDIR)$(bindir)/$$i || exit 1;    \
1010                 rm -f $$i.tmp;                                                  \
1011         done
1013         @for i in $(SBIN_WRAPPERS); do                                          \
1014                 sed -e "s|\#installed=1|installed=1|" < $$i > $$i.tmp;          \
1015                 echo "$(INSTALL_SCRIPT) $$i.tmp $(DESTDIR)$(sbindir)/$$i";      \
1016                 $(INSTALL_SCRIPT) $$i.tmp $(DESTDIR)$(sbindir)/$$i || exit 1;   \
1017                 rm -f $$i.tmp;                                                  \
1018         done
1020         @sed -e "s|\#installed=1|installed=1|" < $(INDEX_HELPER_WRAPPER) > $(INDEX_HELPER_WRAPPER).tmp
1021         $(INSTALL_SCRIPT) $(INDEX_HELPER_WRAPPER).tmp $(DESTDIR)$(pkglibdir)/$(INDEX_HELPER_WRAPPER)
1022         @rm -f $(INDEX_HELPER_WRAPPER).tmp
1024         $(INSTALL_DATA) $(PLUGIN_TARGET)                 $(DESTDIR)$(pkglibdir)
1025         $(INSTALL_DATA) $(PLUGIN_TARGET).mdb             $(DESTDIR)$(pkglibdir)
1026         $(INSTALL_DATA) $(DAEMON_DLL_TARGET)             $(DESTDIR)$(pkglibdir)
1027         $(INSTALL_DATA) $(DAEMON_DLL_TARGET).mdb         $(DESTDIR)$(pkglibdir)
1028         $(INSTALL_DATA) $(DAEMON_TARGET)                 $(DESTDIR)$(pkglibdir)
1029         $(INSTALL_DATA) $(DAEMON_TARGET).mdb             $(DESTDIR)$(pkglibdir)
1030         $(INSTALL_DATA) $(INDEX_WEB_CONTENT_TARGET)      $(DESTDIR)$(pkglibdir)
1031         $(INSTALL_DATA) $(INDEX_WEB_CONTENT_TARGET).mdb  $(DESTDIR)$(pkglibdir)
1032         $(INSTALL_DATA) $(INDEX_HELPER_TARGET)           $(DESTDIR)$(pkglibdir)
1033         $(INSTALL_DATA) $(INDEX_HELPER_TARGET).mdb       $(DESTDIR)$(pkglibdir)
1034         $(INSTALL_DATA) $(BUILD_INDEX_TARGET)            $(DESTDIR)$(pkglibdir)
1035         $(INSTALL_DATA) $(BUILD_INDEX_TARGET).mdb        $(DESTDIR)$(pkglibdir)
1036         $(INSTALL_DATA) $(MANAGE_INDEX_TARGET)           $(DESTDIR)$(pkglibdir)
1037         $(INSTALL_DATA) $(MANAGE_INDEX_TARGET).mdb       $(DESTDIR)$(pkglibdir)
1038 if ENABLE_WEBSERVICES
1039         $(INSTALL_DATA) $(WEBSERVICES_XSP_TARGET) $(DESTDIR)$(pkglibdir)
1040         $(INSTALL_DATA) $(WEBSERVICES_BACKEND_TARGET) $(DESTDIR)$(pkglibdir)
1041         $(INSTALL_DATA) $(WEBSERVICES_FRONTEND_TARGET) $(DESTDIR)$(XSPBIN_DIR)
1042         $(INSTALL_DATA) $(WEBSERVICES_BACKEND_TARGET) $(DESTDIR)$(XSPBIN_DIR)
1043         $(INSTALL_DATA)  $(WEBSERVICES_RESOURCES) $(DESTDIR)$(XSP_DIR)
1044 #       $(INSTALL_DATA) ../Util/Util.dll ../images/Images.dll ../BeagleClient/Beagle.dll ../Tiles/Tiles.dll BeagleDaemonPlugins.dll BeagleDaemonLib.dll $(DESTDIR)$(XSPBIN_DIR)
1046 endif
1048 uninstall-local:
1049 if ENABLE_WEBSERVICES
1050         rm -f $(DESTDIR)$(pkglibdir)/$(WEBSERVICES_BACKEND_TARGET)
1051         rm -f $(DESTDIR)$(pkglibdir)/$(WEBSERVICES_XSP_TARGET)
1052         rm -rf $(DESTDIR)$(XSP_DIR)
1053 endif
1054 if ENABLE_EVOLUTION
1055         rm -f $(DESTDIR)$(BACKENDDIR)/$(EVO_DLL_TARGET)
1056         rm -f $(DESTDIR)$(BACKENDDIR)/$(EVO_DLL_TARGET).mdb
1057 endif
1059         @for i in $(BIN_WRAPPERS); do                           \
1060                 echo "rm -f $(DESTDIR)$(bindir)/$$i";           \
1061                 rm -f $(DESTDIR)$(bindir)/$$i || exit 1;        \
1062         done
1064         @for i in $(SBIN_WRAPPERS); do                          \
1065                 echo "rm -f $(DESTDIR)$(sbindir)/$$i";          \
1066                 rm -f $(DESTDIR)$(sbindir)/$$i || exit 1;       \
1067         done
1069         rm -f $(DESTDIR)$(pkglibdir)/$(PLUGIN_TARGET)
1070         rm -f $(DESTDIR)$(pkglibdir)/$(PLUGIN_TARGET).mdb
1071         rm -f $(DESTDIR)$(pkglibdir)/$(DAEMON_DLL_TARGET)
1072         rm -f $(DESTDIR)$(pkglibdir)/$(DAEMON_DLL_TARGET).mdb
1073         rm -f $(DESTDIR)$(pkglibdir)/$(DAEMON_TARGET)
1074         rm -f $(DESTDIR)$(pkglibdir)/$(DAEMON_TARGET).mdb
1075         rm -f $(DESTDIR)$(pkglibdir)/$(INDEX_HELPER_TARGET)
1076         rm -f $(DESTDIR)$(pkglibdir)/$(INDEX_HELPER_TARGET).mdb
1077         rm -f $(DESTDIR)$(pkglibdir)/$(INDEX_HELPER_WRAPPER)
1078         rm -f $(DESTDIR)$(pkglibdir)/$(INDEX_HELPER_WRAPPER).mdb
1079         rm -f $(DESTDIR)$(pkglibdir)/$(INDEX_WEB_CONTENT_TARGET)
1080         rm -f $(DESTDIR)$(pkglibdir)/$(INDEX_WEB_CONTENT_TARGET).mdb
1081         rm -f $(DESTDIR)$(pkglibdir)/$(BUILD_INDEX_TARGET)
1082         rm -f $(DESTDIR)$(pkglibdir)/$(BUILD_INDEX_TARGET).mdb
1083         rm -f $(DESTDIR)$(pkglibdir)/$(MANAGE_INDEX_TARGET)
1084         rm -f $(DESTDIR)$(pkglibdir)/$(MANAGE_INDEX_TARGET).mdb
1086 BIN_WRAPPERS = \
1087         $(DAEMON_WRAPPER)               \
1088         $(INDEX_WEB_CONTENT_WRAPPER)
1090 SBIN_WRAPPERS = \
1091         $(BUILD_INDEX_WRAPPER)          \
1092         $(MANAGE_INDEX_WRAPPER)
1094 #       $(MASTER_DELETE_WRAPPER)
1095 #       $(FS_SANITY_CHECK_WRAPPER)
1097 noinst_SCRIPTS= \
1098         $(EXTRACT_CONTENT_WRAPPER)      \
1099         $(DUMP_INDEX_WRAPPER)           \
1100         $(SNIPPET_TEST_WRAPPER)         \
1101         $(TERM_STATS_WRAPPER)           \
1102         $(NAME_INDEX_WRAPPER)           
1104 EXTRA_DIST = \
1105         $(WRAPPER_IN)                           \
1106         $(DAEMON_WRAPPER_IN)                    \
1107         $(INDEX_HELPER_WRAPPER_IN)              \
1108         $(man_MANS)                             \
1109         $(PLUGIN_CSFILES)                       \
1110         $(DAEMON_DLL_CSFILES)                   \
1111         $(DAEMON_CSFILES)                       \
1112         $(EVO_DLL_CSFILES)                      \
1113         $(EXTRACT_CONTENT_CSFILES)              \
1114         $(DUMP_INDEX_CSFILES)                   \
1115         $(INDEX_WEB_CONTENT_CSFILES)            \
1116         $(SNIPPET_TEST_CSFILES)                 \
1117         $(INDEX_HELPER_CSFILES)                 \
1118         $(MASTER_DELETE_CSFILES)                \
1119         $(TERM_STATS_CSFILES)                   \
1120         $(NAME_INDEX_CSFILES)                   \
1121         $(FS_SANITY_CHECK_CSFILES)              \
1122         $(MANAGE_INDEX_CSFILES)                 \
1123         $(BUILD_INDEX_CSFILES)                  \
1124         $(WEBSERVICES_XSP_CSFILES)              \
1125         $(WEBSERVICES_BACKEND_CSFILES)          \
1126         $(WEBSERVICES_FRONTEND_CSFILES)         \
1127         $(WEBSERVICES_RESOURCES_DIST)           \
1128         $(webservicesdir)/WebServiceProxy.cs    \
1129         $(webservicesdir)/NetBeagleHandler.cs   \
1130         $(webservicesdir)/NetBeagleQueryable.cs
1132 CLEANFILES = \
1133         $(PLUGIN_TARGET)                        \
1134         $(PLUGIN_TARGET).mdb                    \
1135         $(DAEMON_DLL_TARGET)                    \
1136         $(DAEMON_DLL_TARGET).mdb                \
1137         $(DAEMON_TARGET)                        \
1138         $(DAEMON_TARGET).mdb                    \
1139         $(DAEMON_WRAPPER)                       \
1140         $(EVO_DLL_TARGET)                       \
1141         $(EVO_DLL_TARGET).mdb                   \
1142         $(INDEX_HELPER_TARGET)                  \
1143         $(INDEX_HELPER_TARGET).mdb              \
1144         $(INDEX_HELPER_WRAPPER)                 \
1145         $(EXTRACT_CONTENT_TARGET)               \
1146         $(EXTRACT_CONTENT_TARGET).mdb           \
1147         $(EXTRACT_CONTENT_WRAPPER)              \
1148         $(DUMP_INDEX_TARGET)                    \
1149         $(DUMP_INDEX_TARGET).mdb                \
1150         $(DUMP_INDEX_WRAPPER)                   \
1151         $(INDEX_WEB_CONTENT_TARGET)             \
1152         $(INDEX_WEB_CONTENT_TARGET).mdb         \
1153         $(INDEX_WEB_CONTENT_WRAPPER)            \
1154         $(MASTER_DELETE_TARGET)                 \
1155         $(MASTER_DELETE_TARGET).mdb             \
1156         $(MASTER_DELETE_WRAPPER)                \
1157         $(SNIPPET_TEST_TARGET)                  \
1158         $(SNIPPET_TEST_TARGET).mdb              \
1159         $(SNIPPET_TEST_WRAPPER)                 \
1160         $(TERM_STATS_TARGET)                    \
1161         $(TERM_STATS_TARGET).mdb                \
1162         $(TERM_STATS_WRAPPER)                   \
1163         $(NAME_INDEX_TARGET)                    \
1164         $(NAME_INDEX_TARGET).mdb                \
1165         $(NAME_INDEX_WRAPPER)                   \
1166         $(FS_SANITY_CHECK_TARGET)               \
1167         $(FS_SANITY_CHECK_TARGET).mdb           \
1168         $(FS_SANITY_CHECK_WRAPPER)              \
1169         $(MANAGE_INDEX_TARGET)                  \
1170         $(MANAGE_INDEX_TARGET).mdb              \
1171         $(MANAGE_INDEX_WRAPPER)                 \
1172         $(BUILD_INDEX_TARGET)                   \
1173         $(BUILD_INDEX_TARGET).mdb               \
1174         $(BUILD_INDEX_WRAPPER)                  \
1175         $(WEBSERVICES_BACKEND_TARGET)           \
1176         $(WEBSERVICES_BACKEND_TARGET).mdb       \
1177         $(WEBSERVICES_FRONTEND_TARGET)          \
1178         $(WEBSERVICES_FRONTEND_TARGET).mdb      \
1179         $(WEBSERVICES_XSP_TARGET)               \
1180         $(WEBSERVICES_XSP_TARGET).mdb