Don't hardcode mcs, in preparation for a switch to gmcs
[beagle.git] / Util / Makefile.am
blob11dc1d4ea5e5567752cffa99e7b1a6d7db7c0079
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 EXTSTR = ExternalStringsHack.cs
22 EXTSTR_IN = $(srcdir)/$(EXTSTR).in
23 $(EXTSTR): $(EXTSTR_IN)
24         sed     -e "s|\@prefix\@|$(prefix)|g"                   \
25                 -e "s|\@sysconfdir\@|$(sysconfdir)|g"           \
26                 -e "s|\@pkglibdir\@|$(pkglibdir)|g"             \
27                 -e "s|\@pkgdatadir\@|$(pkgdatadir)|g"           \
28                 -e "s|\@localstatedir\@|$(localstatedir)|g"     \
29                 -e "s|\@VERSION\@|$(VERSION)|g"                 \
30                 -e "s|\@GNOME_PREFIX\@|$(GNOME_PREFIX)|g"       \
31                 -e "s|\@KDE_PREFIX\@|$(KDE_PREFIX)|g"           \
32                 -e "s|\@SQLITE_MAJ_VER\@|$(SQLITE_MAJ_VER)|g"   \
33                 < $(EXTSTR_IN) > $@
35 UTIL_CSFILES =                                  \
36         $(srcdir)/ArrayFu.cs                    \
37         $(srcdir)/BetterBitArray.cs             \
38         $(srcdir)/EndianConverter.cs            \
39         $(srcdir)/camel.cs                      \
40         $(srcdir)/CommandLineFu.cs              \
41         $(srcdir)/Conf.cs                       \
42         $(srcdir)/DelayedTextWriter.cs          \
43         $(srcdir)/DigikamTags.cs                \
44         $(srcdir)/DirectoryWalker.cs            \
45         $(srcdir)/Evolution.cs                  \
46         $(srcdir)/ExceptionHandlingThread.cs    \
47         $(srcdir)/ExifData.cs                   \
48         $(srcdir)/ExtendedAttribute.cs          \
49         $(srcdir)/FileAdvise.cs                 \
50         $(srcdir)/FileSystem.cs                 \
51         $(srcdir)/FrequencyStatistics.cs        \
52         $(srcdir)/FSpotTools.cs                 \
53         $(srcdir)/GuidFu.cs                     \
54         $(srcdir)/ICalParser.cs                 \
55         $(srcdir)/ImBuddy.cs                    \
56         $(srcdir)/ImLog.cs                      \
57         $(srcdir)/Inotify.cs                    \
58         $(srcdir)/IoPriority.cs                 \
59         $(srcdir)/JpegHeader.cs                 \
60         $(srcdir)/KdeUtils.cs                   \
61         $(srcdir)/KonqHistoryUtil.cs            \
62         $(srcdir)/Log.cs                        \
63         $(srcdir)/Logger.cs                     \
64         $(srcdir)/MetadataStore.cs              \
65         $(srcdir)/Mozilla.cs                    \
66         $(srcdir)/MultiReader.cs                \
67         $(srcdir)/NautilusTools.cs              \
68         $(srcdir)/Note.cs                       \
69         $(srcdir)/PathFinder.cs                 \
70         $(srcdir)/PngHeader.cs                  \
71         $(srcdir)/PullingReader.cs              \
72         $(srcdir)/ReflectionFu.cs               \
73         $(srcdir)/SafeProcess.cs                \
74         $(srcdir)/Scheduler.cs                  \
75         $(srcdir)/SmallIntArray.cs              \
76         $(srcdir)/Stopwatch.cs                  \
77         $(srcdir)/StringFu.cs                   \
78         $(srcdir)/StringMatcher.cs              \
79         $(srcdir)/SystemInformation.cs          \
80         $(srcdir)/TeeTextWriter.cs              \
81         $(srcdir)/ThreadPond.cs                 \
82         $(srcdir)/Tiff.cs                       \
83         $(srcdir)/Timeline.cs                   \
84         $(srcdir)/TopScores.cs                  \
85         $(srcdir)/UnclosableStream.cs           \
86         $(srcdir)/UriFu.cs                      \
87         $(srcdir)/XdgMime.cs                    \
88         $(srcdir)/XmlFu.cs                      \
89         $(srcdir)/XmpFile.cs                    \
90         $(srcdir)/SemWeb/ForwardLogic.cs                \
91         $(srcdir)/SemWeb/KnowledgeModel.cs              \
92         $(srcdir)/SemWeb/MemoryStore.cs         \
93         $(srcdir)/SemWeb/N3Parser.cs                    \
94         $(srcdir)/SemWeb/N3Writer.cs                    \
95         $(srcdir)/SemWeb/NamespaceManager.cs            \
96         $(srcdir)/SemWeb/Query.cs                       \
97         $(srcdir)/SemWeb/RdfParser.cs                   \
98         $(srcdir)/SemWeb/RdfWriter.cs                   \
99         $(srcdir)/SemWeb/Reasoning.cs                   \
100         $(srcdir)/SemWeb/Resource.cs                    \
101         $(srcdir)/SemWeb/RSquary.cs                     \
102         $(srcdir)/SemWeb/RSquaryFilters.cs              \
103         $(srcdir)/SemWeb/Sparql.cs                      \
104         $(srcdir)/SemWeb/SQLStore.cs                    \
105         $(srcdir)/SemWeb/Statement.cs                   \
106         $(srcdir)/SemWeb/Store.cs                       \
107         $(srcdir)/SemWeb/UriMap.cs                      \
108         $(srcdir)/SemWeb/Util.cs                        \
109         $(srcdir)/SemWeb/XmlParser.cs                   \
110         $(srcdir)/SemWeb/XmlWriter.cs                   \
111         $(srcdir)/SemWeb/XPathSemWebNavigator.cs        \
112         $(srcdir)/PropertyKeywordAttribute.cs
114 if ENABLE_THUNDERBIRD
115 UTIL_CSFILES +=                         \
116         $(srcdir)/Mork.cs               \
117         $(srcdir)/Thunderbird.cs
118 endif
120 if HAS_LIBCHM 
121 UTIL_CSFILES +=                                 \
122         $(srcdir)/ChmFile.cs
123 endif
125 UTIL_ASSEMBLIES =                               \
126         $(BEAGLED_LIBS)                         \
127         -r:System.Web.Services                  \
128         -r:System.Data                          \
129         -r:Mono.Data.SqliteClient               \
130         -r:Mono.Posix                           \
131         -r:System.Web                           \
132         -r:ICSharpCode.SharpZipLib
136 if ENABLE_INOTIFY
137 INOTIFY_EXE = Inotify.exe
138 CSFLAGS += -define:ENABLE_INOTIFY
139 else
140 INOTIFY_EXE =
141 endif
143 UTIL_TARGET_FILES = $(UTIL_CSFILES) $(EXTSTR)
145 if ENABLE_GOOGLEDRIVER
146 GOOGLE_WSDL = $(srcdir)/GoogleSearch.wsdl
147 GOOGLE_CS   = GoogleSearch.cs
149 $(GOOGLE_CS): $(GOOGLE_WSDL)
150         wsdl -namespace:Beagle.Util -out:$@ $^
152 UTIL_TARGET_FILES +=                            \
153         $(GOOGLE_CS)
154 endif
156 $(UTIL_TARGET): $(UTIL_TARGET_FILES)
157         $(CSC) -unsafe -out:$@ $(CSFLAGS) $^ $(UTIL_ASSEMBLIES)
159 UI_UTIL_CSFILES =                               \
160         $(srcdir)/CompatFileChooser.cs          \
161         $(srcdir)/GnomeFu.cs                    \
162         $(srcdir)/GtkUtils.cs                   \
163         $(srcdir)/HigMessageDialog.cs           \
164         $(srcdir)/XKeybinder.cs
166 UI_UTIL_ASSEMBLIES =                            \
167         $(BEAGLE_UI_LIBS)                       \
168         -r:Util.dll
170 if ENABLE_GALAGO
171 UI_UTIL_CSFILES +=                                      \
172         $(srcdir)/Galago.cs
174 UI_UTIL_ASSEMBLIES +=                           \
175         $(GALAGO_LIBS)
176 endif
178 $(UI_UTIL_TARGET): $(UI_UTIL_CSFILES) $(UTIL_TARGET)
179         $(CSC) -unsafe -out:$@ $(CSFLAGS) $(UI_UTIL_CSFILES) $(UI_UTIL_ASSEMBLIES)
181 INOTIFY_TEST_CSFILES =                          \
182         $(srcdir)/Inotify.cs                    \
183         $(srcdir)/Log.cs                        \
184         $(srcdir)/Logger.cs                     \
185         $(srcdir)/DelayedTextWriter.cs          \
186         $(srcdir)/TeeTextWriter.cs              \
187         $(srcdir)/DirectoryWalker.cs            \
188         $(srcdir)/FileSystem.cs                 \
189         $(srcdir)/ExceptionHandlingThread.cs
191 Inotify.exe: $(INOTIFY_TEST_CSFILES)
192         $(CSC) -unsafe -out:$@ $^ -r:Mono.Posix -define:INOTIFY_TEST -define:ENABLE_INOTIFY
194 ALL_TARGETS =                   \
195         $(UTIL_TARGET)          \
196         $(INOTIFY_EXE)
198 if ENABLE_GUI
199 ALL_TARGETS += $(UI_UTIL_TARGET)
200 endif
202 all: $(ALL_TARGETS)
204 install-data-local: $(ALL_TARGETS)
205         $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
206         $(INSTALL_DATA) $(UTIL_TARGET) $(UTIL_TARGET).mdb $(UTIL_TARGET_CONFIG) $(DESTDIR)$(pkglibdir)
207 if ENABLE_GUI
208         $(INSTALL_DATA) $(UI_UTIL_TARGET) $(UI_UTIL_TARGET).mdb $(srcdir)/$(UI_UTIL_TARGET_CONFIG) $(DESTDIR)$(pkglibdir)
209 endif
211 uninstall-local:
212         rm -f $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET) $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET).mdb $(DESTDIR)$(pkglibdir)/$(UTIL_TARGET_CONFIG)
213         rm -f $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET) $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET).mdb $(DESTDIR)$(pkglibdir)/$(UI_UTIL_TARGET_CONFIG)
216 COND_CS_FILES =                 \
217         $(srcdir)/ChmFile.cs    \
218         $(srcdir)/Galago.cs
220 EXTRA_DIST =                    \
221         $(EXTSTR_IN)            \
222         $(UTIL_CSFILES)         \
223         $(UI_UTIL_CSFILES)      \
224         $(COND_CS_FILES)        \
225         UiUtil.dll.config       \
226         Util.dll.config.in      \
227         inotify-test
229 CLEANFILES =                    \
230         $(EXTSTR)               \
231         $(UTIL_TARGET)          \
232         $(UTIL_TARGET).mdb      \
233         $(UI_UTIL_TARGET)       \
234         $(UI_UTIL_TARGET).mdb   \
235         Inotify.exe             \
236         Inotify.exe.mdb
238 if ENABLE_GOOGLEDRIVER
239 EXTRA_DIST +=                   \
240         $(GOOGLE_WSDL)
242 CLEANFILES +=                   \
243         $(GOOGLE_CS)
244 endif