Fix OpenChange server code and access to Samba4 databases.
[OpenChange-git-clone.git] / Makefile
blob67fb42fded945a9c89ed3d806e5499bb521db507
1 # Makefile for OpenChange
2 # Written by Jelmer Vernooij <jelmer@openchange.org>, 2005.
4 default: all
6 # Until we add proper dependencies for all the C files:
7 .NOTPARALLEL:
9 config.mk: config.status config.mk.in
10 ./config.status
12 config.status: configure
13 ./configure
15 configure: configure.ac
16 ./autogen.sh
18 samba:
19 ./script/installsamba4.sh all
21 samba-git:
22 ./script/installsamba4.sh git-all
24 ifneq ($(MAKECMDGOALS), samba)
25 ifneq ($(MAKECMDGOALS), samba-git)
26 include config.mk
27 endif
28 endif
30 #################################################################
31 # top level compilation rules
32 #################################################################
34 all: $(OC_IDL) \
35 $(OC_LIBS) \
36 $(OC_TOOLS) \
37 $(OC_TORTURE) \
38 $(OC_SERVER) \
39 $(SWIGDIRS-ALL) \
40 $(PYMAPIALL) \
41 $(COVERAGE_INIT)
43 install: all \
44 installlib \
45 installpc \
46 installheader \
47 $(OC_TOOLS_INSTALL) \
48 $(OC_SERVER_INSTALL) \
49 $(OC_TORTURE_INSTALL) \
50 $(SWIGDIRS-INSTALL) \
51 $(PYMAPIINSTALL) \
52 installnagios
54 installlib: $(OC_LIBS_INSTALL)
55 installpc: $(OC_LIBS_INSTALLPC)
56 installheader: $(OC_LIBS_INSTALLHEADERS)
58 uninstall:: $(OC_LIBS_UNINSTALL) \
59 $(OC_TOOLS_UNINSTALL) \
60 $(OC_SERVER_UNINSTALL) \
61 $(OC_TORTURE_UNINSTALL) \
62 $(SWIGDIRS-UNINSTALL) \
63 $(PYMAPIUNINSTALL)
65 dist:: distclean
66 ./autogen.sh
68 distclean:: clean
69 rm -rf autom4te.cache
70 rm -f Doxyfile
71 rm -f libmapi/Doxyfile
72 rm -f libmapiadmin/Doxyfile
73 rm -f libocpf/Doxyfile
74 rm -f libmapi++/Doxyfile
75 rm -f mapiproxy/Doxyfile
76 rm -f config.status config.log
77 rm -f stamp-h1
78 rm -f utils/mapitest/Doxyfile
79 rm -f intltool-extract intltool-merge intltool-update
80 rm -rf apidocs
81 rm -rf gen_ndr
82 rm -f tags
84 clean::
85 rm -f *~
86 rm -f */*~
87 rm -f */*/*~
88 rm -f doc/examples/mapi_sample1
89 rm -f doc/examples/fetchappointment
90 rm -f doc/examples/fetchmail
92 re:: clean install
94 #################################################################
95 # Suffixes compilation rules
96 #################################################################
98 .SUFFIXES: .c .o .h .po .idl
100 .idl.h:
101 @echo "Generating $@"
102 @$(PIDL) --outputdir=gen_ndr --header -- $<
104 .c.o:
105 @echo "Compiling $<"
106 @$(CC) $(CFLAGS) -c $< -o $@
108 .c.po:
109 @echo "Compiling $< with -fPIC"
110 @$(CC) $(CFLAGS) -fPIC -c $< -o $@
114 #################################################################
115 # IDL compilation rules
116 #################################################################
118 idl: gen_ndr gen_ndr/ndr_exchange.h gen_ndr/ndr_property.h
120 exchange.idl: mapitags_enum.h mapicodes_enum.h
122 gen_ndr:
123 @echo "Creating the gen_ndr directory"
124 mkdir -p gen_ndr
126 gen_ndr/ndr_%.h gen_ndr/ndr_%.c: %.idl %.h
127 @echo "Generating $@"
128 @$(PIDL) --outputdir=gen_ndr --ndr-parser -- $<
130 gen_ndr/ndr_%_c.h gen_ndr/ndr_%_c.c: %.idl %.h
131 @echo "Generating $@"
132 @$(PIDL) --outputdir=gen_ndr --client -- $<
134 gen_ndr/ndr_%_s.c: %.idl
135 @echo "Generating $@"
136 @$(PIDL) --outputdir=gen_ndr --server -- $<
140 #################################################################
141 # libmapi compilation rules
142 #################################################################
144 LIBMAPI_SO_VERSION = 0
146 libmapi: idl \
147 libmapi/version.h \
148 libmapi/proto.h \
149 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
151 libmapi-install: libmapi \
152 libmapi-installpc \
153 libmapi-installlib \
154 libmapi-installheader \
155 libmapi-installscript
157 libmapi-uninstall: libmapi-uninstallpc \
158 libmapi-uninstalllib \
159 libmapi-uninstallheader \
160 libmapi-uninstallscript
162 libmapi-clean::
163 rm -f libmapi/*.o libmapi/*.po
164 rm -f libmapi/*.gcno libmapi/*.gcda libmapi/*.gcov
165 rm -f libmapi/tests/*.o libmapi/tests/*.po
166 rm -f libmapi/tests/*.gcno libmapi/tests/*.gcda
167 rm -f libmapi/socket/*.o libmapi/socket/*.po
168 rm -f libmapi/socket/*.gcno libmapi/socket/*.gcda
169 rm -f libmapi/util/*.o libmapi/util/*.po
170 rm -f libmapi/util/*.gcno libmapi/util/*.gcda
171 rm -f libmapi/version.h
172 ifneq ($(SNAPSHOT), no)
173 rm -f libmapi/utf8_convert.yy.c
174 rm -f libmapi/mapicode.c libmapi/mapicode.h
175 rm -f libmapi/mapitags.c libmapi/mapitags.h
176 rm -f libmapi/mapi_nameid.h libmapi/mapi_nameid_private.h
177 rm -f libmapi/proto.h
178 rm -f libmapi/proto_private.h
179 rm -f mapicodes_enum.h
180 rm -f mapitags_enum.h
181 endif
182 rm -f gen_ndr/ndr_exchange*
183 rm -f gen_ndr/exchange.h
184 rm -f gen_ndr/ndr_property*
185 rm -f gen_ndr/property.h
186 rm -f ndr_mapi.o ndr_mapi.po
187 rm -f ndr_mapi.gcno ndr_mapi.gcda
188 rm -f *~
189 rm -f */*~
190 rm -f */*/*~
191 rm -f libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) \
192 libmapi.$(SHLIBEXT)
194 clean:: libmapi-clean
196 libmapi-distclean::
197 rm -f libmapi.pc
199 distclean:: libmapi-distclean
201 libmapi-installpc:
202 @echo "[*] install: libmapi pc files"
203 $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
204 $(INSTALL) -m 0644 libmapi.pc $(DESTDIR)$(libdir)/pkgconfig
206 libmapi-installlib:
207 @echo "[*] install: libmapi library"
208 $(INSTALL) -d $(DESTDIR)$(libdir)
209 $(INSTALL) -m 0755 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
210 ln -sf libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapi.$(SHLIBEXT)
212 libmapi-installheader:
213 @echo "[*] install: libmapi headers"
214 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi
215 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi/socket
216 $(INSTALL) -d $(DESTDIR)$(includedir)/gen_ndr
217 $(INSTALL) -m 0644 libmapi/dlinklist.h $(DESTDIR)$(includedir)/libmapi/
218 $(INSTALL) -m 0644 libmapi/libmapi.h $(DESTDIR)$(includedir)/libmapi/
219 $(INSTALL) -m 0644 libmapi/proto.h $(DESTDIR)$(includedir)/libmapi/
220 $(INSTALL) -m 0644 libmapi/nspi.h $(DESTDIR)$(includedir)/libmapi/
221 $(INSTALL) -m 0644 libmapi/emsmdb.h $(DESTDIR)$(includedir)/libmapi/
222 $(INSTALL) -m 0644 libmapi/mapi_ctx.h $(DESTDIR)$(includedir)/libmapi/
223 $(INSTALL) -m 0644 libmapi/mapi_provider.h $(DESTDIR)$(includedir)/libmapi/
224 $(INSTALL) -m 0644 libmapi/mapi_id_array.h $(DESTDIR)$(includedir)/libmapi/
225 $(INSTALL) -m 0644 libmapi/mapi_notification.h $(DESTDIR)$(includedir)/libmapi/
226 $(INSTALL) -m 0644 libmapi/mapi_object.h $(DESTDIR)$(includedir)/libmapi/
227 $(INSTALL) -m 0644 libmapi/mapi_profile.h $(DESTDIR)$(includedir)/libmapi/
228 $(INSTALL) -m 0644 libmapi/mapi_nameid.h $(DESTDIR)$(includedir)/libmapi/
229 $(INSTALL) -m 0644 libmapi/mapidefs.h $(DESTDIR)$(includedir)/libmapi/
230 $(INSTALL) -m 0644 libmapi/version.h $(DESTDIR)$(includedir)/libmapi/
231 $(INSTALL) -m 0644 libmapi/mapicode.h $(DESTDIR)$(includedir)/libmapi/
232 $(INSTALL) -m 0644 libmapi/socket/netif.h $(DESTDIR)$(includedir)/libmapi/socket/
233 $(INSTALL) -m 0644 gen_ndr/exchange.h $(DESTDIR)$(includedir)/gen_ndr/
234 $(INSTALL) -m 0644 gen_ndr/property.h $(DESTDIR)$(includedir)/gen_ndr/
236 libmapi-installscript:
237 $(INSTALL) -d $(DESTDIR)$(datadir)/setup/profiles
238 $(INSTALL) -m 0644 setup/profiles/oc_profiles* $(DESTDIR)$(datadir)/setup/profiles/
240 libmapi-uninstallpc:
241 rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapi.pc
243 libmapi-uninstalllib:
244 rm -f $(DESTDIR)$(libdir)/libmapi.*
246 libmapi-uninstallheader:
247 rm -rf $(DESTDIR)$(includedir)/libmapi
248 rm -f $(DESTDIR)$(includedir)/gen_ndr/exchange.h
249 rm -f $(DESTDIR)$(includedir)/gen_ndr/property.h
251 libmapi-uninstallscript:
252 rm -f $(DESTDIR)$(datadir)/setup/profiles/oc_profiles*
253 rm -rf $(DESTDIR)$(datadir)/setup/profiles
255 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION): \
256 libmapi/IABContainer.po \
257 libmapi/IProfAdmin.po \
258 libmapi/IMAPIContainer.po \
259 libmapi/IMAPIFolder.po \
260 libmapi/IMAPIProp.po \
261 libmapi/IMAPISession.po \
262 libmapi/IMAPISupport.po \
263 libmapi/IStream.po \
264 libmapi/IMAPITable.po \
265 libmapi/IMessage.po \
266 libmapi/IMsgStore.po \
267 libmapi/IStoreFolder.po \
268 libmapi/IUnknown.po \
269 libmapi/IMSProvider.po \
270 libmapi/IXPLogon.po \
271 libmapi/FXICS.po \
272 libmapi/utils.po \
273 libmapi/property.po \
274 libmapi/cdo_mapi.po \
275 libmapi/lzfu.po \
276 libmapi/mapi_object.po \
277 libmapi/mapi_id_array.po \
278 libmapi/mapitags.po \
279 libmapi/mapidump.po \
280 libmapi/mapicode.po \
281 libmapi/mapi_nameid.po \
282 libmapi/emsmdb.po \
283 libmapi/nspi.po \
284 libmapi/simple_mapi.po \
285 libmapi/util/lcid.po \
286 libmapi/util/codepage.po \
287 libmapi/freebusy.po \
288 libmapi/x500.po \
289 ndr_mapi.po \
290 gen_ndr/ndr_exchange.po \
291 gen_ndr/ndr_exchange_c.po \
292 gen_ndr/ndr_property.po \
293 libmapi/socket/interface.po \
294 libmapi/socket/netif.po \
295 libmapi/utf8_convert.yy.po
296 @echo "Linking $@"
297 @$(CC) $(DSOOPT) $(CFLAGS) $(LDFLAGS) -Wl,-soname,libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) -o $@ $^ $(LIBS)
300 libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION): libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
301 ln -fs $< $@
303 libmapi/version.h: VERSION
304 @./script/mkversion.sh VERSION libmapi/version.h $(PACKAGE_VERSION) $(top_builddir)/
306 libmapi/utf8_convert.yy.c: libmapi/utf8_convert.l
307 @echo "Generating $@"
308 @$(FLEX) -Plibmapi_utf8_convert_ -t $< > $@
310 # Avoid warnings:
311 libmapi/utf8_convert.yy.o: CFLAGS=
312 libmapi/utf8_convert.yy.po: CFLAGS=
314 libmapi/proto.h libmapi/proto_private.h: \
315 libmapi/nspi.c \
316 libmapi/emsmdb.c \
317 libmapi/cdo_mapi.c \
318 libmapi/simple_mapi.c \
319 libmapi/mapitags.c \
320 libmapi/mapicode.c \
321 libmapi/mapidump.c \
322 libmapi/mapi_object.c \
323 libmapi/mapi_id_array.c \
324 libmapi/mapi_nameid.c \
325 libmapi/property.c \
326 libmapi/IABContainer.c \
327 libmapi/IProfAdmin.c \
328 libmapi/IMAPIContainer.c \
329 libmapi/IMAPIFolder.c \
330 libmapi/IMAPIProp.c \
331 libmapi/IMAPISession.c \
332 libmapi/IMAPISupport.c \
333 libmapi/IMAPITable.c \
334 libmapi/IMSProvider.c \
335 libmapi/IMessage.c \
336 libmapi/IMsgStore.c \
337 libmapi/IStoreFolder.c \
338 libmapi/IUnknown.c \
339 libmapi/IStream.c \
340 libmapi/IXPLogon.c \
341 libmapi/FXICS.c \
342 libmapi/freebusy.c \
343 libmapi/x500.c \
344 libmapi/lzfu.c \
345 libmapi/utils.c \
346 libmapi/util/lcid.c \
347 libmapi/util/codepage.c \
348 libmapi/socket/interface.c \
349 libmapi/socket/netif.c
350 @echo "Generating $@"
351 @./script/mkproto.pl --private=libmapi/proto_private.h --public=libmapi/proto.h $^
353 libmapi/emsmdb.c: libmapi/emsmdb.h gen_ndr/ndr_exchange_c.h
355 libmapi/mapitags.c libmapi/mapicode.c mapitags_enum.h mapicodes_enum.h: \
356 libmapi/conf/mapi-properties \
357 libmapi/conf/mapi-codes \
358 libmapi/conf/mapi-named-properties \
359 libmapi/conf/mparse.pl
360 @./libmapi/conf/build.sh
362 #################################################################
363 # libmapi++ compilation rules
364 #################################################################
366 libmapixx: libmapi libmapixx-tests libmapixx-examples
368 libmapixx-installpc:
370 libmapixx-clean: libmapixx-tests-clean
372 libmapixx-install: libmapixx-installheader
374 libmapixx-uninstall: libmapixx-uninstallheader
376 libmapixx-installheader:
377 @echo "[*] install: libmapi++ headers"
378 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi++
379 $(INSTALL) -m 0644 libmapi++/attachment.h $(DESTDIR)$(includedir)/libmapi++/
380 $(INSTALL) -m 0644 libmapi++/clibmapi.h $(DESTDIR)$(includedir)/libmapi++/
381 $(INSTALL) -m 0644 libmapi++/folder.h $(DESTDIR)$(includedir)/libmapi++/
382 $(INSTALL) -m 0644 libmapi++/libmapi++.h $(DESTDIR)$(includedir)/libmapi++/
383 $(INSTALL) -m 0644 libmapi++/mapi_exception.h $(DESTDIR)$(includedir)/libmapi++/
384 $(INSTALL) -m 0644 libmapi++/message.h $(DESTDIR)$(includedir)/libmapi++/
385 $(INSTALL) -m 0644 libmapi++/message_store.h $(DESTDIR)$(includedir)/libmapi++/
386 $(INSTALL) -m 0644 libmapi++/object.h $(DESTDIR)$(includedir)/libmapi++/
387 $(INSTALL) -m 0644 libmapi++/profile.h $(DESTDIR)$(includedir)/libmapi++/
388 $(INSTALL) -m 0644 libmapi++/property_container.h $(DESTDIR)$(includedir)/libmapi++/
389 $(INSTALL) -m 0644 libmapi++/session.h $(DESTDIR)$(includedir)/libmapi++/
390 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi++/impl
391 $(INSTALL) -m 0644 libmapi++/impl/* $(DESTDIR)$(includedir)/libmapi++/impl/
393 libmapixx-uninstallheader:
394 rm -rf $(DESTDIR)$(includedir)/libmapi++
397 libmapixx-tests: libmapixx-test \
398 libmapixx-attach \
399 libmapixx-exception
401 libmapixx-tests-clean: libmapixx-test-clean \
402 libmapixx-attach-clean \
403 libmapixx-exception-clean
405 libmapixx-test: bin/libmapixx-test
407 libmapixx-test-clean:
408 rm -f bin/libmapixx-test
409 rm -f libmapi++/tests/*.o
411 clean:: libmapixx-tests-clean
413 bin/libmapixx-test: libmapi++/tests/test.cpp \
414 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
415 @echo "Linking sample application $@"
416 @$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
418 clean:: libmapixx-test-clean
420 libmapixx-attach: bin/libmapixx-attach
422 libmapixx-attach-clean:
423 rm -f bin/libmapixx-attach
424 rm -f libmapi++/tests/*.o
426 bin/libmapixx-attach: libmapi++/tests/attach_test.cpp \
427 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
428 @echo "Linking sample application $@"
429 @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
431 clean:: libmapixx-attach-clean
433 libmapixx-exception: bin/libmapixx-exception
435 bin/libmapixx-exception: libmapi++/tests/exception_test.cpp \
436 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
437 @echo "Linking exception test application $@"
438 @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
440 libmapixx-exception-clean:
441 rm -f bin/libmapixx-exception
442 rm -f libmapi++/tests/*.o
444 clean:: libmapixx-exception-clean
446 libmapixx-examples: libmapi++/examples/foldertree \
447 libmapi++/examples/messages
449 libmapixx-foldertree-clean:
450 rm -f libmapi++/examples/foldertree
451 rm -f libmapi++/examples/*.o
453 libmapixx-messages-clean:
454 rm -f libmapi++/examples/messages
455 rm -f libmapi++/examples/*.o
457 libmapi++/examples/foldertree: libmapi++/examples/foldertree.cpp \
458 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
459 @echo "Linking foldertree example application $@"
460 @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
462 clean:: libmapixx-foldertree-clean
464 libmapi++/examples/messages: libmapi++/examples/messages.cpp \
465 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
466 @echo "Linking messages example application $@"
467 @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
469 clean:: libmapixx-messages-clean
471 #################################################################
472 # libmapiadmin compilation rules
473 #################################################################
475 LIBMAPIADMIN_SO_VERSION = 0
477 libmapiadmin: libmapiadmin/proto.h \
478 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION)
480 libmapiadmin-install: libmapiadmin-installpc \
481 libmapiadmin-installlib \
482 libmapiadmin-installheader
484 libmapiadmin-uninstall: libmapiadmin-uninstallpc \
485 libmapiadmin-uninstalllib \
486 libmapiadmin-uninstallheader
488 libmapiadmin-clean::
489 rm -f libmapiadmin/*.o libmapiadmin/*.po
490 rm -f libmapiadmin/*.gcno libmapiadmin/*.gcda
491 ifneq ($(SNAPSHOT), no)
492 rm -f libmapiadmin/proto.h
493 rm -f libmapiadmin/proto_private.h
494 endif
495 rm -f libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) \
496 libmapiadmin.$(SHLIBEXT)
498 clean:: libmapiadmin-clean
500 libmapiadmin-distclean::
501 rm -f libmapiadmin.pc
503 distclean:: libmapiadmin-distclean
505 libmapiadmin-installpc:
506 @echo "[*] install: libmapiadmin pc files"
507 $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
508 $(INSTALL) -m 0644 libmapiadmin.pc $(DESTDIR)$(libdir)/pkgconfig
510 libmapiadmin-installlib:
511 @echo "[*] install: libmapiadmin library"
512 $(INSTALL) -d $(DESTDIR)$(libdir)
513 $(INSTALL) -m 0755 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
514 ln -sf libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapiadmin.$(SHLIBEXT)
516 libmapiadmin-installheader:
517 @echo "[*] install: libmapiadmin headers"
518 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapiadmin
519 $(INSTALL) -m 0644 libmapiadmin/proto.h $(DESTDIR)$(includedir)/libmapiadmin/
520 $(INSTALL) -m 0644 libmapiadmin/libmapiadmin.h $(DESTDIR)$(includedir)/libmapiadmin/
522 libmapiadmin-uninstallpc:
523 rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapiadmin.pc
525 libmapiadmin-uninstalllib:
526 rm -f $(DESTDIR)$(libdir)/libmapiadmin.*
528 libmapiadmin-uninstallheader:
529 rm -rf $(DESTDIR)$(includedir)/libmapiadmin
531 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION): \
532 libmapiadmin/mapiadmin_user.po \
533 libmapiadmin/mapiadmin.po \
534 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
535 @echo "Linking $@"
536 @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS)
538 libmapiadmin/proto.h libmapiadmin/proto_private.h: \
539 libmapiadmin/mapiadmin.c \
540 libmapiadmin/mapiadmin_user.c
541 @echo "Generating $@"
542 @./script/mkproto.pl -private=libmapiadmin/proto_private.h --public=libmapiadmin/proto.h $^
546 #################################################################
547 # libocpf compilation rules
548 #################################################################
550 LIBOCPF_SO_VERSION = 0
552 libocpf: libocpf/proto.h \
553 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
555 libocpf-install: libocpf-installpc \
556 libocpf-installlib \
557 libocpf-installheader
559 libocpf-uninstall: libocpf-uninstallpc \
560 libocpf-uninstalllib \
561 libocpf-uninstallheader
563 libocpf-clean::
564 rm -f libocpf/*.o libocpf/*.po
565 rm -f libocpf/*.gcno libocpf/*.gcda
566 ifneq ($(SNAPSHOT), no)
567 rm -f libocpf/lex.yy.c
568 rm -f libocpf/ocpf.tab.c libocpf/ocpf.tab.h
569 rm -f libocpf/proto.h
570 rm -f libocpf/proto_private.h
571 endif
572 rm -f libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) \
573 libocpf.$(SHLIBEXT)
575 clean:: libocpf-clean
577 libocpf-distclean::
578 rm -f libocpf.pc
580 distclean:: libocpf-distclean
582 libocpf-installpc:
583 @echo "[*] install: libocpf pc files"
584 $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
585 $(INSTALL) -m 0644 libocpf.pc $(DESTDIR)$(libdir)/pkgconfig
587 libocpf-installlib:
588 @echo "[*] install: libocpf library"
589 $(INSTALL) -d $(DESTDIR)$(libdir)
590 $(INSTALL) -m 0755 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
591 ln -sf libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libocpf.$(SHLIBEXT)
593 libocpf-installheader:
594 @echo "[*] install: libocpf headers"
595 $(INSTALL) -d $(DESTDIR)$(includedir)/libocpf
596 $(INSTALL) -m 0644 libocpf/ocpf.h $(DESTDIR)$(includedir)/libocpf/
597 $(INSTALL) -m 0644 libocpf/proto.h $(DESTDIR)$(includedir)/libocpf/
599 libocpf-uninstallpc:
600 rm -f $(DESTDIR)$(libdir)/pkgconfig/libocpf.pc
602 libocpf-uninstalllib:
603 rm -f $(DESTDIR)$(libdir)/libocpf.*
605 libocpf-uninstallheader:
606 rm -rf $(DESTDIR)$(includedir)/libocpf
608 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION): \
609 libocpf/ocpf.tab.po \
610 libocpf/lex.yy.po \
611 libocpf/ocpf_public.po \
612 libocpf/ocpf_dump.po \
613 libocpf/ocpf_api.po \
614 libocpf/ocpf_write.po \
615 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
616 @echo "Linking $@"
617 @$(CC) $(DSOOPT) $(LDFLAGS) -Wl,-soname,libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) -o $@ $^ $(LIBS)
619 libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION): libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
620 ln -fs $< $@
622 libocpf/proto.h: libocpf/ocpf_public.c \
623 libocpf/ocpf_dump.c \
624 libocpf/ocpf_api.c \
625 libocpf/ocpf_write.c
626 @echo "Generating $@"
627 @./script/mkproto.pl --private=libocpf/proto_private.h \
628 --public=libocpf/proto.h $^
630 libocpf/lex.yy.c: libocpf/lex.l
631 @echo "Generating $@"
632 @$(FLEX) -t $< > $@
634 libocpf/ocpf.tab.c: libocpf/ocpf.y
635 @echo "Generating $@"
636 @$(BISON) -pocpf_yy -d $< -o $@
638 # Avoid warnings
639 libocpf/lex.yy.o: CFLAGS=
640 libocpf/ocpf.tab.o: CFLAGS=
644 #################################################################
645 # torture suite compilation rules
646 #################################################################
648 torture: torture/torture_proto.h \
649 torture/openchange.$(SHLIBEXT)
651 torture-install:
652 @echo "[*] install: openchange torture suite"
653 $(INSTALL) -d $(DESTDIR)$(TORTURE_MODULESDIR)
654 $(INSTALL) -m 0755 torture/openchange.$(SHLIBEXT) $(DESTDIR)$(TORTURE_MODULESDIR)
656 torture-uninstall:
657 rm -f $(DESTDIR)$(TORTURE_MODULESDIR)/openchange.*
659 torture-clean::
660 rm -f torture/*.$(SHLIBEXT)
661 ifneq ($(SNAPSHOT), no)
662 rm -f torture/torture_proto.h
663 endif
664 rm -f torture/*.o torture/*.po torture/*.gcno torture/*.gcda
666 clean:: torture-clean
668 torture/openchange.$(SHLIBEXT): \
669 torture/nspi_profile.po \
670 torture/nspi_resolvenames.po \
671 torture/mapi_restrictions.po \
672 torture/mapi_criteria.po \
673 torture/mapi_copymail.po \
674 torture/mapi_sorttable.po \
675 torture/mapi_bookmark.po \
676 torture/mapi_fetchmail.po \
677 torture/mapi_sendmail.po \
678 torture/mapi_sendmail_html.po \
679 torture/mapi_deletemail.po \
680 torture/mapi_newmail.po \
681 torture/mapi_sendattach.po \
682 torture/mapi_fetchattach.po \
683 torture/mapi_fetchappointment.po \
684 torture/mapi_sendappointment.po \
685 torture/mapi_fetchcontacts.po \
686 torture/mapi_sendcontacts.po \
687 torture/mapi_fetchtasks.po \
688 torture/mapi_sendtasks.po \
689 torture/mapi_common.po \
690 torture/mapi_permissions.po \
691 torture/mapi_createuser.po \
692 torture/exchange_createuser.po \
693 torture/mapi_namedprops.po \
694 torture/mapi_recipient.po \
695 torture/openchange.po \
696 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
697 @echo "Linking $@"
698 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS)
700 torture/torture_proto.h: torture/mapi_restrictions.c \
701 torture/mapi_criteria.c \
702 torture/mapi_deletemail.c \
703 torture/mapi_newmail.c \
704 torture/mapi_fetchmail.c \
705 torture/mapi_sendattach.c \
706 torture/mapi_sorttable.c \
707 torture/mapi_bookmark.c \
708 torture/mapi_copymail.c \
709 torture/mapi_fetchattach.c \
710 torture/mapi_sendmail.c \
711 torture/mapi_sendmail_html.c \
712 torture/nspi_profile.c \
713 torture/nspi_resolvenames.c \
714 torture/mapi_fetchappointment.c \
715 torture/mapi_sendappointment.c \
716 torture/mapi_fetchcontacts.c \
717 torture/mapi_sendcontacts.c \
718 torture/mapi_fetchtasks.c \
719 torture/mapi_sendtasks.c \
720 torture/mapi_common.c \
721 torture/mapi_permissions.c \
722 torture/mapi_namedprops.c \
723 torture/mapi_recipient.c \
724 torture/mapi_createuser.c \
725 torture/exchange_createuser.c \
726 torture/openchange.c
727 @echo "Generating $@"
728 @./script/mkproto.pl --private=torture/torture_proto.h --public=torture/torture_proto.h $^
730 #################################################################
731 # mapiproxy compilation rules
732 #################################################################
733 LIBMAPIPROXY_SO_VERSION = 0
734 LIBMAPISERVER_SO_VERSION = 0
736 .PHONY: mapiproxy
738 mapiproxy: idl \
739 libmapiproxy \
740 libmapiserver \
741 libmapistore \
742 mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT) \
743 mapiproxy-modules \
744 mapiproxy-servers
746 mapiproxy-install: mapiproxy \
747 mapiproxy-modules-install \
748 mapiproxy-servers-install \
749 libmapiproxy-install \
750 libmapiserver-install \
751 libmapistore-install
752 $(INSTALL) -d $(DESTDIR)$(SERVER_MODULESDIR)
753 $(INSTALL) -m 0755 mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT) $(DESTDIR)$(SERVER_MODULESDIR)
755 mapiproxy-uninstall: mapiproxy-modules-uninstall \
756 mapiproxy-servers-uninstall \
757 libmapiproxy-uninstall \
758 libmapiserver-uninstall \
759 libmapistore-uninstall
760 rm -f $(DESTDIR)$(SERVER_MODULESDIR)/dcesrv_mapiproxy.*
761 rm -f $(DESTDIR)$(libdir)/libmapiproxy.*
762 rm -f $(DESTDIR)$(includedir)/libmapiproxy.h
764 mapiproxy-clean:: mapiproxy-modules-clean \
765 mapiproxy-servers-clean \
766 libmapiproxy-clean \
767 libmapiserver-clean \
768 libmapistore-clean
769 rm -f mapiproxy/*.o mapiproxy/*.po
770 rm -f mapiproxy/*.gcno mapiproxy/*.gcda
771 rm -f mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT)
773 clean:: mapiproxy-clean
776 mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT): mapiproxy/dcesrv_mapiproxy.po \
777 mapiproxy/dcesrv_mapiproxy_nspi.po \
778 mapiproxy/dcesrv_mapiproxy_rfr.po \
779 mapiproxy/dcesrv_mapiproxy_unused.po \
780 ndr_mapi.po \
781 gen_ndr/ndr_exchange.po
783 @echo "Linking $@"
784 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
786 mapiproxy/dcesrv_mapiproxy.c: gen_ndr/ndr_exchange_s.c gen_ndr/ndr_exchange.c
789 ###############
790 # libmapiproxy
791 ###############
793 libmapiproxy: mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
795 libmapiproxy-install:
796 $(INSTALL) -m 0755 mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
797 ln -sf libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapiproxy.$(SHLIBEXT)
798 $(INSTALL) -m 0644 mapiproxy/libmapiproxy/libmapiproxy.h $(DESTDIR)$(includedir)/
799 $(INSTALL) -m 0644 mapiproxy/libmapiproxy.pc $(DESTDIR)$(libdir)/pkgconfig
801 libmapiproxy-clean:
802 rm -f mapiproxy/libmapiproxy/*.po mapiproxy/libmapiproxy/*.o
803 rm -f mapiproxy/libmapiproxy/*.gcno mapiproxy/libmapiproxy/*.gcda
804 ifneq ($(SNAPSHOT), no)
805 rm -f mapiproxy/libmapiproxy/openchangedb_property.c
806 endif
807 rm -f mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
808 rm -f mapiproxy/libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION)
810 libmapiproxy-uninstall:
811 rm -f $(DESTDIR)$(libdir)/libmapiproxy.*
812 rm -f $(DESTDIR)$(includedir)/libmapiproxy.h
813 rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapiproxy.pc
815 libmapiproxy-distclean:
816 rm -f mapiproxy/libmapiproxy.pc
818 distclean::libmapiproxy-distclean
820 mapiproxy/libmapiproxy/openchangedb_property.c: libmapi/conf/mapi-properties libmapi/conf/mparse.pl
821 @./libmapi/conf/mparse.pl --parser=openchangedb_property --outputdir=mapiproxy/libmapiproxy/ \
822 libmapi/conf/mapi-properties
824 mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION): mapiproxy/libmapiproxy/dcesrv_mapiproxy_module.po \
825 mapiproxy/libmapiproxy/dcesrv_mapiproxy_server.po \
826 mapiproxy/libmapiproxy/dcesrv_mapiproxy_session.po \
827 mapiproxy/libmapiproxy/openchangedb.po \
828 mapiproxy/libmapiproxy/openchangedb_property.po \
829 mapiproxy/libmapiproxy/mapi_handles.po \
830 mapiproxy/libmapiproxy/entryid.po \
831 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
832 @$(CC) -o $@ $(DSOOPT) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS) $(TDB_LIBS)
834 mapiproxy/libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION): libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
835 ln -fs $< $@
838 #################
839 # libmapiserver
840 #################
842 libmapiserver: mapiproxy/libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION)
844 libmapiserver-install:
845 $(INSTALL) -m 0755 mapiproxy/libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
846 ln -sf libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapiserver.$(SHLIBEXT)
847 $(INSTALL) -m 0644 mapiproxy/libmapiserver/libmapiserver.h $(DESTDIR)$(includedir)/
848 $(INSTALL) -m 0644 mapiproxy/libmapiserver.pc $(DESTDIR)$(libdir)/pkgconfig
850 libmapiserver-clean:
851 rm -f mapiproxy/libmapiserver/*.po mapiproxy/libmapiserver/*.o
852 rm -f mapiproxy/libmapiserver/*.gcno mapiproxy/libmapiserver/*.gcda
853 rm -f mapiproxy/libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION)
854 rm -f mapiproxy/libmapiserver.$(SHLIBEXT).$(LIBMAPISERVER_SO_VERSION)
856 libmapiserver-uninstall:
857 rm -f $(DESTDIR)$(libdir)/libmapiserver.*
858 rm -f $(DESTDIR)$(includedir)/libmapiserver.h
859 rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapiserver.pc
861 libmapiserver-distclean:
862 rm -f mapiproxy/libmapiserver.pc
864 distclean:: libmapiserver-distclean
866 mapiproxy/libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION): mapiproxy/libmapiserver/libmapiserver_oxcstor.po \
867 mapiproxy/libmapiserver/libmapiserver_oxcprpt.po \
868 mapiproxy/libmapiserver/libmapiserver_oxcfold.po \
869 mapiproxy/libmapiserver/libmapiserver_oxctabl.po \
870 mapiproxy/libmapiserver/libmapiserver_oxcmsg.po \
871 mapiproxy/libmapiserver/libmapiserver_oxcnotif.po \
872 mapiproxy/libmapiserver/libmapiserver_oxorule.po \
873 ndr_mapi.po \
874 gen_ndr/ndr_exchange.po
875 @$(CC) -o $@ $(DSOOPT) -Wl,-soname,libmapiserver.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ $(LIBS)
877 mapiproxy/libmapiserver.$(SHLIBEXT).$(LIBMAPISERVER_SO_VERSION): libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION)
878 ln -fs $< $@
881 ################
882 # libmapistore
883 ################
884 LIBMAPISTORE_SO_VERSION = 0
886 libmapistore: mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) \
887 $(OC_MAPISTORE) \
888 mapistore_test
890 libmapistore-install: $(OC_MAPISTORE_INSTALL)
891 $(INSTALL) -m 0755 mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
892 ln -sf libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapistore.$(SHLIBEXT)
893 $(INSTALL) -d $(DESTDIR)$(includedir)/mapistore
894 $(INSTALL) -m 0644 mapiproxy/libmapistore/mapistore.h $(DESTDIR)$(includedir)/mapistore/
895 $(INSTALL) -m 0644 mapiproxy/libmapistore/mapistore_errors.h $(DESTDIR)$(includedir)/mapistore/
896 $(INSTALL) -m 0644 mapiproxy/libmapiserver.pc $(DESTDIR)$(libdir)/pkgconfig
898 libmapistore-clean: $(OC_MAPISTORE_CLEAN)
899 rm -f mapiproxy/libmapistore/*.po mapiproxy/libmapistore/*.o
900 rm -f mapiproxy/libmapistore/*.gcno mapiproxy/libmapistore/*.gcda
901 rm -f mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION)
902 rm -f mapiproxy/libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION)
904 libmapistore-uninstall: $(OC_MAPISTORE_UNINSTALL)
905 rm -f $(DESTDIR)$(libdir)/libmapistore.*
906 rm -rf $(DESTDIR)$(includedir)/mapistore
907 rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapistore.pc
909 libmapistore-distclean: libmapistore-clean
910 rm -f mapiproxy/libmapistore.pc
912 distclean:: libmapistore-distclean
914 mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION): mapiproxy/libmapistore/mapistore_interface.po \
915 mapiproxy/libmapistore/mapistore_processing.po \
916 mapiproxy/libmapistore/mapistore_backend.po \
917 mapiproxy/libmapistore/mapistore_tdb_wrap.po
918 @$(CC) -o $@ $(DSOOPT) $(LDFLAGS) -Wl,-soname,libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION) $^ -L. $(LIBS) $(TDB_LIBS)
920 mapiproxy/libmapistore.$(SHLIBEXT).$(LIBMAPISTORE_SO_VERSION): libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION)
921 ln -fs $< $@
923 #####################
924 # mapistore backends
925 #####################
927 mapistore_sqlite3: mapiproxy/libmapistore/backends/mapistore_sqlite3.$(SHLIBEXT)
929 mapistore_sqlite3-install:
930 $(INSTALL) -d $(DESTDIR)$(libdir)/mapistore_backends
931 $(INSTALL) -m 0755 mapiproxy/libmapistore/backends/mapistore_sqlite3.$(SHLIBEXT) $(DESTDIR)$(libdir)/mapistore_backends/
933 mapistore_sqlite3-uninstall:
934 rm -rf $(DESTDIR)$(libdir)/mapistore_backends
936 mapistore_sqlite3-clean:
937 rm -f mapiproxy/libmapistore/backends/mapistore_sqlite3.o
938 rm -f mapiproxy/libmapistore/backends/mapistore_sqlite3.po
939 rm -f mapiproxy/libmapistore/backends/mapistore_sqlite3.gcno
940 rm -f mapiproxy/libmapistore/backends/mapistore_sqlite3.gcda
942 clean:: mapistore_sqlite3-clean
944 mapistore_sqlite3-distclean: mapistore_sqlite3-clean
945 rm -f mapiproxy/libmapistore/backends/mapistore_sqlite3.so
947 distclean:: mapistore_sqlite3-distclean
949 mapiproxy/libmapistore/backends/mapistore_sqlite3.$(SHLIBEXT): mapiproxy/libmapistore/backends/mapistore_sqlite3.po
950 @echo "Linking mapistore module $@"
951 @$(CC) $(SQLITE_CFLAGS) -o $@ $(DSOOPT) $(LDFLAGS) $^ -L. $(LIBS) $(SQLITE_LIBS) \
952 -Lmapiproxy mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION)
954 #######################
955 # mapistore test tools
956 #######################
958 mapistore_test: bin/mapistore_test
960 bin/mapistore_test: mapiproxy/libmapistore/tests/mapistore_test.o \
961 mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION)
962 @echo "Linking $@"
963 @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
965 mapistore_clean:
966 rm -f mapiproxy/libmapistore/tests/*.o
967 rm -f mapiproxy/libmapistore/tests/*.gcno
968 rm -f mapiproxy/libmapistore/tests/*.gcda
969 rm -f bin/mapistore_test
971 clean:: mapistore_clean
973 ####################
974 # mapiproxy modules
975 ####################
977 mapiproxy-modules: mapiproxy/modules/mpm_downgrade.$(SHLIBEXT) \
978 mapiproxy/modules/mpm_pack.$(SHLIBEXT) \
979 mapiproxy/modules/mpm_cache.$(SHLIBEXT) \
980 mapiproxy/modules/mpm_dummy.$(SHLIBEXT)
982 mapiproxy-modules-install: mapiproxy-modules
983 $(INSTALL) -d $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
984 $(INSTALL) -m 0755 mapiproxy/modules/mpm_downgrade.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
985 $(INSTALL) -m 0755 mapiproxy/modules/mpm_pack.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
986 $(INSTALL) -m 0755 mapiproxy/modules/mpm_cache.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
987 $(INSTALL) -m 0755 mapiproxy/modules/mpm_dummy.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
989 mapiproxy-modules-uninstall:
990 rm -rf $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy
992 mapiproxy-modules-clean::
993 rm -f mapiproxy/modules/*.o mapiproxy/modules/*.po
994 rm -f mapiproxy/modules/*.gcno mapiproxy/modules/*.gcda
995 rm -f mapiproxy/modules/*.so
997 clean:: mapiproxy-modules-clean
999 mapiproxy/modules/mpm_downgrade.$(SHLIBEXT): mapiproxy/modules/mpm_downgrade.po
1000 @echo "Linking $@"
1001 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
1003 mapiproxy/modules/mpm_pack.$(SHLIBEXT): mapiproxy/modules/mpm_pack.po \
1004 ndr_mapi.po \
1005 gen_ndr/ndr_exchange.po
1006 @echo "Linking $@"
1007 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
1009 mapiproxy/modules/mpm_cache.$(SHLIBEXT): mapiproxy/modules/mpm_cache.po \
1010 mapiproxy/modules/mpm_cache_ldb.po \
1011 mapiproxy/modules/mpm_cache_stream.po \
1012 ndr_mapi.po \
1013 gen_ndr/ndr_exchange.po
1014 @echo "Linking $@"
1015 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
1017 mapiproxy/modules/mpm_dummy.$(SHLIBEXT): mapiproxy/modules/mpm_dummy.po
1018 @echo "Linking $@"
1019 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
1022 ####################
1023 # mapiproxy servers
1024 ####################
1025 provision-install: python-install
1026 $(INSTALL) -d $(DESTDIR)$(datadir)/setup/AD
1027 $(INSTALL) -m 0644 setup/AD/oc_provision* $(DESTDIR)$(datadir)/setup/AD/
1028 $(INSTALL) -m 0644 setup/AD/prefixMap.txt $(DESTDIR)$(datadir)/setup/AD/
1029 $(INSTALL) -d $(DESTDIR)$(datadir)/setup/openchangedb
1030 $(INSTALL) -m 0644 setup/openchangedb/oc_provision* $(DESTDIR)$(datadir)/setup/openchangedb/
1032 provision-uninstall: python-uninstall
1033 rm -f $(DESTDIR)$(datadir)/setup/AD/oc_provision_configuration.ldif
1034 rm -f $(DESTDIR)$(datadir)/setup/AD/oc_provision_schema.ldif
1035 rm -f $(DESTDIR)$(datadir)/setup/AD/oc_provision_schema_modify.ldif
1036 rm -f $(DESTDIR)$(datadir)/setup/AD/oc_provision_schema_ADSC.ldif
1037 rm -f $(DESTDIR)$(datadir)/setup/AD/prefixMap.txt
1038 rm -rf $(DESTDIR)$(datadir)/setup/AD
1039 rm -rf $(DESTDIR)$(datadir)/setup/openchangedb
1041 mapiproxy-servers: mapiproxy/servers/exchange_nsp.$(SHLIBEXT) \
1042 mapiproxy/servers/exchange_emsmdb.$(SHLIBEXT) \
1043 mapiproxy/servers/exchange_ds_rfr.$(SHLIBEXT)
1045 mapiproxy-servers-install: mapiproxy-servers provision-install
1046 $(INSTALL) -d $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server/
1047 $(INSTALL) -m 0755 mapiproxy/servers/exchange_nsp.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server/
1048 $(INSTALL) -m 0755 mapiproxy/servers/exchange_emsmdb.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server/
1049 $(INSTALL) -m 0755 mapiproxy/servers/exchange_ds_rfr.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server/
1051 mapiproxy-servers-uninstall: provision-uninstall
1052 rm -rf $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server
1054 mapiproxy-servers-clean::
1055 rm -f mapiproxy/servers/default/nspi/*.o mapiproxy/servers/default/nspi/*.po
1056 rm -f mapiproxy/servers/default/nspi/*.gcno mapiproxy/servers/default/nspi/*.gcda
1057 rm -f mapiproxy/servers/default/emsmdb/*.o mapiproxy/servers/default/emsmdb/*.po
1058 rm -f mapiproxy/servers/default/emsmdb/*.gcno mapiproxy/servers/default/emsmdb/*.gcda
1059 rm -f mapiproxy/servers/default/rfr/*.o mapiproxy/servers/default/rfr/*.po
1060 rm -f mapiproxy/servers/default/rfr/*.gcno mapiproxy/servers/default/rfr/*.gcda
1061 rm -f mapiproxy/servers/*.so
1063 clean:: mapiproxy-servers-clean
1065 mapiproxy/servers/exchange_nsp.$(SHLIBEXT): mapiproxy/servers/default/nspi/dcesrv_exchange_nsp.po \
1066 mapiproxy/servers/default/nspi/emsabp.po \
1067 mapiproxy/servers/default/nspi/emsabp_tdb.po \
1068 mapiproxy/servers/default/nspi/emsabp_property.po
1069 @echo "Linking $@"
1070 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
1072 mapiproxy/servers/exchange_emsmdb.$(SHLIBEXT): mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.po \
1073 mapiproxy/servers/default/emsmdb/emsmdbp.po \
1074 mapiproxy/servers/default/emsmdb/emsmdbp_object.po \
1075 mapiproxy/servers/default/emsmdb/oxcstor.po \
1076 mapiproxy/servers/default/emsmdb/oxcprpt.po \
1077 mapiproxy/servers/default/emsmdb/oxcfold.po \
1078 mapiproxy/servers/default/emsmdb/oxctabl.po \
1079 mapiproxy/servers/default/emsmdb/oxcmsg.po \
1080 mapiproxy/servers/default/emsmdb/oxcnotif.po \
1081 mapiproxy/servers/default/emsmdb/oxorule.po
1082 @echo "Linking $@"
1083 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \
1084 mapiproxy/libmapiserver.$(SHLIBEXT).$(PACKAGE_VERSION) \
1085 mapiproxy/libmapistore.$(SHLIBEXT).$(PACKAGE_VERSION)
1087 mapiproxy/servers/exchange_ds_rfr.$(SHLIBEXT): mapiproxy/servers/default/rfr/dcesrv_exchange_ds_rfr.po
1088 @echo "Linking $@"
1089 @$(CC) -o $@ $(DSOOPT) $^ -L $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
1091 #################################################################
1092 # Tools compilation rules
1093 #################################################################
1095 ###################
1096 # openchangeclient
1097 ###################
1099 openchangeclient: bin/openchangeclient
1101 openchangeclient-install: openchangeclient
1102 $(INSTALL) -d $(DESTDIR)$(bindir)
1103 $(INSTALL) -m 0755 bin/openchangeclient $(DESTDIR)$(bindir)
1105 openchangeclient-uninstall:
1106 rm -f $(DESTDIR)$(bindir)/openchangeclient
1108 openchangeclient-clean::
1109 rm -f bin/openchangeclient
1110 rm -f utils/openchangeclient.o
1111 rm -f utils/openchangeclient.gcno
1112 rm -f utils/openchangeclient.gcda
1113 rm -f utils/openchange-tools.o
1114 rm -f utils/openchange-tools.gcno
1115 rm -f utils/openchange-tools.gcda
1117 clean:: openchangeclient-clean
1119 bin/openchangeclient: utils/openchangeclient.o \
1120 utils/openchange-tools.o \
1121 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) \
1122 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
1123 @echo "Linking $@"
1124 @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
1127 ##############
1128 # mapiprofile
1129 ##############
1131 mapiprofile: bin/mapiprofile
1133 mapiprofile-install: mapiprofile
1134 $(INSTALL) -d $(DESTDIR)$(bindir)
1135 $(INSTALL) -m 0755 bin/mapiprofile $(DESTDIR)$(bindir)
1137 mapiprofile-uninstall:
1138 rm -f $(DESTDIR)$(bindir)/mapiprofile
1140 mapiprofile-clean::
1141 rm -f bin/mapiprofile
1142 rm -f utils/mapiprofile.o
1143 rm -f utils/mapiprofile.gcno
1144 rm -f utils/mapiprofile.gcda
1146 clean:: mapiprofile-clean
1148 bin/mapiprofile: utils/mapiprofile.o \
1149 utils/openchange-tools.o \
1150 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1151 @echo "Linking $@"
1152 @$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
1155 ###################
1156 #openchangepfadmin
1157 ###################
1159 openchangepfadmin: bin/openchangepfadmin
1161 openchangepfadmin-install: openchangepfadmin
1162 $(INSTALL) -d $(DESTDIR)$(bindir)
1163 $(INSTALL) -m 0755 bin/openchangepfadmin $(DESTDIR)$(bindir)
1165 openchangepfadmin-uninstall:
1166 rm -f $(DESTDIR)$(bindir)/openchangepfadmin
1168 openchangepfadmin-clean::
1169 rm -f bin/openchangepfadmin
1170 rm -f utils/openchangepfadmin.o
1171 rm -f utils/openchangepfadmin.gcno
1172 rm -f utils/openchangepfadmin.gcda
1174 clean:: openchangepfadmin-clean
1176 bin/openchangepfadmin: utils/openchangepfadmin.o \
1177 utils/openchange-tools.o \
1178 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) \
1179 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION)
1180 @echo "Linking $@"
1181 @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) $(LIBMAPIADMIN_LIBS) -lpopt
1184 ###################
1185 # exchange2mbox
1186 ###################
1188 exchange2mbox: bin/exchange2mbox
1190 exchange2mbox-install: exchange2mbox
1191 $(INSTALL) -d $(DESTDIR)$(bindir)
1192 $(INSTALL) -m 0755 bin/exchange2mbox $(DESTDIR)$(bindir)
1194 exchange2mbox-uninstall:
1195 rm -f $(DESTDIR)$(bindir)/exchange2mbox
1197 exchange2mbox-clean::
1198 rm -f bin/exchange2mbox
1199 rm -f utils/exchange2mbox.o
1200 rm -f utils/exchange2mbox.gcno
1201 rm -f utils/exchange2mbox.gcda
1202 rm -f utils/openchange-tools.o
1203 rm -f utils/openchange-tools.gcno
1204 rm -f utils/openchange-tools.gcda
1206 clean:: exchange2mbox-clean
1208 bin/exchange2mbox: utils/exchange2mbox.o \
1209 utils/openchange-tools.o \
1210 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1211 @echo "Linking $@"
1212 @$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) -lpopt $(MAGIC_LIBS)
1215 ###################
1216 # exchange2ical
1217 ###################
1219 exchange2ical: bin/exchange2ical
1221 exchange2ical-install: exchange2ical
1222 $(INSTALL) -d $(DESTDIR)$(bindir)
1223 $(INSTALL) -m 0755 bin/exchange2ical $(DESTDIR)$(bindir)
1225 exchange2ical-uninstall:
1226 rm -f $(DESTDIR)$(bindir)/exchange2ical
1228 exchange2ical-clean::
1229 rm -f bin/exchange2ical
1230 rm -f utils/exchange2ical/exchange2ical.o
1231 rm -f utils/exchange2ical/exchange2ical.gcno
1232 rm -f utils/exchange2ical/exchange2ical.gcda
1233 rm -f utils/exchange2ical/exchange2ical_utils.o
1234 rm -f utils/exchange2ical/exchange2ical_utils.gcno
1235 rm -f utils/exchange2ical/exchange2ical_utils.gcda
1236 rm -f utils/exchange2ical/exchange2ical_component.o
1237 rm -f utils/exchange2ical/exchange2ical_component.gcno
1238 rm -f utils/exchange2ical/exchange2ical_component.gcda
1239 rm -f utils/exchange2ical/exchange2ical_property.o
1240 rm -f utils/exchange2ical/exchange2ical_property.gcno
1241 rm -f utils/exchange2ical/exchange2ical_property.gcda
1242 rm -f utils/openchange-tools.o
1243 rm -f utils/openchange-tools.gcno
1244 rm -f utils/openchange-tools.gcda
1246 clean:: exchange2ical-clean
1248 bin/exchange2ical: utils/exchange2ical/exchange2ical.o \
1249 utils/exchange2ical/exchange2ical_component.o \
1250 utils/exchange2ical/exchange2ical_property.o \
1251 utils/exchange2ical/exchange2ical_utils.o \
1252 utils/openchange-tools.o \
1253 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1254 @echo "Linking $@"
1255 @$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) $(ICAL_LIBS) -lpopt
1258 ###################
1259 # mapitest
1260 ###################
1262 mapitest: libmapi \
1263 utils/mapitest/proto.h \
1264 bin/mapitest
1266 mapitest-install: mapitest
1267 $(INSTALL) -d $(DESTDIR)$(bindir)
1268 $(INSTALL) -m 0755 bin/mapitest $(DESTDIR)$(bindir)
1270 mapitest-uninstall:
1271 rm -f $(DESTDIR)$(bindir)/mapitest
1273 mapitest-clean:
1274 rm -f bin/mapitest
1275 rm -f utils/mapitest/*.o
1276 rm -f utils/mapitest/*.gcno
1277 rm -f utils/mapitest/*.gcda
1278 rm -f utils/mapitest/modules/*.o
1279 rm -f utils/mapitest/modules/*.gcno
1280 rm -f utils/mapitest/modules/*.gcda
1281 ifneq ($(SNAPSHOT), no)
1282 rm -f utils/mapitest/proto.h
1283 rm -f utils/mapitest/mapitest_proto.h
1284 endif
1286 clean:: mapitest-clean
1288 bin/mapitest: utils/mapitest/mapitest.o \
1289 utils/openchange-tools.o \
1290 utils/mapitest/mapitest_suite.o \
1291 utils/mapitest/mapitest_print.o \
1292 utils/mapitest/mapitest_stat.o \
1293 utils/mapitest/mapitest_common.o \
1294 utils/mapitest/module.o \
1295 utils/mapitest/modules/module_oxcstor.o \
1296 utils/mapitest/modules/module_oxcfold.o \
1297 utils/mapitest/modules/module_oxomsg.o \
1298 utils/mapitest/modules/module_oxcmsg.o \
1299 utils/mapitest/modules/module_oxcprpt.o \
1300 utils/mapitest/modules/module_oxctable.o \
1301 utils/mapitest/modules/module_oxorule.o \
1302 utils/mapitest/modules/module_oxcnotif.o \
1303 utils/mapitest/modules/module_oxcfxics.o \
1304 utils/mapitest/modules/module_nspi.o \
1305 utils/mapitest/modules/module_noserver.o \
1306 utils/mapitest/modules/module_errorchecks.o \
1307 utils/mapitest/modules/module_lcid.o \
1308 utils/mapitest/modules/module_mapidump.o \
1309 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1310 @echo "Linking $@"
1311 @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
1313 utils/mapitest/proto.h: \
1314 utils/mapitest/mapitest_suite.c \
1315 utils/mapitest/mapitest_print.c \
1316 utils/mapitest/mapitest_stat.c \
1317 utils/mapitest/mapitest_common.c \
1318 utils/mapitest/module.c \
1319 utils/mapitest/modules/module_oxcstor.c \
1320 utils/mapitest/modules/module_oxcfold.c \
1321 utils/mapitest/modules/module_oxomsg.c \
1322 utils/mapitest/modules/module_oxcmsg.c \
1323 utils/mapitest/modules/module_oxcprpt.c \
1324 utils/mapitest/modules/module_oxctable.c \
1325 utils/mapitest/modules/module_oxorule.c \
1326 utils/mapitest/modules/module_oxcnotif.c \
1327 utils/mapitest/modules/module_oxcfxics.c \
1328 utils/mapitest/modules/module_nspi.c \
1329 utils/mapitest/modules/module_noserver.c \
1330 utils/mapitest/modules/module_errorchecks.c \
1331 utils/mapitest/modules/module_lcid.c \
1332 utils/mapitest/modules/module_mapidump.c
1333 @echo "Generating $@"
1334 @./script/mkproto.pl --private=utils/mapitest/mapitest_proto.h --public=utils/mapitest/proto.h $^
1336 #####################
1337 # openchangemapidump
1338 #####################
1340 openchangemapidump: bin/openchangemapidump
1342 openchangemapidump-install: openchangemapidump
1343 $(INSTALL) -d $(DESTDIR)$(bindir)
1344 $(INSTALL) -m 0755 bin/openchangemapidump $(DESTDIR)$(bindir)
1346 openchangemapidump-uninstall:
1347 rm -f bin/openchangemapidump
1348 rm -f $(DESTDIR)$(bindir)/openchangemapidump
1350 openchangemapidump-clean::
1351 rm -f bin/openchangemapidump
1352 rm -f utils/backup/openchangemapidump.o
1353 rm -f utils/backup/openchangemapidump.gcno
1354 rm -f utils/backup/openchangemapidump.gcda
1355 rm -f utils/backup/openchangebackup.o
1356 rm -f utils/backup/openchangebackup.gcno
1357 rm -f utils/backup/openchangebackup.gcda
1359 clean:: openchangemapidump-clean
1361 bin/openchangemapidump: utils/backup/openchangemapidump.o \
1362 utils/backup/openchangebackup.o \
1363 utils/openchange-tools.o \
1364 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1365 @echo "Linking $@"
1366 @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
1369 ###############
1370 # schemaIDGUID
1371 ###############
1373 schemaIDGUID: bin/schemaIDGUID
1375 schemaIDGUID-install: schemaIDGUID
1376 $(INSTALL) -m 0755 bin/schemaIDGUID $(DESTDIR)$(bindir)
1378 schemaIDGUID-uninstall:
1379 rm -f $(DESTDIR)$(bindir)/schemaIDGUID
1381 schemaIDGUID-clean::
1382 rm -f bin/schemaIDGUID
1383 rm -f utils/schemaIDGUID.o
1384 rm -f utils/schemaIDGUID.gcno
1385 rm -f utils/schemaIDGUID.gcda
1387 clean:: schemaIDGUID-clean
1389 bin/schemaIDGUID: utils/schemaIDGUID.o
1390 @echo "Linking $@"
1391 @$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
1394 ##################
1395 # locale_codepage
1396 ##################
1398 locale_codepage: bin/locale_codepage
1400 locale_codepage-install: locale_codepage
1401 $(INSTALL) -m 0755 bin/locale_codepage $(DESTDIR)$(bindir)
1403 locale_codepage-uninstall:
1404 rm -f bin/locale_codepage
1405 rm -f $(DESTDIR)$(bindir)/locale_codepage
1407 locale_codepage-clean::
1408 rm -f bin/locale_codepage
1409 rm -f libmapi/tests/locale_codepage.o
1411 clean:: locale_codepage-clean
1413 bin/locale_codepage: libmapi/tests/locale_codepage.o libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1414 @echo "Linking $@"
1415 @$(CC) -o $@ $^ $(LDFLAGS) $(LIBS) -lpopt
1417 ###################
1418 # python code
1419 ###################
1421 pythonscriptdir = python
1423 pymapi: $(pythonscriptdir)/mapi.$(SHLIBEXT)
1425 pymapi/%: CFLAGS+=`$(PYTHON_CONFIG) --cflags` -fPIC
1427 $(pythonscriptdir)/mapi.$(SHLIBEXT): $(patsubst %.c,%.o,$(wildcard pymapi/*.c)) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1428 $(CC) -o $@ $^ `$(PYTHON_CONFIG) --libs` $(DSOOPT)
1430 pymapi-install::
1431 $(INSTALL) -d $(DESTDIR)$(PYCDIR)
1432 $(INSTALL) -m 0755 $(pythonscriptdir)/mapi.$(SHLIBEXT) $(DESTDIR)$(PYCDIR)
1434 pymapi-uninstall::
1435 rm -f $(DESTDIR)$(PYCDIR)/mapi.$(SHLIBEXT)
1437 PYTHON_MODULES = $(patsubst $(pythonscriptdir)/%,%,$(shell find $(pythonscriptdir) -name "*.py"))
1439 python-install::
1440 @echo "Installing Python modules"
1441 @$(foreach MODULE, $(PYTHON_MODULES), \
1442 $(INSTALL) -d $(DESTDIR)$(pythondir)/$(dir $(MODULE)); \
1443 $(INSTALL) -m 0644 $(pythonscriptdir)/$(MODULE) $(DESTDIR)$(pythondir)/$(dir $(MODULE)); \
1446 python-uninstall::
1447 rm -rf $(DESTDIR)$(pythondir)/openchange
1449 EPYDOC_OPTIONS = --no-private --url http://www.openchange.org/ --no-sourcecode
1451 epydoc::
1452 PYTHONPATH=$(pythonscriptdir):$(PYTHONPATH) epydoc $(EPYDOC_OPTIONS) openchange
1454 check-python:
1455 PYTHONPATH=$(pythonscriptdir):$(PYTHONPATH) trial openchange
1457 check:: check-python
1459 ###################
1460 # nagios plugin
1461 ###################
1463 nagiosdir = $(libdir)/nagios
1465 installnagios:
1466 $(INSTALL) -d $(DESTDIR)$(nagiosdir)
1467 $(INSTALL) -m 0755 script/check_exchange $(DESTDIR)$(nagiosdir)
1469 ###################
1470 # libmapi examples
1471 ###################
1472 examples:
1473 cd doc/examples && make && cd ${OLD_PWD}
1475 examples-clean::
1476 rm -f doc/examples/mapi_sample1
1477 rm -f doc/examples/fetchappointment
1478 rm -f doc/examples/fetchmail
1480 clean:: examples-clean
1482 examples-install examples-uninstall:
1484 manpages = \
1485 doc/man/man1/exchange2mbox.1 \
1486 doc/man/man1/mapiprofile.1 \
1487 doc/man/man1/openchangeclient.1 \
1488 doc/man/man1/openchangepfadmin.1 \
1489 $(wildcard apidocs/man/man3/*)
1491 installman: doxygen
1492 @./script/installman.sh $(DESTDIR)$(mandir) $(manpages)
1495 uninstallman:
1496 @./script/uninstallman.sh $(DESTDIR)$(mandir) $(manpages)
1498 doxygen:
1499 @if test ! -d apidocs ; then \
1500 echo "Doxify API documentation: HTML and man pages"; \
1501 mkdir -p apidocs/html; \
1502 mkdir -p apidocs/man; \
1503 $(DOXYGEN) Doxyfile; \
1504 $(DOXYGEN) libmapi/Doxyfile; \
1505 $(DOXYGEN) libmapiadmin/Doxyfile; \
1506 $(DOXYGEN) libocpf/Doxyfile; \
1507 $(DOXYGEN) libmapi++/Doxyfile; \
1508 $(DOXYGEN) mapiproxy/Doxyfile; \
1509 $(DOXYGEN) utils/mapitest/Doxyfile; \
1510 cp -f doc/doxygen/index.html apidocs/html; \
1511 cp -f doc/doxygen/pictures/* apidocs/html/overview; \
1512 cp -f doc/doxygen/pictures/* apidocs/html/libmapi; \
1513 cp -f doc/doxygen/pictures/* apidocs/html/libmapiadmin; \
1514 cp -f doc/doxygen/pictures/* apidocs/html/libmapi++; \
1515 cp -f doc/doxygen/pictures/* apidocs/html/libocpf; \
1516 cp -f doc/doxygen/pictures/* apidocs/html/mapitest; \
1517 cp -f doc/doxygen/pictures/* apidocs/html/mapiproxy; \
1518 cp -f mapiproxy/documentation/pictures/* apidocs/html/mapiproxy;\
1519 rm -f apidocs/man/man3/todo.3; \
1520 rm -f apidocs/man/man3/bug.3; \
1521 rm -f apidocs/man/man3/*.c.3; \
1524 etags:
1525 etags `find $(srcdir) -name "*.[ch]"`
1527 ctags:
1528 ctags `find $(srcdir) -name "*.[ch]"`
1530 swigperl-all:
1531 @echo "Creating Perl bindings ..."
1532 @$(MAKE) -C swig/perl all
1534 swigperl-install:
1535 @echo "Install Perl bindings ..."
1536 @$(MAKE) -C swig/perl install
1538 swigperl-uninstall:
1539 @echo "Uninstall Perl bindings ..."
1540 @$(MAKE) -C swig/perl uninstall
1542 distclean::
1543 @$(MAKE) -C swig/perl distclean
1545 clean::
1546 @echo "Cleaning Perl bindings ..."
1547 @$(MAKE) -C swig/perl clean
1549 .PRECIOUS: exchange.h gen_ndr/ndr_exchange.h gen_ndr/ndr_exchange.c gen_ndr/ndr_exchange_c.c gen_ndr/ndr_exchange_c.h
1551 test:: check
1553 check:: torture/openchange.$(SHLIBEXT) libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION)
1554 # FIXME: Set up server
1555 LD_LIBRARY_PATH=`pwd` $(SMBTORTURE) --load-module torture/openchange.$(SHLIBEXT) ncalrpc: OPENCHANGE
1556 ./bin/mapitest --mapi-calls
1558 ####################################
1559 # coverage tests
1561 # this could be better integrated...
1562 ####################################
1563 coverage-init:
1564 lcov --base-directory . --directory . --capture --initial --output-file oc_cov.info
1566 coverage::
1567 rm -f libmapi/\<stdout\>.gcov
1568 rm -f ./libocpf/lex.yy.gcda
1569 rm -f libocpf/\<stdout\>.gcov
1570 rm -f ./\<stdout\>.gcov
1571 lcov --base-directory . --directory . --output-file oc_cov.info --capture
1572 genhtml -o covresults oc_cov.info
1574 coverage-clean::
1575 rm -rf oc_cov.info
1576 rm -rf covresults
1577 rm -f test.gcno
1579 clean:: coverage-clean
1581 # This should be the last line in the makefile since other distclean rules may
1582 # need config.mk
1583 distclean::
1584 rm -f config.mk