2006-09-10 Francisco Javier F. Serrador <serrador@openshine.com>
[beagle.git] / Util / Makefile.am
blob7bfc94c055a3214f098353e348ea4a984a8dcc3e
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        \
115         $(srcdir)/PropertyKeywordAttribute.cs
117 if ENABLE_THUNDERBIRD
118 UTIL_CSFILES +=                         \
119         $(srcdir)/Mork.cs               \
120         $(srcdir)/Thunderbird.cs
121 endif
123 if HAS_LIBCHM 
124 UTIL_CSFILES +=                                 \
125         $(srcdir)/ChmFile.cs
126 endif
128 UTIL_ASSEMBLIES =                               \
129         $(BEAGLED_LIBS)                         \
130         -r:System.Web.Services                  \
131         -r:System.Data                          \
132         -r:Mono.Data.SqliteClient               \
133         -r:Mono.Posix                           \
134         -r:System.Web                           \
135         -r:ICSharpCode.SharpZipLib
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 if ENABLE_GALAGO
174 UI_UTIL_CSFILES +=                                      \
175         $(srcdir)/Galago.cs
177 UI_UTIL_ASSEMBLIES +=                           \
178         $(GALAGO_LIBS)
179 endif
181 $(UI_UTIL_TARGET): $(UI_UTIL_CSFILES) $(UTIL_TARGET)
182         $(CSC) -unsafe -out:$@ $(CSFLAGS) $(UI_UTIL_CSFILES) $(UI_UTIL_ASSEMBLIES)
184 INOTIFY_TEST_CSFILES =                          \
185         $(srcdir)/Inotify.cs                    \
186         $(srcdir)/Log.cs                        \
187         $(srcdir)/Logger.cs                     \
188         $(srcdir)/DelayedTextWriter.cs          \
189         $(srcdir)/TeeTextWriter.cs              \
190         $(srcdir)/DirectoryWalker.cs            \
191         $(srcdir)/FileSystem.cs                 \
192         $(srcdir)/ExceptionHandlingThread.cs
194 Inotify.exe: $(INOTIFY_TEST_CSFILES)
195         $(CSC) -unsafe -out:$@ $^ -r:Mono.Posix -define:INOTIFY_TEST -define:ENABLE_INOTIFY
197 ALL_TARGETS =                   \
198         $(UTIL_TARGET)          \
199         $(INOTIFY_EXE)
201 if ENABLE_GUI
202 ALL_TARGETS += $(UI_UTIL_TARGET)
203 endif
205 all: $(ALL_TARGETS)
207 install-data-local: $(ALL_TARGETS)
208         $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
209         $(INSTALL_DATA) $(UTIL_TARGET) $(UTIL_TARGET).mdb $(UTIL_TARGET_CONFIG) $(DESTDIR)$(pkglibdir)
210 if ENABLE_GUI
211         $(INSTALL_DATA) $(UI_UTIL_TARGET) $(UI_UTIL_TARGET).mdb $(srcdir)/$(UI_UTIL_TARGET_CONFIG) $(DESTDIR)$(pkglibdir)
212 endif
214 uninstall-local:
215         rm -f $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET) $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET).mdb $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET_CONFIG)
216         rm -f $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET) $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET).mdb $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET_CONFIG)
219 COND_CS_FILES =                 \
220         $(srcdir)/ChmFile.cs    \
221         $(srcdir)/Galago.cs
223 EXTRA_DIST =                    \
224         $(EXTSTR_IN)            \
225         $(UTIL_CSFILES)         \
226         $(UI_UTIL_CSFILES)      \
227         $(COND_CS_FILES)        \
228         UiUtil.dll.config       \
229         Util.dll.config.in      \
230         inotify-test
232 CLEANFILES =                    \
233         $(EXTSTR)               \
234         $(UTIL_TARGET)          \
235         $(UTIL_TARGET).mdb      \
236         $(UI_UTIL_TARGET)       \
237         $(UI_UTIL_TARGET).mdb   \
238         Inotify.exe             \
239         Inotify.exe.mdb
241 if ENABLE_GOOGLEDRIVER
242 EXTRA_DIST +=                   \
243         $(GOOGLE_WSDL)
245 CLEANFILES +=                   \
246         $(GOOGLE_CS)
247 endif