1 # Makefile for OpenChange
2 # Written by Jelmer Vernooij <jelmer@openchange.org>, 2005.
6 # Until we add proper dependencies for all the C files:
9 config.mk: config.status config.mk.in
12 config.status: configure
15 configure: configure.ac
19 ./script/installsamba4.sh all
22 ./script/installsamba4.sh git-all
24 ifneq ($(MAKECMDGOALS), samba)
25 ifneq ($(MAKECMDGOALS), samba-git)
30 #################################################################
31 # top level compilation rules
32 #################################################################
47 $(OC_SERVER_INSTALL) \
48 $(OC_TORTURE_INSTALL) \
53 installlib: $(OC_LIBS_INSTALL)
54 installpc: $(OC_LIBS_INSTALLPC)
55 installheader: $(OC_LIBS_INSTALLHEADERS)
57 uninstall:: $(OC_LIBS_UNINSTALL) \
58 $(OC_TOOLS_UNINSTALL) \
59 $(OC_SERVER_UNINSTALL) \
60 $(OC_TORTURE_UNINSTALL) \
61 $(SWIGDIRS-UNINSTALL) \
67 rm -f libmapi/Doxyfile
68 rm -f libmapiadmin/Doxyfile
69 rm -f libocpf/Doxyfile
70 rm -f libmapi++/Doxyfile
71 rm -f mapiproxy/Doxyfile
72 rm -f config.status config.log
73 rm -f utils/mapitest/Doxyfile
74 rm -f intltool-extract intltool-merge intltool-update
83 rm -f doc/examples/mapi_sample1
84 rm -f doc/examples/fetchappointment
85 rm -f doc/examples/fetchmail
89 #################################################################
90 # Suffixes compilation rules
91 #################################################################
93 .SUFFIXES: .c .o .h .po .idl
97 @$(PIDL) --outputdir=gen_ndr --header -- $<
101 @$(CC) $(CFLAGS) -c $< -o $@
104 @echo "Compiling $< with -fPIC"
105 @$(CC) $(CFLAGS) -fPIC -c $< -o $@
109 #################################################################
110 # IDL compilation rules
111 #################################################################
113 idl: gen_ndr gen_ndr/ndr_exchange.h gen_ndr/ndr_property.h
115 exchange.idl: mapitags_enum.h mapicodes_enum.h
118 @echo "Creating the gen_ndr directory"
121 gen_ndr/ndr_%.h gen_ndr/ndr_%.c: %.idl %.h
122 @echo "Generating $@"
123 @$(PIDL) --outputdir=gen_ndr --ndr-parser -- $<
125 gen_ndr/ndr_%_c.h gen_ndr/ndr_%_c.c: %.idl %.h
126 @echo "Generating $@"
127 @$(PIDL) --outputdir=gen_ndr --client -- $<
129 gen_ndr/ndr_%_s.c: %.idl
130 @echo "Generating $@"
131 @$(PIDL) --outputdir=gen_ndr --server -- $<
135 #################################################################
136 # libmapi compilation rules
137 #################################################################
139 LIBMAPI_SO_VERSION = 0
144 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
146 libmapi-install: libmapi \
149 libmapi-installheader \
150 libmapi-installscript
152 libmapi-uninstall: libmapi-uninstallpc \
153 libmapi-uninstalllib \
154 libmapi-uninstallheader \
155 libmapi-uninstallscript
158 rm -f libmapi/*.o libmapi/*.po
159 rm -f libmapi/utf8_convert.yy.c
160 rm -f libmapi/tests/*.o, libmapi/tests/*.po
161 rm -f libmapi/socket/*.o libmapi/socket/*.po
162 rm -f libmapi/util/*.o, libmapi/util/*.po
163 rm -f libmapi/version.h
164 rm -f libmapi/mapicode.c libmapi/mapicode.h
165 rm -f libmapi/mapitags.c libmapi/mapitags.h
166 rm -f libmapi/mapi_nameid.h libmapi/mapi_nameid_private.h
167 rm -f libmapi/proto.h
168 rm -f libmapi/proto_private.h
169 rm -f gen_ndr/ndr_exchange*
170 rm -f gen_ndr/exchange.h
171 rm -f gen_ndr/ndr_property*
172 rm -f gen_ndr/property.h
173 rm -f ndr_mapi.o ndr_mapi.po
174 rm -f mapicodes_enum.h
175 rm -f mapitags_enum.h
179 rm -f libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) \
182 clean:: libmapi-clean
187 distclean:: libmapi-distclean
190 @echo "[*] install: libmapi pc files"
191 $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
192 $(INSTALL) -m 0644 libmapi.pc $(DESTDIR)$(libdir)/pkgconfig
195 @echo "[*] install: libmapi library"
196 $(INSTALL) -d $(DESTDIR)$(libdir)
197 $(INSTALL) -m 0755 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
198 ln -sf libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapi.$(SHLIBEXT)
200 libmapi-installheader:
201 @echo "[*] install: libmapi headers"
202 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi
203 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi/socket
204 $(INSTALL) -d $(DESTDIR)$(includedir)/gen_ndr
205 $(INSTALL) -m 0644 libmapi/dlinklist.h $(DESTDIR)$(includedir)/libmapi/
206 $(INSTALL) -m 0644 libmapi/libmapi.h $(DESTDIR)$(includedir)/libmapi/
207 $(INSTALL) -m 0644 libmapi/proto.h $(DESTDIR)$(includedir)/libmapi/
208 $(INSTALL) -m 0644 libmapi/nspi.h $(DESTDIR)$(includedir)/libmapi/
209 $(INSTALL) -m 0644 libmapi/emsmdb.h $(DESTDIR)$(includedir)/libmapi/
210 $(INSTALL) -m 0644 libmapi/mapi_ctx.h $(DESTDIR)$(includedir)/libmapi/
211 $(INSTALL) -m 0644 libmapi/mapi_provider.h $(DESTDIR)$(includedir)/libmapi/
212 $(INSTALL) -m 0644 libmapi/mapi_id_array.h $(DESTDIR)$(includedir)/libmapi/
213 $(INSTALL) -m 0644 libmapi/mapi_notification.h $(DESTDIR)$(includedir)/libmapi/
214 $(INSTALL) -m 0644 libmapi/mapi_object.h $(DESTDIR)$(includedir)/libmapi/
215 $(INSTALL) -m 0644 libmapi/mapi_profile.h $(DESTDIR)$(includedir)/libmapi/
216 $(INSTALL) -m 0644 libmapi/mapi_nameid.h $(DESTDIR)$(includedir)/libmapi/
217 $(INSTALL) -m 0644 libmapi/mapidefs.h $(DESTDIR)$(includedir)/libmapi/
218 $(INSTALL) -m 0644 libmapi/version.h $(DESTDIR)$(includedir)/libmapi/
219 $(INSTALL) -m 0644 libmapi/mapicode.h $(DESTDIR)$(includedir)/libmapi/
220 $(INSTALL) -m 0644 libmapi/socket/netif.h $(DESTDIR)$(includedir)/libmapi/socket/
221 $(INSTALL) -m 0644 gen_ndr/exchange.h $(DESTDIR)$(includedir)/gen_ndr/
222 $(INSTALL) -m 0644 gen_ndr/property.h $(DESTDIR)$(includedir)/gen_ndr/
224 libmapi-installscript:
225 $(INSTALL) -d $(DESTDIR)$(datadir)/setup
226 $(INSTALL) -m 0644 setup/oc_profiles* $(DESTDIR)$(datadir)/setup/
229 rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapi.pc
231 libmapi-uninstalllib:
232 rm -f $(DESTDIR)$(libdir)/libmapi.*
234 libmapi-uninstallheader:
235 rm -rf $(DESTDIR)$(includedir)/libmapi
236 rm -f $(DESTDIR)$(includedir)/gen_ndr/exchange.h
237 rm -f $(DESTDIR)$(includedir)/gen_ndr/property.h
239 libmapi-uninstallscript:
240 rm -f $(DESTDIR)$(datadir)/setup/oc_profiles*
242 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION): \
243 libmapi/IABContainer.po \
244 libmapi/IProfAdmin.po \
245 libmapi/IMAPIContainer.po \
246 libmapi/IMAPIFolder.po \
247 libmapi/IMAPIProp.po \
248 libmapi/IMAPISession.po \
249 libmapi/IMAPISupport.po \
251 libmapi/IMAPITable.po \
252 libmapi/IMessage.po \
253 libmapi/IMsgStore.po \
254 libmapi/IStoreFolder.po \
255 libmapi/IUnknown.po \
256 libmapi/IMSProvider.po \
257 libmapi/IXPLogon.po \
260 libmapi/property.po \
261 libmapi/cdo_mapi.po \
263 libmapi/mapi_object.po \
264 libmapi/mapi_id_array.po \
265 libmapi/mapitags.po \
266 libmapi/mapidump.po \
267 libmapi/mapicode.po \
268 libmapi/mapi_nameid.po \
271 libmapi/simple_mapi.po \
272 libmapi/util/lcid.po \
273 libmapi/util/codepage.po \
274 libmapi/freebusy.po \
277 gen_ndr/ndr_exchange.po \
278 gen_ndr/ndr_exchange_c.po \
279 gen_ndr/ndr_property.po \
280 libmapi/socket/interface.po \
281 libmapi/socket/netif.po \
282 libmapi/utf8_convert.yy.po
284 @$(CC) $(DSOOPT) -Wl,-soname,libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) -o $@ $^ $(LIBS)
287 libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION): libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
290 libmapi/version.h: VERSION
291 @./script/mkversion.sh VERSION libmapi/version.h $(PACKAGE_VERSION) $(top_builddir)/
293 libmapi/utf8_convert.yy.c: libmapi/utf8_convert.l
294 @echo "Generating $@"
295 @$(FLEX) -Plibmapi_utf8_convert_ -t $< > $@
298 libmapi/utf8_convert.yy.o: CFLAGS=
300 libmapi/proto.h libmapi/proto_private.h: \
304 libmapi/simple_mapi.c \
308 libmapi/mapi_object.c \
309 libmapi/mapi_id_array.c \
310 libmapi/mapi_nameid.c \
312 libmapi/IABContainer.c \
313 libmapi/IProfAdmin.c \
314 libmapi/IMAPIContainer.c \
315 libmapi/IMAPIFolder.c \
316 libmapi/IMAPIProp.c \
317 libmapi/IMAPISession.c \
318 libmapi/IMAPISupport.c \
319 libmapi/IMAPITable.c \
320 libmapi/IMSProvider.c \
322 libmapi/IMsgStore.c \
323 libmapi/IStoreFolder.c \
332 libmapi/util/lcid.c \
333 libmapi/util/codepage.c \
334 libmapi/socket/interface.c \
335 libmapi/socket/netif.c
336 @echo "Generating $@"
337 @./script/mkproto.pl --private=libmapi/proto_private.h --public=libmapi/proto.h $^
339 libmapi/emsmdb.c: libmapi/emsmdb.h gen_ndr/ndr_exchange_c.h
341 libmapi/mapitags.c libmapi/mapicode.c mapitags_enum.h mapicodes_enum.h: \
342 libmapi/conf/mapi-properties \
343 libmapi/conf/mapi-codes \
344 libmapi/conf/mapi-named-properties \
345 libmapi/conf/mparse.pl
346 @./libmapi/conf/build.sh
348 #################################################################
349 # libmapi++ compilation rules
350 #################################################################
352 libmapixx: libmapi libmapixx-tests libmapixx-examples
356 libmapixx-clean: libmapixx-tests-clean
358 libmapixx-install: libmapixx-installheader
360 libmapixx-uninstall: libmapixx-uninstallheader
362 libmapixx-installheader:
363 @echo "[*] install: libmapi++ headers"
364 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi++
365 $(INSTALL) -m 0644 libmapi++/attachment.h $(DESTDIR)$(includedir)/libmapi++/
366 $(INSTALL) -m 0644 libmapi++/clibmapi.h $(DESTDIR)$(includedir)/libmapi++/
367 $(INSTALL) -m 0644 libmapi++/folder.h $(DESTDIR)$(includedir)/libmapi++/
368 $(INSTALL) -m 0644 libmapi++/libmapi++.h $(DESTDIR)$(includedir)/libmapi++/
369 $(INSTALL) -m 0644 libmapi++/mapi_exception.h $(DESTDIR)$(includedir)/libmapi++/
370 $(INSTALL) -m 0644 libmapi++/message.h $(DESTDIR)$(includedir)/libmapi++/
371 $(INSTALL) -m 0644 libmapi++/message_store.h $(DESTDIR)$(includedir)/libmapi++/
372 $(INSTALL) -m 0644 libmapi++/object.h $(DESTDIR)$(includedir)/libmapi++/
373 $(INSTALL) -m 0644 libmapi++/profile.h $(DESTDIR)$(includedir)/libmapi++/
374 $(INSTALL) -m 0644 libmapi++/property_container.h $(DESTDIR)$(includedir)/libmapi++/
375 $(INSTALL) -m 0644 libmapi++/session.h $(DESTDIR)$(includedir)/libmapi++/
376 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi++/impl
377 $(INSTALL) -m 0644 libmapi++/impl/* $(DESTDIR)$(includedir)/libmapi++/impl/
379 libmapixx-uninstallheader:
380 rm -rf $(DESTDIR)$(includedir)/libmapi++
383 libmapixx-tests: libmapixx-test \
386 libmapixx-tests-clean: libmapixx-test-clean \
387 libmapixx-attach-clean
389 libmapixx-test: bin/libmapixx-test
391 libmapixx-test-clean:
392 rm -f bin/libmapixx-test
393 rm -f libmapi++/tests/*.o
395 bin/libmapixx-test: libmapi++/tests/test.cpp \
396 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
397 @echo "Linking sample application $@"
398 @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
400 clean:: libmapixx-test-clean
402 libmapixx-attach: bin/libmapixx-attach
404 libmapixx-attach-clean:
405 rm -f bin/libmapixx-attach
406 rm -f libmapi++/tests/*.o
408 bin/libmapixx-attach: libmapi++/tests/attach_test.cpp \
409 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
410 @echo "Linking sample application $@"
411 @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
413 clean:: libmapixx-attach-clean
416 libmapixx-examples: libmapi++/examples/foldertree \
417 libmapi++/examples/messages
419 libmapixx-foldertree-clean:
420 rm -f libmapi++/examples/foldertree
421 rm -f libmapi++/examples/*.o
423 libmapixx-messages-clean:
424 rm -f libmapi++/examples/messages
425 rm -f libmapi++/examples/*.o
427 libmapi++/examples/foldertree: libmapi++/examples/foldertree.cpp \
428 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
429 @echo "Linking foldertree example application $@"
430 @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
432 clean:: libmapixx-foldertree-clean
434 libmapi++/examples/messages: libmapi++/examples/messages.cpp \
435 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
436 @echo "Linking messages example application $@"
437 @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
439 clean:: libmapixx-messages-clean
441 #################################################################
442 # libmapiadmin compilation rules
443 #################################################################
445 LIBMAPIADMIN_SO_VERSION = 0
447 libmapiadmin: libmapiadmin/proto.h \
448 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION)
450 libmapiadmin-install: libmapiadmin-installpc \
451 libmapiadmin-installlib \
452 libmapiadmin-installheader
454 libmapiadmin-uninstall: libmapiadmin-uninstallpc \
455 libmapiadmin-uninstalllib \
456 libmapiadmin-uninstallheader
459 rm -f libmapiadmin/*.o libmapiadmin/*.po
460 rm -f libmapiadmin/proto.h
461 rm -f libmapiadmin/proto_private.h
462 rm -f libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) \
463 libmapiadmin.$(SHLIBEXT)
465 clean:: libmapiadmin-clean
467 libmapiadmin-distclean::
468 rm -f libmapiadmin.pc
470 distclean:: libmapiadmin-distclean
472 libmapiadmin-installpc:
473 @echo "[*] install: libmapiadmin pc files"
474 $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
475 $(INSTALL) -m 0644 libmapiadmin.pc $(DESTDIR)$(libdir)/pkgconfig
477 libmapiadmin-installlib:
478 @echo "[*] install: libmapiadmin library"
479 $(INSTALL) -d $(DESTDIR)$(libdir)
480 $(INSTALL) -m 0755 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
481 ln -sf libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapiadmin.$(SHLIBEXT)
483 libmapiadmin-installheader:
484 @echo "[*] install: libmapiadmin headers"
485 $(INSTALL) -d $(DESTDIR)$(includedir)/libmapiadmin
486 $(INSTALL) -m 0644 libmapiadmin/proto.h $(DESTDIR)$(includedir)/libmapiadmin/
487 $(INSTALL) -m 0644 libmapiadmin/libmapiadmin.h $(DESTDIR)$(includedir)/libmapiadmin/
489 libmapiadmin-uninstallpc:
490 rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapiadmin.pc
492 libmapiadmin-uninstalllib:
493 rm -f $(DESTDIR)$(libdir)/libmapiadmin.*
495 libmapiadmin-uninstallheader:
496 rm -rf $(DESTDIR)$(includedir)/libmapiadmin
498 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION): \
499 libmapiadmin/mapiadmin_user.po \
500 libmapiadmin/mapiadmin.po \
501 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
503 @$(CC) $(DSOOPT) -Wl,-soname,libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS)
505 libmapiadmin/proto.h libmapiadmin/proto_private.h: \
506 libmapiadmin/mapiadmin.c \
507 libmapiadmin/mapiadmin_user.c
508 @echo "Generating $@"
509 @./script/mkproto.pl -private=libmapiadmin/proto_private.h --public=libmapiadmin/proto.h $^
513 #################################################################
514 # libocpf compilation rules
515 #################################################################
517 LIBOCPF_SO_VERSION = 0
519 libocpf: libocpf/proto.h \
520 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
522 libocpf-install: libocpf-installpc \
524 libocpf-installheader
526 libocpf-uninstall: libocpf-uninstallpc \
527 libocpf-uninstalllib \
528 libocpf-uninstallheader
531 rm -f libocpf/*.o libocpf/*.po
532 rm -f libocpf/lex.yy.c
533 rm -f libocpf/ocpf.tab.c libocpf/ocpf.tab.h
534 rm -f libocpf/proto.h
535 rm -f libocpf/proto_private.h
536 rm -f libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) \
539 clean:: libocpf-clean
544 distclean:: libocpf-distclean
547 @echo "[*] install: libocpf pc files"
548 $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
549 $(INSTALL) -m 0644 libocpf.pc $(DESTDIR)$(libdir)/pkgconfig
552 @echo "[*] install: libocpf library"
553 $(INSTALL) -d $(DESTDIR)$(libdir)
554 $(INSTALL) -m 0755 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
555 ln -sf libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libocpf.$(SHLIBEXT)
557 libocpf-installheader:
558 @echo "[*] install: libocpf headers"
559 $(INSTALL) -d $(DESTDIR)$(includedir)/libocpf
560 $(INSTALL) -m 0644 libocpf/ocpf.h $(DESTDIR)$(includedir)/libocpf/
561 $(INSTALL) -m 0644 libocpf/proto.h $(DESTDIR)$(includedir)/libocpf/
564 rm -f $(DESTDIR)$(libdir)/pkgconfig/libocpf.pc
566 libocpf-uninstalllib:
567 rm -f $(DESTDIR)$(libdir)/libocpf.*
569 libocpf-uninstallheader:
570 rm -rf $(DESTDIR)$(includedir)/libocpf
572 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION): \
573 libocpf/ocpf.tab.po \
575 libocpf/ocpf_public.po \
576 libocpf/ocpf_dump.po \
577 libocpf/ocpf_api.po \
578 libocpf/ocpf_write.po \
579 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
581 @$(CC) $(DSOOPT) -Wl,-soname,libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) -o $@ $^ $(LIBS)
583 libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION): libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
586 libocpf/proto.h: libocpf/ocpf_public.c \
587 libocpf/ocpf_dump.c \
590 @echo "Generating $@"
591 @./script/mkproto.pl --private=libocpf/proto_private.h \
592 --public=libocpf/proto.h $^
594 libocpf/lex.yy.c: libocpf/lex.l
595 @echo "Generating $@"
598 libocpf/ocpf.tab.c: libocpf/ocpf.y
599 @echo "Generating $@"
600 @$(BISON) -pocpf_yy -d $< -o $@
603 libocpf/lex.yy.o: CFLAGS=
604 libocpf/ocpf.tab.o: CFLAGS=
608 #################################################################
609 # torture suite compilation rules
610 #################################################################
612 torture: torture/torture_proto.h \
613 torture/openchange.$(SHLIBEXT)
616 @echo "[*] install: openchange torture suite"
617 $(INSTALL) -d $(DESTDIR)$(TORTURE_MODULESDIR)
618 $(INSTALL) -m 0755 torture/openchange.$(SHLIBEXT) $(DESTDIR)$(TORTURE_MODULESDIR)
621 rm -f $(DESTDIR)$(TORTURE_MODULESDIR)/openchange.*
624 rm -f torture/*.$(SHLIBEXT)
625 rm -f torture/torture_proto.h
626 rm -f torture/*.o torture/*.po
628 clean:: torture-clean
630 torture/openchange.$(SHLIBEXT): \
631 torture/nspi_profile.po \
632 torture/nspi_resolvenames.po \
633 torture/mapi_restrictions.po \
634 torture/mapi_criteria.po \
635 torture/mapi_copymail.po \
636 torture/mapi_sorttable.po \
637 torture/mapi_bookmark.po \
638 torture/mapi_fetchmail.po \
639 torture/mapi_sendmail.po \
640 torture/mapi_sendmail_html.po \
641 torture/mapi_deletemail.po \
642 torture/mapi_newmail.po \
643 torture/mapi_sendattach.po \
644 torture/mapi_fetchattach.po \
645 torture/mapi_fetchappointment.po \
646 torture/mapi_sendappointment.po \
647 torture/mapi_fetchcontacts.po \
648 torture/mapi_sendcontacts.po \
649 torture/mapi_fetchtasks.po \
650 torture/mapi_sendtasks.po \
651 torture/mapi_common.po \
652 torture/mapi_permissions.po \
653 torture/mapi_createuser.po \
654 torture/exchange_createuser.po \
655 torture/mapi_namedprops.po \
656 torture/mapi_recipient.po \
657 torture/openchange.po \
658 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
660 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS)
662 torture/torture_proto.h: torture/mapi_restrictions.c \
663 torture/mapi_criteria.c \
664 torture/mapi_deletemail.c \
665 torture/mapi_newmail.c \
666 torture/mapi_fetchmail.c \
667 torture/mapi_sendattach.c \
668 torture/mapi_sorttable.c \
669 torture/mapi_bookmark.c \
670 torture/mapi_copymail.c \
671 torture/mapi_fetchattach.c \
672 torture/mapi_sendmail.c \
673 torture/mapi_sendmail_html.c \
674 torture/nspi_profile.c \
675 torture/nspi_resolvenames.c \
676 torture/mapi_fetchappointment.c \
677 torture/mapi_sendappointment.c \
678 torture/mapi_fetchcontacts.c \
679 torture/mapi_sendcontacts.c \
680 torture/mapi_fetchtasks.c \
681 torture/mapi_sendtasks.c \
682 torture/mapi_common.c \
683 torture/mapi_permissions.c \
684 torture/mapi_namedprops.c \
685 torture/mapi_recipient.c \
686 torture/mapi_createuser.c \
687 torture/exchange_createuser.c \
689 @echo "Generating $@"
690 @./script/mkproto.pl --private=torture/torture_proto.h --public=torture/torture_proto.h $^
694 #################################################################
695 # server and providers compilation rules
696 #################################################################
699 $(INSTALL) -d $(DESTDIR)$(datadir)/setup
700 $(INSTALL) -m 0644 setup/oc_provision* $(DESTDIR)$(datadir)/setup/
703 rm -f $(DESTDIR)$(datadir)/setup/oc_provision_configuration.ldif
704 rm -f $(DESTDIR)$(datadir)/setup/oc_provision_schema.ldif
705 rm -f $(DESTDIR)$(datadir)/setup/oc_provision_schema_modify.ldif
708 server: providers/providers_proto.h server/dcesrv_proto.h \
709 server/dcesrv_exchange.$(SHLIBEXT)
711 server-install: python-install
712 $(INSTALL) -m 0755 server/dcesrv_exchange.$(SHLIBEXT) $(DESTDIR)$(SERVER_MODULESDIR)
713 $(INSTALL) -d $(DESTDIR)$(datadir)/setup
714 $(INSTALL) -m 0644 setup/oc_provision* $(DESTDIR)$(datadir)/setup/
716 server-uninstall: python-uninstall
717 rm -f $(DESTDIR)$(SERVER_MODULESDIR)/dcesrv_exchange.*
718 rm -f $(DESTDIR)$(datadir)/setup/oc_provision_configuration.ldif
719 rm -f $(DESTDIR)$(datadir)/setup/oc_provision_schema.ldif
720 rm -f $(DESTDIR)$(datadir)/setup/oc_provision_schema_modify.ldif
723 rm -f providers/*.o providers/*.po
724 rm -f server/*.o server/*.po
725 rm -f server/dcesrv_proto.h
726 rm -f providers/providers_proto.h
727 rm -f server/*.$(SHLIBEXT)
728 rm -f server/dcesrv_exchange.$(SHLIBEXT)
732 server/dcesrv_exchange.$(SHLIBEXT): providers/emsabp.po \
733 server/dcesrv_exchange.po \
734 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
736 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS)
738 server/dcesrv_exchange.c: providers/providers_proto.h gen_ndr/ndr_exchange_s.c gen_ndr/ndr_exchange.c
740 providers/providers_proto.h: providers/emsabp.c
741 @echo "Generating $@"
742 @./script/mkproto.pl --private=providers/providers_proto.h --public=providers/providers_proto.h $^
744 server/dcesrv_proto.h: server/dcesrv_exchange.c
745 @echo "Generating $@"
746 @./script/mkproto.pl --private=server/dcesrv_proto.h --public=server/dcesrv_proto.h $^
749 #################################################################
750 # mapiproxy compilation rules
751 #################################################################
752 LIBMAPIPROXY_SO_VERSION = 0
757 mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \
758 mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT) \
762 mapiproxy-install: mapiproxy mapiproxy-modules-install mapiproxy-servers-install
763 $(INSTALL) -d $(DESTDIR)$(SERVER_MODULESDIR)
764 $(INSTALL) -m 0755 mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT) $(DESTDIR)$(SERVER_MODULESDIR)
765 $(INSTALL) -m 0755 mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
766 ln -sf libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapiproxy.$(SHLIBEXT)
767 $(INSTALL) -m 0644 mapiproxy/libmapiproxy.h $(DESTDIR)$(includedir)/
770 mapiproxy-uninstall: mapiproxy-modules-uninstall mapiproxy-servers-uninstall
771 rm -f $(DESTDIR)$(SERVER_MODULESDIR)/dcesrv_mapiproxy.*
772 rm -f $(DESTDIR)$(libdir)/libmapiproxy.*
773 rm -f $(DESTDIR)$(includedir)/libmapiproxy.h
775 mapiproxy-clean:: mapiproxy-modules-clean mapiproxy-servers-clean
776 rm -f mapiproxy/*.o mapiproxy/*.po
777 rm -f mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT)
778 rm -f mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \
779 mapiproxy/libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION)
781 clean:: mapiproxy-clean
784 mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT): mapiproxy/dcesrv_mapiproxy.po \
785 mapiproxy/dcesrv_mapiproxy_nspi.po \
786 mapiproxy/dcesrv_mapiproxy_rfr.po \
787 mapiproxy/dcesrv_mapiproxy_unused.po \
789 gen_ndr/ndr_exchange.po
792 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
794 mapiproxy/dcesrv_mapiproxy.c: gen_ndr/ndr_exchange_s.c gen_ndr/ndr_exchange.c
796 mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION): mapiproxy/dcesrv_mapiproxy_module.po \
797 mapiproxy/dcesrv_mapiproxy_server.po \
798 mapiproxy/dcesrv_mapiproxy_session.po
799 @$(CC) -o $@ $(DSOOPT) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS)
801 mapiproxy/libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION): libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
809 mapiproxy-modules: mapiproxy/modules/mpm_downgrade.$(SHLIBEXT) \
810 mapiproxy/modules/mpm_pack.$(SHLIBEXT) \
811 mapiproxy/modules/mpm_cache.$(SHLIBEXT) \
812 mapiproxy/modules/mpm_dummy.$(SHLIBEXT)
814 mapiproxy-modules-install: mapiproxy-modules
815 $(INSTALL) -d $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
816 $(INSTALL) -m 0755 mapiproxy/modules/mpm_downgrade.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
817 $(INSTALL) -m 0755 mapiproxy/modules/mpm_pack.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
818 $(INSTALL) -m 0755 mapiproxy/modules/mpm_cache.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
819 $(INSTALL) -m 0755 mapiproxy/modules/mpm_dummy.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
821 mapiproxy-modules-uninstall:
822 rm -rf $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy
824 mapiproxy-modules-clean::
825 rm -f mapiproxy/modules/*.o mapiproxy/modules/*.po
826 rm -f mapiproxy/modules/*.so
828 clean:: mapiproxy-modules-clean
830 mapiproxy/modules/mpm_downgrade.$(SHLIBEXT): mapiproxy/modules/mpm_downgrade.po
832 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
834 mapiproxy/modules/mpm_pack.$(SHLIBEXT): mapiproxy/modules/mpm_pack.po \
836 gen_ndr/ndr_exchange.po
838 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
840 mapiproxy/modules/mpm_cache.$(SHLIBEXT): mapiproxy/modules/mpm_cache.po \
841 mapiproxy/modules/mpm_cache_ldb.po \
842 mapiproxy/modules/mpm_cache_stream.po \
844 gen_ndr/ndr_exchange.po
846 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
848 mapiproxy/modules/mpm_dummy.$(SHLIBEXT): mapiproxy/modules/mpm_dummy.po
850 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
857 mapiproxy-servers: mapiproxy/servers/exchange_nsp.$(SHLIBEXT) \
858 mapiproxy/servers/exchange_emsmdb.$(SHLIBEXT) \
859 mapiproxy/servers/exchange_ds_rfr.$(SHLIBEXT)
861 mapiproxy-servers-install: mapiproxy-servers python-install provision-install
862 $(INSTALL) -d $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server/
863 $(INSTALL) -m 0755 mapiproxy/servers/exchange_nsp.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server/
864 $(INSTALL) -m 0755 mapiproxy/servers/exchange_emsmdb.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server/
865 $(INSTALL) -m 0755 mapiproxy/servers/exchange_ds_rfr.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server/
867 mapiproxy-servers-uninstall: python-uninstall provision-uninstall
868 rm -rf $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy_server
870 mapiproxy-servers-clean::
871 rm -f mapiproxy/servers/default/nspi/*.o mapiproxy/servers/default/nspi/*.po
872 rm -f mapiproxy/servers/default/emsmdb/*.o mapiproxy/servers/default/emsmdb/*.po
873 rm -f mapiproxy/servers/default/rfr/*.o mapiproxy/servers/default/rfr/*.po
874 rm -f mapiproxy/servers/*.so
876 clean:: mapiproxy-servers-clean
878 mapiproxy/servers/exchange_nsp.$(SHLIBEXT): mapiproxy/servers/default/nspi/dcesrv_exchange_nsp.po \
879 mapiproxy/servers/default/nspi/emsabp.po
881 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
883 mapiproxy/servers/exchange_emsmdb.$(SHLIBEXT): mapiproxy/servers/default/emsmdb/dcesrv_exchange_emsmdb.po
885 @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
887 mapiproxy/servers/exchange_ds_rfr.$(SHLIBEXT): mapiproxy/servers/default/rfr/dcesrv_exchange_ds_rfr.po
889 @$(CC) -o $@ $(DSOOPT) $^ -L $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
891 #################################################################
892 # Tools compilation rules
893 #################################################################
899 openchangeclient: bin/openchangeclient
901 openchangeclient-install: openchangeclient
902 $(INSTALL) -d $(DESTDIR)$(bindir)
903 $(INSTALL) -m 0755 bin/openchangeclient $(DESTDIR)$(bindir)
905 openchangeclient-uninstall:
906 rm -f $(DESTDIR)$(bindir)/openchangeclient
908 openchangeclient-clean::
909 rm -f bin/openchangeclient
910 rm -f utils/openchangeclient.o
911 rm -f utils/openchange-tools.o
913 clean:: openchangeclient-clean
915 bin/openchangeclient: utils/openchangeclient.o \
916 utils/openchange-tools.o \
917 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) \
918 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
920 @$(CC) -o $@ $^ $(LIBS) -lpopt
927 mapiprofile: bin/mapiprofile
929 mapiprofile-install: mapiprofile
930 $(INSTALL) -d $(DESTDIR)$(bindir)
931 $(INSTALL) -m 0755 bin/mapiprofile $(DESTDIR)$(bindir)
933 mapiprofile-uninstall:
934 rm -f $(DESTDIR)$(bindir)/mapiprofile
937 rm -f bin/mapiprofile
938 rm -f utils/mapiprofile.o
940 clean:: mapiprofile-clean
942 bin/mapiprofile: utils/mapiprofile.o libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
944 @$(CC) -o $@ $^ $(LIBS) -lpopt
951 openchangepfadmin: bin/openchangepfadmin
953 openchangepfadmin-install: openchangepfadmin
954 $(INSTALL) -d $(DESTDIR)$(bindir)
955 $(INSTALL) -m 0755 bin/openchangepfadmin $(DESTDIR)$(bindir)
957 openchangepfadmin-uninstall:
958 rm -f $(DESTDIR)$(bindir)/openchangepfadmin
960 openchangepfadmin-clean::
961 rm -f bin/openchangepfadmin
962 rm -f utils/openchangepfadmin.o
964 clean:: openchangepfadmin-clean
966 bin/openchangepfadmin: utils/openchangepfadmin.o \
967 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) \
968 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION)
970 @$(CC) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS) -lpopt
977 exchange2mbox: bin/exchange2mbox
979 exchange2mbox-install: exchange2mbox
980 $(INSTALL) -d $(DESTDIR)$(bindir)
981 $(INSTALL) -m 0755 bin/exchange2mbox $(DESTDIR)$(bindir)
983 exchange2mbox-uninstall:
984 rm -f $(DESTDIR)$(bindir)/exchange2mbox
986 exchange2mbox-clean::
987 rm -f bin/exchange2mbox
988 rm -f utils/exchange2mbox.o
989 rm -f utils/openchange-tools.o
991 clean:: exchange2mbox-clean
993 bin/exchange2mbox: utils/exchange2mbox.o \
994 utils/openchange-tools.o \
995 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
997 @$(CC) -o $@ $^ $(LIBS) -lpopt $(MAGIC_LIBS)
1004 exchange2ical: bin/exchange2ical
1006 exchange2ical-install: exchange2ical
1007 $(INSTALL) -d $(DESTDIR)$(bindir)
1008 $(INSTALL) -m 0755 bin/exchange2ical $(DESTDIR)$(bindir)
1010 exchange2ical-uninstall:
1011 rm -f $(DESTDIR)$(bindir)/exchange2ical
1013 exchange2ical-clean::
1014 rm -f bin/exchange2ical
1015 rm -f utils/exchange2ical/exchange2ical.o
1016 rm -f utils/exchange2ical/exchange2ical_utils.o
1017 rm -f utils/exchange2ical/exchange2ical_component.o
1018 rm -f utils/exchange2ical/exchange2ical_property.o
1019 rm -f utils/openchange-tools.o
1021 clean:: exchange2ical-clean
1023 bin/exchange2ical: utils/exchange2ical/exchange2ical.o \
1024 utils/exchange2ical/exchange2ical_component.o \
1025 utils/exchange2ical/exchange2ical_property.o \
1026 utils/exchange2ical/exchange2ical_utils.o \
1027 utils/openchange-tools.o \
1028 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1030 @$(CC) -o $@ $^ $(LIBS) -lpopt
1038 utils/mapitest/proto.h \
1041 mapitest-install: mapitest
1042 $(INSTALL) -d $(DESTDIR)$(bindir)
1043 $(INSTALL) -m 0755 bin/mapitest $(DESTDIR)$(bindir)
1046 rm -f $(DESTDIR)$(bindir)/mapitest
1050 rm -f utils/mapitest/*.o
1051 rm -f utils/mapitest/modules/*.o
1052 rm -f utils/mapitest/proto.h
1053 rm -f utils/mapitest/mapitest_proto.h
1055 clean:: mapitest-clean
1057 bin/mapitest: utils/mapitest/mapitest.o \
1058 utils/mapitest/mapitest_suite.o \
1059 utils/mapitest/mapitest_print.o \
1060 utils/mapitest/mapitest_stat.o \
1061 utils/mapitest/mapitest_common.o \
1062 utils/mapitest/module.o \
1063 utils/mapitest/modules/module_oxcstor.o \
1064 utils/mapitest/modules/module_oxcfold.o \
1065 utils/mapitest/modules/module_oxomsg.o \
1066 utils/mapitest/modules/module_oxcmsg.o \
1067 utils/mapitest/modules/module_oxcprpt.o \
1068 utils/mapitest/modules/module_oxctable.o \
1069 utils/mapitest/modules/module_oxorule.o \
1070 utils/mapitest/modules/module_oxcfxics.o \
1071 utils/mapitest/modules/module_nspi.o \
1072 utils/mapitest/modules/module_noserver.o \
1073 utils/mapitest/modules/module_errorchecks.o \
1074 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1076 @$(CC) -o $@ $^ $(LIBS) -lpopt
1078 utils/mapitest/proto.h: \
1079 utils/mapitest/mapitest_suite.c \
1080 utils/mapitest/mapitest_print.c \
1081 utils/mapitest/mapitest_stat.c \
1082 utils/mapitest/mapitest_common.c \
1083 utils/mapitest/module.c \
1084 utils/mapitest/modules/module_oxcstor.c \
1085 utils/mapitest/modules/module_oxcfold.c \
1086 utils/mapitest/modules/module_oxomsg.c \
1087 utils/mapitest/modules/module_oxcmsg.c \
1088 utils/mapitest/modules/module_oxcprpt.c \
1089 utils/mapitest/modules/module_oxctable.c \
1090 utils/mapitest/modules/module_oxorule.c \
1091 utils/mapitest/modules/module_oxcfxics.c \
1092 utils/mapitest/modules/module_nspi.c \
1093 utils/mapitest/modules/module_noserver.c \
1094 utils/mapitest/modules/module_errorchecks.c
1095 @echo "Generating $@"
1096 @./script/mkproto.pl --private=utils/mapitest/mapitest_proto.h --public=utils/mapitest/proto.h $^
1098 #####################
1099 # openchangemapidump
1100 #####################
1102 openchangemapidump: bin/openchangemapidump
1104 openchangemapidump-install: openchangemapidump
1105 $(INSTALL) -d $(DESTDIR)$(bindir)
1106 $(INSTALL) -m 0755 bin/openchangemapidump $(DESTDIR)$(bindir)
1108 openchangemapidump-uninstall:
1109 rm -f bin/openchangemapidump
1110 rm -f $(DESTDIR)$(bindir)/openchangemapidump
1112 openchangemapidump-clean::
1113 rm -f bin/openchangemapidump
1114 rm -f utils/backup/openchangemapidump.o
1115 rm -f utils/backup/openchangebackup.o
1117 clean:: openchangemapidump-clean
1119 bin/openchangemapidump: utils/backup/openchangemapidump.o \
1120 utils/backup/openchangebackup.o \
1121 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1123 @$(CC) -o $@ $^ $(LIBS) -lpopt
1130 schemaIDGUID: bin/schemaIDGUID
1132 schemaIDGUID-install: schemaIDGUID
1133 $(INSTALL) -m 0755 bin/schemaIDGUID $(DESTDIR)$(bindir)
1135 schemaIDGUID-uninstall:
1136 rm -f $(DESTDIR)$(bindir)/schemaIDGUID
1138 schemaIDGUID-clean::
1139 rm -f bin/schemaIDGUID
1140 rm -f utils/schemaIDGUID.o
1142 clean:: schemaIDGUID-clean
1144 bin/schemaIDGUID: utils/schemaIDGUID.o
1146 @$(CC) -o $@ $^ $(LIBS)
1153 locale_codepage: bin/locale_codepage
1155 locale_codepage-install: locale_codepage
1156 $(INSTALL) -m 0755 bin/locale_codepage $(DESTDIR)$(bindir)
1158 locale_codepage-uninstall:
1159 rm -f bin/locale_codepage
1160 rm -f $(DESTDIR)$(bindir)/locale_codepage
1162 locale_codepage-clean::
1163 rm -f bin/locale_codepage
1164 rm -f libmapi/tests/locale_codepage.o
1166 clean:: locale_codepage-clean
1168 bin/locale_codepage: libmapi/tests/locale_codepage.o libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1170 @$(CC) -o $@ $^ $(LIBS) -lpopt
1176 pythonscriptdir = python
1178 pymapi: $(pythonscriptdir)/mapi.$(SHLIBEXT)
1180 pymapi/%: CFLAGS+=`$(PYTHON_CONFIG) --cflags` -fPIC
1182 $(pythonscriptdir)/mapi.$(SHLIBEXT): $(patsubst %.c,%.o,$(wildcard pymapi/*.c)) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
1183 $(CC) -o $@ $^ `$(PYTHON_CONFIG) --libs` $(DSOOPT)
1186 $(INSTALL) -d $(DESTDIR)$(PYCDIR)
1187 $(INSTALL) -m 0755 $(pythonscriptdir)/mapi.$(SHLIBEXT) $(DESTDIR)$(PYCDIR)
1190 rm -f $(DESTDIR)$(PYCDIR)/mapi.$(SHLIBEXT)
1192 PYTHON_MODULES = $(patsubst $(pythonscriptdir)/%,%,$(shell find $(pythonscriptdir) -name "*.py"))
1195 @echo "Installing Python modules"
1196 @$(foreach MODULE, $(PYTHON_MODULES), \
1197 $(INSTALL) -d $(DESTDIR)$(pythondir)/$(dir $(MODULE)); \
1198 $(INSTALL) -m 0644 $(pythonscriptdir)/$(MODULE) $(DESTDIR)$(pythondir)/$(dir $(MODULE)); \
1202 rm -rf $(DESTDIR)$(pythondir)/openchange
1204 EPYDOC_OPTIONS = --no-private --url http://www.openchange.org/ --no-sourcecode
1207 PYTHONPATH=$(pythonscriptdir) epydoc $(EPYDOC_OPTIONS) openchange
1213 nagiosdir = $(libdir)/nagios
1216 $(INSTALL) -d $(DESTDIR)$(nagiosdir)
1217 $(INSTALL) -m 0755 script/check_exchange $(DESTDIR)$(nagiosdir)
1223 cd doc/examples && make && cd ${OLD_PWD}
1226 rm -f doc/examples/mapi_sample1
1227 rm -f doc/examples/fetchappointment
1228 rm -f doc/examples/fetchmail
1230 clean:: examples-clean
1232 examples-install examples-uninstall:
1235 doc/man/man1/exchange2mbox.1 \
1236 doc/man/man1/mapiprofile.1 \
1237 doc/man/man1/openchangeclient.1 \
1238 doc/man/man1/openchangepfadmin.1 \
1239 $(wildcard apidocs/man/man3/*)
1242 @./script/installman.sh $(DESTDIR)$(mandir) $(manpages)
1246 @./script/uninstallman.sh $(DESTDIR)$(mandir) $(manpages)
1249 @if test ! -d apidocs ; then \
1250 echo "Doxify API documentation: HTML and man pages"; \
1251 mkdir -p apidocs/html; \
1252 mkdir -p apidocs/man; \
1253 $(DOXYGEN) Doxyfile; \
1254 $(DOXYGEN) libmapi/Doxyfile; \
1255 $(DOXYGEN) libmapiadmin/Doxyfile; \
1256 $(DOXYGEN) libocpf/Doxyfile; \
1257 $(DOXYGEN) libmapi++/Doxyfile; \
1258 $(DOXYGEN) mapiproxy/Doxyfile; \
1259 $(DOXYGEN) utils/mapitest/Doxyfile; \
1260 cp -f doc/doxygen/index.html apidocs/html; \
1261 cp -f doc/doxygen/pictures/* apidocs/html/overview; \
1262 cp -f doc/doxygen/pictures/* apidocs/html/libmapi; \
1263 cp -f doc/doxygen/pictures/* apidocs/html/libmapiadmin; \
1264 cp -f doc/doxygen/pictures/* apidocs/html/libmapi++; \
1265 cp -f doc/doxygen/pictures/* apidocs/html/libocpf; \
1266 cp -f doc/doxygen/pictures/* apidocs/html/mapitest; \
1267 cp -f doc/doxygen/pictures/* apidocs/html/mapiproxy; \
1268 cp -f mapiproxy/documentation/pictures/* apidocs/html/mapiproxy;\
1269 rm -f apidocs/man/man3/todo.3; \
1270 rm -f apidocs/man/man3/bug.3; \
1271 rm -f apidocs/man/man3/*.c.3; \
1275 etags `find $(srcdir) -name "*.[ch]"`
1278 ctags `find $(srcdir) -name "*.[ch]"`
1281 @echo "Creating Perl bindings ..."
1282 @$(MAKE) -C swig/perl all
1285 @echo "Install Perl bindings ..."
1286 @$(MAKE) -C swig/perl install
1289 @echo "Uninstall Perl bindings ..."
1290 @$(MAKE) -C swig/perl uninstall
1293 @$(MAKE) -C swig/perl distclean
1296 @echo "Cleaning Perl bindings ..."
1297 @$(MAKE) -C swig/perl clean
1299 .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
1303 check:: torture/openchange.$(SHLIBEXT) libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION)
1304 # FIXME: Set up server
1305 LD_LIBRARY_PATH=`pwd` $(SMBTORTURE) --load-module torture/openchange.$(SHLIBEXT) ncalrpc: OPENCHANGE
1306 ./bin/mapitest --mapi-calls
1308 # This should be the last line in the makefile since other distclean rules may