~ubuntu-branches/debian/experimental/openchange/experimental

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2008-08-06 18:32:45 UTC
  • Revision ID: james.westby@ubuntu.com-20080806183245-nauuj71be5mm03w7
Tags: upstream-1.0~svn679
ImportĀ upstreamĀ versionĀ 1.0~svn679

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Makefile for OpenChange
 
2
# Written by Jelmer Vernooij <jelmer@samba.org>, 2005.
 
3
 
 
4
default: all
 
5
 
 
6
# Until we add proper dependencies for all the C files:
 
7
.NOTPARALLEL:
 
8
 
 
9
config.mk: config.status config.mk.in
 
10
        ./config.status
 
11
 
 
12
config.status: configure
 
13
        ./configure
 
14
 
 
15
configure: configure.ac
 
16
        autoconf -f
 
17
 
 
18
samba:
 
19
        ./script/installsamba4.sh all
 
20
 
 
21
samba-git: 
 
22
        ./script/installsamba4.sh git-all
 
23
 
 
24
ifneq ($(MAKECMDGOALS), samba)
 
25
ifneq ($(MAKECMDGOALS), samba-git)
 
26
include config.mk
 
27
endif
 
28
endif
 
29
 
 
30
#################################################################
 
31
# top level compilation rules
 
32
#################################################################
 
33
 
 
34
all:            $(OC_IDL)               \
 
35
                $(OC_LIBS)              \
 
36
                $(OC_TOOLS)             \
 
37
                $(OC_TORTURE)           \
 
38
                $(OC_SERVER)            \
 
39
                $(SWIGDIRS-ALL)                                 
 
40
 
 
41
install:        all                     \
 
42
                installlib              \
 
43
                installpc               \
 
44
                installheader           \
 
45
                $(OC_TOOLS_INSTALL)     \
 
46
                $(OC_SERVER_INSTALL)    \
 
47
                $(OC_TORTURE_INSTALL)   \
 
48
                $(SWIGDIRS-INSTALL)     \
 
49
                installnagios
 
50
 
 
51
installlib:     $(OC_LIBS_INSTALL)
 
52
installpc:      $(OC_LIBS_INSTALLPC)
 
53
installheader:  $(OC_LIBS_INSTALLHEADERS)
 
54
 
 
55
uninstall::     $(OC_LIBS_UNINSTALL)    \
 
56
                $(OC_TOOLS_UNINSTALL)   \
 
57
                $(OC_SERVER_UNINSTALL)  \
 
58
                $(OC_TORTURE_UNINSTALL) \
 
59
                $(SWIGDIRS-UNINSTALL)
 
60
 
 
61
distclean:: clean
 
62
        rm -rf autom4te.cache
 
63
        rm -f Doxyfile
 
64
        rm -f libmapi/Doxyfile
 
65
        rm -f libocpf/Doxyfile
 
66
        rm -f mapiproxy/Doxyfile
 
67
        rm -f config.status config.log
 
68
        rm -f utils/mapitest/Doxyfile
 
69
        rm -f intltool-extract intltool-merge intltool-update
 
70
        rm -rf apidocs
 
71
        rm -rf gen_ndr
 
72
        rm -f tags
 
73
 
 
74
clean::
 
75
        rm -f *~
 
76
        rm -f */*~
 
77
        rm -f */*/*~
 
78
        rm -f doc/examples/mapi_sample1
 
79
        rm -f doc/examples/fetchappointment
 
80
        rm -f doc/examples/fetchmail
 
81
 
 
82
re:: clean install
 
83
 
 
84
#################################################################
 
85
# Suffixes compilation rules
 
86
#################################################################
 
87
 
 
88
.SUFFIXES: .c .o .h .po .idl
 
89
 
 
90
.idl.h:
 
91
        @echo "Generating $@"
 
92
        @$(PIDL) --outputdir=gen_ndr --header -- $<
 
93
 
 
94
.c.o:
 
95
        @echo "Compiling $<"
 
96
        @$(CC) $(CFLAGS) -c $< -o $@
 
97
 
 
98
.c.po:
 
99
        @echo "Compiling $< with -fPIC"
 
100
        @$(CC) $(CFLAGS) -fPIC -c $< -o $@
 
101
 
 
102
 
 
103
 
 
104
#################################################################
 
105
# IDL compilation rules
 
106
#################################################################
 
107
 
 
108
idl: gen_ndr gen_ndr/ndr_exchange.h
 
109
 
 
110
exchange.idl: mapitags_enum.h mapicodes_enum.h
 
111
 
 
112
gen_ndr:
 
113
        @echo "Creating the gen_ndr directory"
 
114
        mkdir -p gen_ndr
 
115
 
 
116
gen_ndr/ndr_%.h gen_ndr/ndr_%.c: %.idl %.h
 
117
        @echo "Generating $@"
 
118
        @$(PIDL) --outputdir=gen_ndr --ndr-parser -- $<
 
119
 
 
120
gen_ndr/ndr_%_c.h gen_ndr/ndr_%_c.c: %.idl %.h
 
121
        @echo "Generating $@"
 
122
        @$(PIDL) --outputdir=gen_ndr --client -- $<
 
123
 
 
124
gen_ndr/ndr_%_s.c: %.idl
 
125
        @echo "Generating $@"
 
126
        @$(PIDL) --outputdir=gen_ndr --server -- $<
 
127
 
 
128
 
 
129
 
 
130
#################################################################
 
131
# libmapi compilation rules
 
132
#################################################################
 
133
 
 
134
LIBMAPI_SO_VERSION = 0
 
135
 
 
136
libmapi:        idl                                     \
 
137
                libmapi/version.h                       \
 
138
                libmapi/proto.h                         \
 
139
                libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)  
 
140
 
 
141
libmapi-install:        libmapi-installpc       \
 
142
                        libmapi-installlib      \
 
143
                        libmapi-installheader   \
 
144
                        libmapi-installscript
 
145
 
 
146
libmapi-uninstall:      libmapi-uninstallpc     \
 
147
                        libmapi-uninstalllib    \
 
148
                        libmapi-uninstallheader \
 
149
                        libmapi-uninstallscript
 
150
 
 
151
libmapi-clean::
 
152
        rm -f libmapi/*.o libmapi/*.po
 
153
        rm -f libmapi/utf8_convert.yy.c
 
154
        rm -f libmapi/tests/*.o, libmapi/tests/*.po
 
155
        rm -f libmapi/socket/*.o libmapi/socket/*.po
 
156
        rm -f libmapi/util/*.o, libmapi/util/*.po
 
157
        rm -f libmapi/version.h
 
158
        rm -f libmapi/mapicode.c libmapi/mapicode.h
 
159
        rm -f libmapi/mapitags.c libmapi/mapitags.h
 
160
        rm -f libmapi/mapi_nameid_private.h
 
161
        rm -f libmapi/proto.h
 
162
        rm -f libmapi/proto_private.h
 
163
        rm -f gen_ndr/ndr_exchange*
 
164
        rm -f gen_ndr/exchange.h
 
165
        rm -f ndr_mapi.o ndr_mapi.po
 
166
        rm -f mapicodes_enum.h
 
167
        rm -f mapitags_enum.h
 
168
        rm -f *~
 
169
        rm -f */*~
 
170
        rm -f */*/*~
 
171
        rm -f libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) \
 
172
                  libmapi.$(SHLIBEXT)
 
173
 
 
174
clean:: libmapi-clean
 
175
 
 
176
libmapi-distclean::
 
177
        rm -f libmapi.pc
 
178
 
 
179
distclean:: libmapi-distclean
 
180
 
 
181
libmapi-installpc:
 
182
        @echo "[*] install: libmapi pc files"
 
183
        $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
 
184
        $(INSTALL) -m 0644 libmapi.pc $(DESTDIR)$(libdir)/pkgconfig
 
185
 
 
186
libmapi-installlib:
 
187
        @echo "[*] install: libmapi library"
 
188
        $(INSTALL) -d $(DESTDIR)$(libdir)
 
189
        $(INSTALL) -m 0755 libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
 
190
        ln -sf libmapi.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapi.$(SHLIBEXT)
 
191
 
 
192
libmapi-installheader:
 
193
        @echo "[*] install: libmapi headers"
 
194
        $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi 
 
195
        $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi/socket 
 
196
        $(INSTALL) -d $(DESTDIR)$(includedir)/gen_ndr
 
197
        $(INSTALL) -m 0644 libmapi/dlinklist.h $(DESTDIR)$(includedir)/libmapi/
 
198
        $(INSTALL) -m 0644 libmapi/libmapi.h $(DESTDIR)$(includedir)/libmapi/
 
199
        $(INSTALL) -m 0644 libmapi/proto.h $(DESTDIR)$(includedir)/libmapi/
 
200
        $(INSTALL) -m 0644 libmapi/nspi.h $(DESTDIR)$(includedir)/libmapi/
 
201
        $(INSTALL) -m 0644 libmapi/emsmdb.h $(DESTDIR)$(includedir)/libmapi/
 
202
        $(INSTALL) -m 0644 libmapi/mapi_ctx.h $(DESTDIR)$(includedir)/libmapi/
 
203
        $(INSTALL) -m 0644 libmapi/mapi_provider.h $(DESTDIR)$(includedir)/libmapi/
 
204
        $(INSTALL) -m 0644 libmapi/mapi_id_array.h $(DESTDIR)$(includedir)/libmapi/
 
205
        $(INSTALL) -m 0644 libmapi/mapi_notification.h $(DESTDIR)$(includedir)/libmapi/
 
206
        $(INSTALL) -m 0644 libmapi/mapi_object.h $(DESTDIR)$(includedir)/libmapi/
 
207
        $(INSTALL) -m 0644 libmapi/mapi_profile.h $(DESTDIR)$(includedir)/libmapi/
 
208
        $(INSTALL) -m 0644 libmapi/mapi_nameid.h $(DESTDIR)$(includedir)/libmapi/
 
209
        $(INSTALL) -m 0644 libmapi/mapidefs.h $(DESTDIR)$(includedir)/libmapi/
 
210
        $(INSTALL) -m 0644 libmapi/version.h $(DESTDIR)$(includedir)/libmapi/
 
211
        $(INSTALL) -m 0644 libmapi/mapicode.h $(DESTDIR)$(includedir)/libmapi/
 
212
        $(INSTALL) -m 0644 libmapi/socket/netif.h $(DESTDIR)$(includedir)/libmapi/socket/
 
213
        $(INSTALL) -m 0644 gen_ndr/exchange.h $(DESTDIR)$(includedir)/gen_ndr/
 
214
 
 
215
libmapi-installscript:
 
216
        $(INSTALL) -d $(DESTDIR)$(datadir)/js
 
217
        $(INSTALL) -m 0644 scripting/libjs/oc_profiles.js $(DESTDIR)$(datadir)/js/
 
218
        $(INSTALL) -d $(DESTDIR)$(datadir)/setup
 
219
        $(INSTALL) -m 0644 setup/oc_profiles* $(DESTDIR)$(datadir)/setup/
 
220
 
 
221
libmapi-uninstallpc:
 
222
        rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapi.pc
 
223
 
 
224
libmapi-uninstalllib:
 
225
        rm -f $(DESTDIR)$(libdir)/libmapi.*
 
226
 
 
227
libmapi-uninstallheader:
 
228
        rm -rf $(DESTDIR)$(includedir)/libmapi
 
229
        rm -f $(DESTDIR)$(includedir)/gen_ndr/exchange.h
 
230
 
 
231
libmapi-uninstallscript:
 
232
        rm -f $(DESTDIR)$(datadir)/js/oc_profiles.js
 
233
        rm -f $(DESTDIR)$(datadir)/setup/oc_profiles*
 
234
 
 
235
libmapi.$(SHLIBEXT).$(PACKAGE_VERSION):                 \
 
236
        libmapi/IABContainer.po                         \
 
237
        libmapi/IProfAdmin.po                           \
 
238
        libmapi/IMAPIContainer.po                       \
 
239
        libmapi/IMAPIFolder.po                          \
 
240
        libmapi/IMAPIProp.po                            \
 
241
        libmapi/IMAPISession.po                         \
 
242
        libmapi/IMAPISupport.po                         \
 
243
        libmapi/IStream.po                              \
 
244
        libmapi/IMAPITable.po                           \
 
245
        libmapi/IMessage.po                             \
 
246
        libmapi/IMsgStore.po                            \
 
247
        libmapi/IStoreFolder.po                         \
 
248
        libmapi/IUnknown.po                             \
 
249
        libmapi/IMSProvider.po                          \
 
250
        libmapi/IXPLogon.po                             \
 
251
        libmapi/FXICS.po                                \
 
252
        libmapi/utils.po                                \
 
253
        libmapi/property.po                             \
 
254
        libmapi/cdo_mapi.po                             \
 
255
        libmapi/lzfu.po                                 \
 
256
        libmapi/mapi_object.po                          \
 
257
        libmapi/mapi_id_array.po                        \
 
258
        libmapi/mapitags.po                             \
 
259
        libmapi/mapidump.po                             \
 
260
        libmapi/mapicode.po                             \
 
261
        libmapi/mapi_nameid.po                          \
 
262
        libmapi/emsmdb.po                               \
 
263
        libmapi/nspi.po                                 \
 
264
        libmapi/simple_mapi.po                          \
 
265
        libmapi/util/lcid.po                            \
 
266
        libmapi/util/codepage.po                        \
 
267
        libmapi/x500.po                                 \
 
268
        ndr_mapi.po                                     \
 
269
        gen_ndr/ndr_exchange.po                         \
 
270
        gen_ndr/ndr_exchange_c.po                       \
 
271
        libmapi/socket/interface.po                     \
 
272
        libmapi/socket/netif.po                         \
 
273
        libmapi/utf8_convert.yy.po
 
274
        @echo "Linking $@"
 
275
        @$(CC) $(DSOOPT) -Wl,-soname,libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION) -o $@ $^ $(LIBS)
 
276
 
 
277
 
 
278
libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION): libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
279
        ln -fs $< $@
 
280
 
 
281
libmapi/version.h: VERSION
 
282
        @./script/mkversion.sh  VERSION libmapi/version.h $(PACKAGE_VERSION) $(top_builddir)/
 
283
 
 
284
libmapi/utf8_convert.yy.c:      libmapi/utf8_convert.l
 
285
        @echo "Generating $@"
 
286
        @$(FLEX) -t $< > $@
 
287
 
 
288
# Avoid warnings:
 
289
libmapi/utf8_convert.yy.o: CFLAGS=
 
290
 
 
291
libmapi/proto.h libmapi/proto_private.h:                \
 
292
        libmapi/nspi.c                                  \
 
293
        libmapi/emsmdb.c                                \
 
294
        libmapi/cdo_mapi.c                              \
 
295
        libmapi/simple_mapi.c                           \
 
296
        libmapi/mapitags.c                              \
 
297
        libmapi/mapicode.c                              \
 
298
        libmapi/mapidump.c                              \
 
299
        libmapi/mapi_object.c                           \
 
300
        libmapi/mapi_id_array.c                         \
 
301
        libmapi/mapi_nameid.c                           \
 
302
        libmapi/property.c                              \
 
303
        libmapi/IABContainer.c                          \
 
304
        libmapi/IProfAdmin.c                            \
 
305
        libmapi/IMAPIContainer.c                        \
 
306
        libmapi/IMAPIFolder.c                           \
 
307
        libmapi/IMAPIProp.c                             \
 
308
        libmapi/IMAPISession.c                          \
 
309
        libmapi/IMAPISupport.c                          \
 
310
        libmapi/IMAPITable.c                            \
 
311
        libmapi/IMSProvider.c                           \
 
312
        libmapi/IMessage.c                              \
 
313
        libmapi/IMsgStore.c                             \
 
314
        libmapi/IStoreFolder.c                          \
 
315
        libmapi/IUnknown.c                              \
 
316
        libmapi/IStream.c                               \
 
317
        libmapi/IXPLogon.c                              \
 
318
        libmapi/FXICS.c                                 \
 
319
        libmapi/x500.c                                  \
 
320
        libmapi/lzfu.c                                  \
 
321
        libmapi/utils.c                                 \
 
322
        libmapi/util/lcid.c                             \
 
323
        libmapi/util/codepage.c                         \
 
324
        libmapi/socket/interface.c                      \
 
325
        libmapi/socket/netif.c          
 
326
        @echo "Generating $@"
 
327
        @./script/mkproto.pl --private=libmapi/proto_private.h --public=libmapi/proto.h $^
 
328
 
 
329
libmapi/emsmdb.c: libmapi/emsmdb.h gen_ndr/ndr_exchange_c.h
 
330
 
 
331
libmapi/mapitags.c libmapi/mapicode.c mapitags_enum.h mapicodes_enum.h: \
 
332
        libmapi/conf/mapi-properties                                    \
 
333
        libmapi/conf/mapi-codes                                         \
 
334
        libmapi/conf/mapi-named-properties                              \
 
335
        libmapi/conf/mparse.pl
 
336
        @./libmapi/conf/build.sh
 
337
 
 
338
#################################################################
 
339
# libmapi++ compilation rules
 
340
#################################################################
 
341
 
 
342
libmapixx: libmapi libmapixx-tests
 
343
 
 
344
libmapixx-installpc:
 
345
 
 
346
libmapixx-clean: libmapixx-tests-clean
 
347
 
 
348
libmapixx-install: libmapixx-installheader
 
349
 
 
350
libmapixx-uninstall: libmapixx-uninstallheader
 
351
 
 
352
libmapixx-installheader:
 
353
        @echo "[*] install: libmapi++ headers"
 
354
        $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi++
 
355
        $(INSTALL) -m 0644 libmapi++/attachment.h $(DESTDIR)$(includedir)/libmapi++/
 
356
        $(INSTALL) -m 0644 libmapi++/clibmapi.h $(DESTDIR)$(includedir)/libmapi++/
 
357
        $(INSTALL) -m 0644 libmapi++/folder.h $(DESTDIR)$(includedir)/libmapi++/
 
358
        $(INSTALL) -m 0644 libmapi++/libmapi++.h $(DESTDIR)$(includedir)/libmapi++/
 
359
        $(INSTALL) -m 0644 libmapi++/mapi_exception.h $(DESTDIR)$(includedir)/libmapi++/
 
360
        $(INSTALL) -m 0644 libmapi++/message.h $(DESTDIR)$(includedir)/libmapi++/
 
361
        $(INSTALL) -m 0644 libmapi++/message_store.h $(DESTDIR)$(includedir)/libmapi++/
 
362
        $(INSTALL) -m 0644 libmapi++/object.h $(DESTDIR)$(includedir)/libmapi++/
 
363
        $(INSTALL) -m 0644 libmapi++/profile.h $(DESTDIR)$(includedir)/libmapi++/
 
364
        $(INSTALL) -m 0644 libmapi++/property_container.h $(DESTDIR)$(includedir)/libmapi++/
 
365
        $(INSTALL) -m 0644 libmapi++/session.h $(DESTDIR)$(includedir)/libmapi++/
 
366
        $(INSTALL) -d $(DESTDIR)$(includedir)/libmapi++/impl
 
367
        $(INSTALL) -m 0644 libmapi++/impl/* $(DESTDIR)$(includedir)/libmapi++/impl/
 
368
 
 
369
libmapixx-uninstallheader:
 
370
        rm -rf $(DESTDIR)$(includedir)/libmapi++
 
371
 
 
372
 
 
373
libmapixx-tests:        libmapixx-test          \
 
374
                        libmapixx-attach
 
375
 
 
376
libmapixx-tests-clean:  libmapixx-test-clean    \
 
377
                        libmapixx-attach-clean  
 
378
 
 
379
libmapixx-test: bin/libmapixx-test
 
380
 
 
381
libmapixx-test-clean:
 
382
        rm -f bin/libmapixx-test
 
383
        rm -f libmapi++/tests/*.o
 
384
 
 
385
bin/libmapixx-test:     libmapi++/tests/test.cpp        \
 
386
                libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
387
        @echo "Linking sample application $@"
 
388
        @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
 
389
 
 
390
clean:: libmapixx-test-clean
 
391
 
 
392
libmapixx-attach: bin/libmapixx-attach
 
393
 
 
394
libmapixx-attach-clean:
 
395
        rm -f bin/libmapixx-attach
 
396
        rm -f libmapi++/tests/*.o
 
397
 
 
398
bin/libmapixx-attach: libmapi++/tests/attach_test.cpp   \
 
399
                  libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
400
        @echo "Linking sample application $@"
 
401
        @$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
 
402
 
 
403
clean:: libmapixx-attach-clean
 
404
 
 
405
#################################################################
 
406
# libmapiadmin compilation rules
 
407
#################################################################
 
408
 
 
409
LIBMAPIADMIN_SO_VERSION = 0
 
410
 
 
411
libmapiadmin:   libmapiadmin/proto.h                            \
 
412
                libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION)
 
413
 
 
414
libmapiadmin-install:   libmapiadmin-installpc          \
 
415
                        libmapiadmin-installlib         \
 
416
                        libmapiadmin-installheader
 
417
 
 
418
libmapiadmin-uninstall: libmapiadmin-uninstallpc        \
 
419
                        libmapiadmin-uninstalllib       \
 
420
                        libmapiadmin-uninstallheader
 
421
 
 
422
libmapiadmin-clean::
 
423
        rm -f libmapiadmin/*.o libmapiadmin/*.po
 
424
        rm -f libmapiadmin/proto.h
 
425
        rm -f libmapiadmin/proto_private.h
 
426
        rm -f libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) \
 
427
                  libmapiadmin.$(SHLIBEXT)
 
428
 
 
429
clean:: libmapiadmin-clean
 
430
 
 
431
libmapiadmin-distclean::
 
432
        rm -f libmapiadmin.pc
 
433
 
 
434
distclean:: libmapiadmin-distclean
 
435
 
 
436
libmapiadmin-installpc:
 
437
        @echo "[*] install: libmapiadmin pc files"
 
438
        $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
 
439
        $(INSTALL) -m 0644 libmapiadmin.pc $(DESTDIR)$(libdir)/pkgconfig
 
440
 
 
441
libmapiadmin-installlib:
 
442
        @echo "[*] install: libmapiadmin library"
 
443
        $(INSTALL) -d $(DESTDIR)$(libdir)
 
444
        $(INSTALL) -m 0755 libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
 
445
        ln -sf libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapiadmin.$(SHLIBEXT)
 
446
 
 
447
libmapiadmin-installheader:
 
448
        @echo "[*] install: libmapiadmin headers"
 
449
        $(INSTALL) -d $(DESTDIR)$(includedir)/libmapiadmin 
 
450
        $(INSTALL) -m 0644 libmapiadmin/proto.h $(DESTDIR)$(includedir)/libmapiadmin/
 
451
        $(INSTALL) -m 0644 libmapiadmin/libmapiadmin.h $(DESTDIR)$(includedir)/libmapiadmin/
 
452
 
 
453
libmapiadmin-uninstallpc:
 
454
        rm -f $(DESTDIR)$(libdir)/pkgconfig/libmapiadmin.pc
 
455
 
 
456
libmapiadmin-uninstalllib:
 
457
        rm -f $(DESTDIR)$(libdir)/libmapiadmin.*
 
458
 
 
459
libmapiadmin-uninstallheader:
 
460
        rm -rf $(DESTDIR)$(includedir)/libmapiadmin
 
461
 
 
462
libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION):    \
 
463
        libmapiadmin/mapiadmin_user.po          \
 
464
        libmapiadmin/mapiadmin.po               \
 
465
        libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
466
        @echo "Linking $@"
 
467
        @$(CC) $(DSOOPT) -Wl,-soname,libmapiadmin.$(SHLIBEXT).$(LIBMAPIADMIN_SO_VERSION) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS) 
 
468
 
 
469
libmapiadmin/proto.h libmapiadmin/proto_private.h:      \
 
470
        libmapiadmin/mapiadmin.c                        \
 
471
        libmapiadmin/mapiadmin_user.c                   
 
472
        @echo "Generating $@"
 
473
        @./script/mkproto.pl -private=libmapiadmin/proto_private.h --public=libmapiadmin/proto.h $^
 
474
 
 
475
 
 
476
 
 
477
#################################################################
 
478
# libocpf compilation rules
 
479
#################################################################
 
480
 
 
481
LIBOCPF_SO_VERSION = 0
 
482
 
 
483
libocpf:        libocpf/proto.h                         \
 
484
                libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
 
485
 
 
486
libocpf-install:        libocpf-installpc       \
 
487
                        libocpf-installlib      \
 
488
                        libocpf-installheader
 
489
 
 
490
libocpf-uninstall:      libocpf-uninstallpc     \
 
491
                        libocpf-uninstalllib    \
 
492
                        libocpf-uninstallheader
 
493
 
 
494
libocpf-clean::
 
495
        rm -f libocpf/*.o libocpf/*.po
 
496
        rm -f libocpf/lex.yy.c
 
497
        rm -f libocpf/ocpf.tab.c libocpf/ocpf.tab.h
 
498
        rm -f libocpf/proto.h
 
499
        rm -f libocpf/proto_private.h
 
500
        rm -f libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) \
 
501
                  libocpf.$(SHLIBEXT)
 
502
 
 
503
clean:: libocpf-clean
 
504
 
 
505
libocpf-distclean::
 
506
        rm -f libocpf.pc
 
507
 
 
508
distclean:: libocpf-distclean
 
509
 
 
510
libocpf-installpc:
 
511
        @echo "[*] install: libocpf pc files"
 
512
        $(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
 
513
        $(INSTALL) -m 0644 libocpf.pc $(DESTDIR)$(libdir)/pkgconfig
 
514
 
 
515
libocpf-installlib:
 
516
        @echo "[*] install: libocpf library"
 
517
        $(INSTALL) -d $(DESTDIR)$(libdir)
 
518
        $(INSTALL) -m 0755 libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
 
519
        ln -sf libocpf.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libocpf.$(SHLIBEXT)
 
520
 
 
521
libocpf-installheader:
 
522
        @echo "[*] install: libocpf headers"
 
523
        $(INSTALL) -d $(DESTDIR)$(includedir)/libocpf
 
524
        $(INSTALL) -m 0644 libocpf/ocpf.h $(DESTDIR)$(includedir)/libocpf/
 
525
        $(INSTALL) -m 0644 libocpf/proto.h $(DESTDIR)$(includedir)/libocpf/
 
526
 
 
527
libocpf-uninstallpc:
 
528
        rm -f $(DESTDIR)$(libdir)/pkgconfig/libocpf.pc
 
529
 
 
530
libocpf-uninstalllib:
 
531
        rm -f $(DESTDIR)$(libdir)/libocpf.*
 
532
 
 
533
libocpf-uninstallheader:
 
534
        rm -rf $(DESTDIR)$(includedir)/libocpf
 
535
 
 
536
libocpf.$(SHLIBEXT).$(PACKAGE_VERSION):         \
 
537
        libocpf/ocpf.tab.po                     \
 
538
        libocpf/lex.yy.po                       \
 
539
        libocpf/ocpf_public.po                  \
 
540
        libocpf/ocpf_dump.po                    \
 
541
        libocpf/ocpf_api.po                     \
 
542
        libocpf/ocpf_write.po                   \
 
543
        libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
544
        @echo "Linking $@"
 
545
        @$(CC) $(DSOOPT) -Wl,-soname,libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION) -o $@ $^ $(LIBS)
 
546
 
 
547
libocpf.$(SHLIBEXT).$(LIBOCPF_SO_VERSION): libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
 
548
        ln -fs $< $@
 
549
 
 
550
libocpf/proto.h:        libocpf/ocpf_public.c   \
 
551
                        libocpf/ocpf_dump.c     \
 
552
                        libocpf/ocpf_api.c      \
 
553
                        libocpf/ocpf_write.c
 
554
                        @echo "Generating $@"
 
555
                        @./script/mkproto.pl --private=libocpf/proto_private.h \
 
556
                        --public=libocpf/proto.h $^
 
557
 
 
558
libocpf/lex.yy.c:               libocpf/lex.l
 
559
        @echo "Generating $@"
 
560
        @$(FLEX) -t $< > $@
 
561
 
 
562
libocpf/ocpf.tab.c:     libocpf/ocpf.y
 
563
        @echo "Generating $@"
 
564
        @$(BISON) -pocpf_yy -d $< -o $@
 
565
 
 
566
# Avoid warnings
 
567
libocpf/lex.yy.o: CFLAGS=
 
568
libocpf/ocpf.tab.o: CFLAGS=
 
569
 
 
570
 
 
571
 
 
572
#################################################################
 
573
# torture suite compilation rules
 
574
#################################################################
 
575
 
 
576
torture:        torture/torture_proto.h         \
 
577
                torture/openchange.$(SHLIBEXT)
 
578
 
 
579
torture-install:
 
580
        @echo "[*] install: openchange torture suite"
 
581
        $(INSTALL) -d $(DESTDIR)$(TORTURE_MODULESDIR)
 
582
        $(INSTALL) -m 0755 torture/openchange.$(SHLIBEXT) $(DESTDIR)$(TORTURE_MODULESDIR)
 
583
 
 
584
torture-uninstall:
 
585
        rm -f $(DESTDIR)$(TORTURE_MODULESDIR)/openchange.*
 
586
 
 
587
torture-clean::
 
588
        rm -f torture/*.$(SHLIBEXT)
 
589
        rm -f torture/torture_proto.h
 
590
        rm -f torture/*.o torture/*.po
 
591
 
 
592
clean:: torture-clean
 
593
 
 
594
torture/openchange.$(SHLIBEXT):                 \
 
595
        torture/nspi_profile.po                 \
 
596
        torture/nspi_resolvenames.po            \
 
597
        torture/mapi_restrictions.po            \
 
598
        torture/mapi_criteria.po                \
 
599
        torture/mapi_copymail.po                \
 
600
        torture/mapi_sorttable.po               \
 
601
        torture/mapi_bookmark.po                \
 
602
        torture/mapi_fetchmail.po               \
 
603
        torture/mapi_sendmail.po                \
 
604
        torture/mapi_sendmail_html.po           \
 
605
        torture/mapi_deletemail.po              \
 
606
        torture/mapi_newmail.po                 \
 
607
        torture/mapi_sendattach.po              \
 
608
        torture/mapi_fetchattach.po             \
 
609
        torture/mapi_fetchappointment.po        \
 
610
        torture/mapi_sendappointment.po         \
 
611
        torture/mapi_fetchcontacts.po           \
 
612
        torture/mapi_sendcontacts.po            \
 
613
        torture/mapi_fetchtasks.po              \
 
614
        torture/mapi_sendtasks.po               \
 
615
        torture/mapi_common.po                  \
 
616
        torture/mapi_permissions.po             \
 
617
        torture/mapi_createuser.po              \
 
618
        torture/exchange_createuser.po          \
 
619
        torture/mapi_namedprops.po              \
 
620
        torture/mapi_recipient.po               \
 
621
        torture/openchange.po                   \
 
622
        libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
623
        @echo "Linking $@"
 
624
        @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS)
 
625
 
 
626
torture/torture_proto.h: torture/mapi_restrictions.c    \
 
627
        torture/mapi_criteria.c         \
 
628
        torture/mapi_deletemail.c       \
 
629
        torture/mapi_newmail.c          \
 
630
        torture/mapi_fetchmail.c        \
 
631
        torture/mapi_sendattach.c       \
 
632
        torture/mapi_sorttable.c        \
 
633
        torture/mapi_bookmark.c         \
 
634
        torture/mapi_copymail.c         \
 
635
        torture/mapi_fetchattach.c      \
 
636
        torture/mapi_sendmail.c         \
 
637
        torture/mapi_sendmail_html.c    \
 
638
        torture/nspi_profile.c          \
 
639
        torture/nspi_resolvenames.c     \
 
640
        torture/mapi_fetchappointment.c \
 
641
        torture/mapi_sendappointment.c  \
 
642
        torture/mapi_fetchcontacts.c    \
 
643
        torture/mapi_sendcontacts.c     \
 
644
        torture/mapi_fetchtasks.c       \
 
645
        torture/mapi_sendtasks.c        \
 
646
        torture/mapi_common.c           \
 
647
        torture/mapi_permissions.c      \
 
648
        torture/mapi_namedprops.c       \
 
649
        torture/mapi_recipient.c        \
 
650
        torture/mapi_createuser.c       \
 
651
        torture/exchange_createuser.c   \
 
652
        torture/openchange.c
 
653
        @echo "Generating $@"
 
654
        @./script/mkproto.pl --private=torture/torture_proto.h --public=torture/torture_proto.h $^
 
655
 
 
656
 
 
657
 
 
658
#################################################################
 
659
# server and providers compilation rules
 
660
#################################################################
 
661
 
 
662
server:         providers/providers_proto.h server/dcesrv_proto.h       \
 
663
                server/dcesrv_exchange.$(SHLIBEXT)                      
 
664
 
 
665
server-install:
 
666
        $(INSTALL) -m 0755 server/dcesrv_exchange.$(SHLIBEXT) $(DESTDIR)$(SERVER_MODULESDIR)
 
667
        $(INSTALL) -d $(DESTDIR)$(datadir)/js
 
668
        $(INSTALL) -m 0644 scripting/libjs/oc_provision.js $(DESTDIR)$(datadir)/js/
 
669
        $(INSTALL) -d $(DESTDIR)$(datadir)/setup
 
670
        $(INSTALL) -m 0644 setup/oc_provision* $(DESTDIR)$(datadir)/setup/
 
671
 
 
672
server-uninstall:
 
673
        rm -f $(DESTDIR)$(SERVER_MODULESDIR)/dcesrv_exchange.*
 
674
        rm -f $(DESTDIR)$(datadir)/js/oc_provision.js
 
675
        rm -f $(DESTDIR)$(datadir)/setup/oc_provision_configuration.ldif
 
676
        rm -f $(DESTDIR)$(datadir)/setup/oc_provision_schema.ldif
 
677
        rm -f $(DESTDIR)$(datadir)/setup/oc_provision_schema_modify.ldif
 
678
 
 
679
server-clean::
 
680
        rm -f providers/*.o providers/*.po
 
681
        rm -f server/*.o server/*.po
 
682
        rm -f server/dcesrv_proto.h
 
683
        rm -f providers/providers_proto.h
 
684
        rm -f server/*.$(SHLIBEXT)
 
685
        rm -f server/dcesrv_exchange.$(SHLIBEXT)
 
686
 
 
687
clean:: server-clean
 
688
 
 
689
server/dcesrv_exchange.$(SHLIBEXT): providers/emsabp.po         \
 
690
                                server/dcesrv_exchange.po       \
 
691
                                libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
692
        @echo "Linking $@"
 
693
        @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS)
 
694
 
 
695
server/dcesrv_exchange.c: providers/providers_proto.h gen_ndr/ndr_exchange_s.c gen_ndr/ndr_exchange.c
 
696
 
 
697
providers/providers_proto.h: providers/emsabp.c
 
698
        @echo "Generating $@"
 
699
        @./script/mkproto.pl --private=providers/providers_proto.h --public=providers/providers_proto.h $^
 
700
 
 
701
server/dcesrv_proto.h: server/dcesrv_exchange.c
 
702
        @echo "Generating $@"
 
703
        @./script/mkproto.pl --private=server/dcesrv_proto.h --public=server/dcesrv_proto.h $^
 
704
 
 
705
 
 
706
#################################################################
 
707
# mapiproxy compilation rules
 
708
#################################################################
 
709
LIBMAPIPROXY_SO_VERSION = 0
 
710
 
 
711
.PHONY: mapiproxy
 
712
 
 
713
mapiproxy:      idl                                     \
 
714
                mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)   \
 
715
                mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT)  \
 
716
                mapiproxy-modules
 
717
 
 
718
mapiproxy-install: mapiproxy mapiproxy-modules-install
 
719
        $(INSTALL) -d $(DESTDIR)$(SERVER_MODULESDIR)
 
720
        $(INSTALL) -m 0755 mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT) $(DESTDIR)$(SERVER_MODULESDIR)
 
721
        $(INSTALL) -m 0755 mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)
 
722
        ln -sf libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libmapiproxy.$(SHLIBEXT)
 
723
        $(INSTALL) -m 0644 mapiproxy/libmapiproxy.h $(DESTDIR)$(includedir)/
 
724
 
 
725
 
 
726
mapiproxy-uninstall: mapiproxy-modules-uninstall
 
727
        rm -f $(DESTDIR)$(SERVER_MODULESDIR)/dcesrv_mapiproxy.*
 
728
        rm -f $(DESTDIR)$(libdir)/libmapiproxy.*
 
729
        rm -f $(DESTDIR)$(includedir)/libmapiproxy.h
 
730
 
 
731
mapiproxy-clean:: mapiproxy-modules-clean
 
732
        rm -f mapiproxy/*.o mapiproxy/*.po
 
733
        rm -f mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT)
 
734
        rm -f mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) \
 
735
                  mapiproxy/libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION)
 
736
 
 
737
clean:: mapiproxy-clean
 
738
 
 
739
 
 
740
mapiproxy/dcesrv_mapiproxy.$(SHLIBEXT):         mapiproxy/dcesrv_mapiproxy.po           \
 
741
                                                mapiproxy/dcesrv_mapiproxy_nspi.po      \
 
742
                                                mapiproxy/dcesrv_mapiproxy_unused.po    \
 
743
                                                ndr_mapi.po                             \
 
744
                                                gen_ndr/ndr_exchange.po                         
 
745
 
 
746
        @echo "Linking $@"
 
747
        @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
 
748
 
 
749
mapiproxy/dcesrv_mapiproxy.c: gen_ndr/ndr_exchange_s.c gen_ndr/ndr_exchange.c
 
750
 
 
751
mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION):  mapiproxy/dcesrv_mapiproxy_module.po
 
752
        @$(CC) -o $@ $(DSOOPT) -Wl,-soname,libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION) $^ -L. $(LIBS)
 
753
 
 
754
mapiproxy/libmapiproxy.$(SHLIBEXT).$(LIBMAPIPROXY_SO_VERSION): libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
 
755
        ln -fs $< $@
 
756
 
 
757
 
 
758
####################
 
759
# mapiproxy modules
 
760
####################
 
761
 
 
762
mapiproxy-modules:      mapiproxy/modules/mpm_downgrade.$(SHLIBEXT)     \
 
763
                        mapiproxy/modules/mpm_pack.$(SHLIBEXT)          \
 
764
                        mapiproxy/modules/mpm_cache.$(SHLIBEXT)         \
 
765
                        mapiproxy/modules/mpm_dummy.$(SHLIBEXT)         
 
766
 
 
767
mapiproxy-modules-install: mapiproxy-modules
 
768
        $(INSTALL) -d $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
 
769
        $(INSTALL) -m 0755 mapiproxy/modules/mpm_downgrade.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
 
770
        $(INSTALL) -m 0755 mapiproxy/modules/mpm_pack.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
 
771
        $(INSTALL) -m 0755 mapiproxy/modules/mpm_cache.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
 
772
        $(INSTALL) -m 0755 mapiproxy/modules/mpm_dummy.$(SHLIBEXT) $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy/
 
773
 
 
774
mapiproxy-modules-uninstall:
 
775
        rm -rf $(DESTDIR)$(modulesdir)/dcerpc_mapiproxy
 
776
 
 
777
mapiproxy-modules-clean::
 
778
        rm -f mapiproxy/modules/*.o mapiproxy/modules/*.po
 
779
        rm -f mapiproxy/modules/*.so
 
780
 
 
781
clean:: mapiproxy-modules-clean
 
782
 
 
783
mapiproxy/modules/mpm_downgrade.$(SHLIBEXT): mapiproxy/modules/mpm_downgrade.po
 
784
        @echo "Linking $@"
 
785
        @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
 
786
 
 
787
mapiproxy/modules/mpm_pack.$(SHLIBEXT): mapiproxy/modules/mpm_pack.po   \
 
788
                                        ndr_mapi.po                     \
 
789
                                        gen_ndr/ndr_exchange.po
 
790
        @echo "Linking $@"
 
791
        @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
 
792
 
 
793
mapiproxy/modules/mpm_cache.$(SHLIBEXT): mapiproxy/modules/mpm_cache.po         \
 
794
                                         mapiproxy/modules/mpm_cache_ldb.po     \
 
795
                                         mapiproxy/modules/mpm_cache_stream.po  \
 
796
                                         ndr_mapi.po                            \
 
797
                                         gen_ndr/ndr_exchange.po
 
798
        @echo "Linking $@"
 
799
        @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION) libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
800
 
 
801
mapiproxy/modules/mpm_dummy.$(SHLIBEXT): mapiproxy/modules/mpm_dummy.po
 
802
        @echo "Linking $@"
 
803
        @$(CC) -o $@ $(DSOOPT) $^ -L. $(LIBS) -Lmapiproxy mapiproxy/libmapiproxy.$(SHLIBEXT).$(PACKAGE_VERSION)
 
804
 
 
805
#################################################################
 
806
# Tools compilation rules
 
807
#################################################################
 
808
 
 
809
###################
 
810
# openchangeclient
 
811
###################
 
812
 
 
813
openchangeclient:       bin/openchangeclient
 
814
 
 
815
openchangeclient-install:
 
816
        $(INSTALL) -d $(DESTDIR)$(bindir) 
 
817
        $(INSTALL) -m 0755 bin/openchangeclient $(DESTDIR)$(bindir)
 
818
 
 
819
openchangeclient-uninstall:
 
820
        rm -f $(DESTDIR)$(bindir)/openchangeclient
 
821
 
 
822
openchangeclient-clean::
 
823
        rm -f bin/openchangeclient
 
824
        rm -f utils/openchangeclient.o
 
825
        rm -f utils/openchange-tools.o  
 
826
 
 
827
clean:: openchangeclient-clean
 
828
 
 
829
bin/openchangeclient:   utils/openchangeclient.o                        \
 
830
                        utils/openchange-tools.o                        \
 
831
                        libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)          \
 
832
                        libocpf.$(SHLIBEXT).$(PACKAGE_VERSION)
 
833
        @echo "Linking $@"
 
834
        @$(CC) -o $@ $^ $(LIBS) -lpopt
 
835
 
 
836
 
 
837
##############
 
838
# mapiprofile
 
839
##############
 
840
 
 
841
mapiprofile:            bin/mapiprofile
 
842
 
 
843
mapiprofile-install:
 
844
        $(INSTALL) -d $(DESTDIR)$(bindir) 
 
845
        $(INSTALL) -m 0755 bin/mapiprofile $(DESTDIR)$(bindir)
 
846
 
 
847
mapiprofile-uninstall:
 
848
        rm -f $(DESTDIR)$(bindir)/mapiprofile
 
849
 
 
850
mapiprofile-clean::
 
851
        rm -f bin/mapiprofile
 
852
        rm -f utils/mapiprofile.o
 
853
 
 
854
clean:: mapiprofile-clean
 
855
 
 
856
bin/mapiprofile: utils/mapiprofile.o libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
857
        @echo "Linking $@"
 
858
        @$(CC) -o $@ $^ $(LIBS) -lpopt
 
859
 
 
860
 
 
861
###################
 
862
#openchangepfadmin
 
863
###################
 
864
 
 
865
openchangepfadmin:      bin/openchangepfadmin
 
866
 
 
867
openchangepfadmin-install:
 
868
        $(INSTALL) -d $(DESTDIR)$(bindir) 
 
869
        $(INSTALL) -m 0755 bin/openchangepfadmin $(DESTDIR)$(bindir)
 
870
 
 
871
openchangepfadmin-uninstall:
 
872
        rm -f $(DESTDIR)$(bindir)/openchangepfadmin
 
873
 
 
874
openchangepfadmin-clean::
 
875
        rm -f bin/openchangepfadmin
 
876
        rm -f utils/openchangepfadmin.o
 
877
 
 
878
clean:: openchangepfadmin-clean
 
879
 
 
880
bin/openchangepfadmin:  utils/openchangepfadmin.o                       \
 
881
                        libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)          \
 
882
                        libmapiadmin.$(SHLIBEXT).$(PACKAGE_VERSION)
 
883
        @echo "Linking $@"
 
884
        @$(CC) -o $@ $^ $(LIBS) $(LIBMAPIADMIN_LIBS) -lpopt                     
 
885
 
 
886
 
 
887
###################
 
888
# exchange2mbox
 
889
###################
 
890
 
 
891
exchange2mbox:          bin/exchange2mbox
 
892
 
 
893
exchange2mbox-install:
 
894
        $(INSTALL) -d $(DESTDIR)$(bindir)
 
895
        $(INSTALL) -m 0755 bin/exchange2mbox $(DESTDIR)$(bindir)
 
896
 
 
897
exchange2mbox-uninstall:
 
898
        rm -f $(DESTDIR)$(bindir)/exchange2mbox
 
899
 
 
900
exchange2mbox-clean::
 
901
        rm -f bin/exchange2mbox
 
902
        rm -f utils/exchange2mbox.o
 
903
        rm -f utils/openchange-tools.o  
 
904
 
 
905
clean:: exchange2mbox-clean
 
906
 
 
907
bin/exchange2mbox:      utils/exchange2mbox.o                           \
 
908
                        utils/openchange-tools.o                        \
 
909
                        libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
910
        @echo "Linking $@"
 
911
        @$(CC) -o $@ $^ $(LIBS) -lpopt  $(MAGIC_LIBS)
 
912
 
 
913
 
 
914
###################
 
915
# mapitest
 
916
###################
 
917
 
 
918
mapitest:       libmapi                 \
 
919
                utils/mapitest/proto.h  \
 
920
                bin/mapitest
 
921
 
 
922
mapitest-install:
 
923
        $(INSTALL) -d $(DESTDIR)$(bindir)
 
924
        $(INSTALL) -m 0755 bin/mapitest $(DESTDIR)$(bindir)
 
925
 
 
926
mapitest-uninstall:
 
927
        rm -f $(DESTDIR)$(bindir)/mapitest
 
928
 
 
929
mapitest-clean:
 
930
        rm -f bin/mapitest
 
931
        rm -f utils/mapitest/*.o
 
932
        rm -f utils/mapitest/modules/*.o
 
933
        rm -f utils/mapitest/proto.h
 
934
        rm -f utils/mapitest/mapitest_proto.h
 
935
 
 
936
clean:: mapitest-clean
 
937
 
 
938
bin/mapitest:   utils/mapitest/mapitest.o                       \
 
939
                utils/mapitest/mapitest_suite.o                 \
 
940
                utils/mapitest/mapitest_print.o                 \
 
941
                utils/mapitest/mapitest_stat.o                  \
 
942
                utils/mapitest/mapitest_common.o                \
 
943
                utils/mapitest/module.o                         \
 
944
                utils/mapitest/modules/module_oxcstor.o         \
 
945
                utils/mapitest/modules/module_oxcfold.o         \
 
946
                utils/mapitest/modules/module_oxomsg.o          \
 
947
                utils/mapitest/modules/module_oxcmsg.o          \
 
948
                utils/mapitest/modules/module_oxcprpt.o         \
 
949
                utils/mapitest/modules/module_oxctable.o        \
 
950
                utils/mapitest/modules/module_oxorule.o         \
 
951
                utils/mapitest/modules/module_oxcfxics.o        \
 
952
                utils/mapitest/modules/module_noserver.o        \
 
953
                libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)          
 
954
        @echo "Linking $@"
 
955
        @$(CC) -o $@ $^ $(LIBS) -lpopt
 
956
 
 
957
utils/mapitest/proto.h:                                 \
 
958
        utils/mapitest/mapitest_suite.c                 \
 
959
        utils/mapitest/mapitest_print.c                 \
 
960
        utils/mapitest/mapitest_stat.c                  \
 
961
        utils/mapitest/mapitest_common.c                \
 
962
        utils/mapitest/module.c                         \
 
963
        utils/mapitest/modules/module_oxcstor.c         \
 
964
        utils/mapitest/modules/module_oxcfold.c         \
 
965
        utils/mapitest/modules/module_oxomsg.c          \
 
966
        utils/mapitest/modules/module_oxcmsg.c          \
 
967
        utils/mapitest/modules/module_oxcprpt.c         \
 
968
        utils/mapitest/modules/module_oxctable.c        \
 
969
        utils/mapitest/modules/module_oxorule.c         \
 
970
        utils/mapitest/modules/module_oxcfxics.c        \
 
971
        utils/mapitest/modules/module_noserver.c        
 
972
        @echo "Generating $@"
 
973
        @./script/mkproto.pl --private=utils/mapitest/mapitest_proto.h --public=utils/mapitest/proto.h $^
 
974
 
 
975
#####################
 
976
# openchangemapidump
 
977
#####################
 
978
 
 
979
openchangemapidump:             bin/openchangemapidump
 
980
 
 
981
openchangemapidump-install:
 
982
        $(INSTALL) -d $(DESTDIR)$(bindir)
 
983
        $(INSTALL) -m 0755 bin/openchangemapidump $(DESTDIR)$(bindir)
 
984
 
 
985
openchangemapidump-uninstall:
 
986
        rm -f bin/openchangemapidump
 
987
        rm -f $(DESTDIR)$(bindir)/openchangemapidump
 
988
 
 
989
openchangemapidump-clean::
 
990
        rm -f bin/openchangemapidump
 
991
        rm -f utils/backup/openchangemapidump.o
 
992
        rm -f utils/backup/openchangebackup.o
 
993
 
 
994
clean:: openchangemapidump-clean
 
995
 
 
996
bin/openchangemapidump: utils/backup/openchangemapidump.o               \
 
997
                        utils/backup/openchangebackup.o                 \
 
998
                        libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
999
        @echo "Linking $@"
 
1000
        @$(CC) -o $@ $^ $(LIBS) -lpopt
 
1001
 
 
1002
 
 
1003
###############
 
1004
# schemaIDGUID
 
1005
###############
 
1006
 
 
1007
schemaIDGUID:           bin/schemaIDGUID
 
1008
 
 
1009
schemaIDGUID-install:
 
1010
        $(INSTALL) -m 0755 bin/schemaIDGUID $(DESTDIR)$(bindir)
 
1011
 
 
1012
schemaIDGUID-uninstall:
 
1013
        rm -f $(DESTDIR)$(bindir)/schemaIDGUID
 
1014
 
 
1015
schemaIDGUID-clean::
 
1016
        rm -f bin/schemaIDGUID
 
1017
        rm -f utils/schemaIDGUID.o
 
1018
 
 
1019
clean:: schemaIDGUID-clean
 
1020
 
 
1021
bin/schemaIDGUID: utils/schemaIDGUID.o
 
1022
        @echo "Linking $@"
 
1023
        @$(CC) -o $@ $^ $(LIBS)
 
1024
 
 
1025
 
 
1026
##################
 
1027
# locale_codepage
 
1028
##################
 
1029
 
 
1030
locale_codepage:        bin/locale_codepage
 
1031
 
 
1032
locale_codepage-install:
 
1033
        $(INSTALL) -m 0755 bin/locale_codepage $(DESTDIR)$(bindir)
 
1034
 
 
1035
locale_codepage-uninstall:
 
1036
        rm -f bin/locale_codepage
 
1037
        rm -f $(DESTDIR)$(bindir)/locale_codepage
 
1038
 
 
1039
locale_codepage-clean::
 
1040
        rm -f bin/locale_codepage
 
1041
        rm -f libmapi/tests/locale_codepage.o
 
1042
 
 
1043
clean:: locale_codepage-clean
 
1044
 
 
1045
bin/locale_codepage: libmapi/tests/locale_codepage.o libmapi.$(SHLIBEXT).$(PACKAGE_VERSION)
 
1046
        @echo "Linking $@"
 
1047
        @$(CC) -o $@ $^ $(LIBS) -lpopt
 
1048
 
 
1049
###################
 
1050
# nagios plugin
 
1051
###################
 
1052
 
 
1053
nagiosdir = $(libdir)/nagios
 
1054
 
 
1055
installnagios:
 
1056
        $(INSTALL) -d $(DESTDIR)$(nagiosdir)
 
1057
        $(INSTALL) -m 0755 script/check_exchange $(DESTDIR)$(nagiosdir)
 
1058
 
 
1059
###################
 
1060
# libmapi examples
 
1061
###################
 
1062
examples:
 
1063
        cd doc/examples && make && cd ${OLD_PWD}
 
1064
 
 
1065
examples-clean::
 
1066
        rm -f doc/examples/mapi_sample1
 
1067
        rm -f doc/examples/fetchappointment
 
1068
        rm -f doc/examples/fetchmail
 
1069
 
 
1070
clean:: examples-clean
 
1071
 
 
1072
examples-install examples-uninstall:
 
1073
 
 
1074
manpages = \
 
1075
                doc/man/man1/exchange2mbox.1                            \
 
1076
                doc/man/man1/mapiprofile.1                              \
 
1077
                doc/man/man1/openchangeclient.1                         \
 
1078
                doc/man/man1/openchangepfadmin.1                        
 
1079
 
 
1080
installman: doxygen
 
1081
        @./script/installman.sh $(DESTDIR)$(mandir) $(manpages)
 
1082
        @./script/installman.sh $(DESTDIR)$(mandir) `ls apidocs/man/man3/*`
 
1083
 
 
1084
 
 
1085
uninstallman:
 
1086
        @./script/uninstallman.sh $(DESTDIR)$(mandir) $(manpages)
 
1087
        @./script/uninstallman.sh $(DESTDIR)$(mandir) `ls apidocs/man/man3/*`
 
1088
 
 
1089
doxygen:        
 
1090
        @if test ! -d apidocs ; then                                            \
 
1091
                echo "Doxify API documentation: HTML and man pages";            \
 
1092
                mkdir -p apidocs/html;                                          \
 
1093
                mkdir -p apidocs/man;                                           \
 
1094
                $(DOXYGEN) Doxyfile;                                            \
 
1095
                $(DOXYGEN) libmapi/Doxyfile;                                    \
 
1096
                $(DOXYGEN) libocpf/Doxyfile;                                    \
 
1097
                $(DOXYGEN) mapiproxy/Doxyfile;                                  \
 
1098
                $(DOXYGEN) utils/mapitest/Doxyfile;                             \
 
1099
                cp -f doc/doxygen/index.html apidocs/html;                      \
 
1100
                cp -f doc/doxygen/pictures/* apidocs/html/overview;             \
 
1101
                cp -f doc/doxygen/pictures/* apidocs/html/libmapi;              \
 
1102
                cp -f doc/doxygen/pictures/* apidocs/html/libocpf;              \
 
1103
                cp -f doc/doxygen/pictures/* apidocs/html/mapitest;             \
 
1104
                cp -f doc/doxygen/pictures/* apidocs/html/mapiproxy;            \
 
1105
                cp -f mapiproxy/documentation/pictures/* apidocs/html/mapiproxy;\
 
1106
        fi                                                              
 
1107
 
 
1108
etags:
 
1109
        etags `find $(srcdir) -name "*.[ch]"`
 
1110
 
 
1111
ctags:
 
1112
        ctags `find $(srcdir) -name "*.[ch]"`
 
1113
 
 
1114
swigperl-all:
 
1115
        @echo "Creating Perl bindings ..."
 
1116
        @$(MAKE) -C swig/perl all
 
1117
 
 
1118
swigperl-install:
 
1119
        @echo "Install Perl bindings ..."
 
1120
        @$(MAKE) -C swig/perl install
 
1121
 
 
1122
swigperl-uninstall:
 
1123
        @echo "Uninstall Perl bindings ..."
 
1124
        @$(MAKE) -C swig/perl uninstall
 
1125
 
 
1126
distclean::
 
1127
        @$(MAKE) -C swig/perl distclean
 
1128
 
 
1129
clean::
 
1130
        @echo "Cleaning Perl bindings ..."
 
1131
        @$(MAKE) -C swig/perl clean
 
1132
 
 
1133
.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
 
1134
 
 
1135
test:: check
 
1136
 
 
1137
check:: torture/openchange.$(SHLIBEXT) libmapi.$(SHLIBEXT).$(LIBMAPI_SO_VERSION)
 
1138
        # FIXME: Set up server
 
1139
        LD_LIBRARY_PATH=`pwd` $(SMBTORTURE) --load-module torture/openchange.$(SHLIBEXT) ncalrpc: OPENCHANGE
 
1140
 
 
1141
# This should be the last line in the makefile since other distclean rules may 
 
1142
# need config.mk
 
1143
distclean::
 
1144
        rm -f config.mk