added: autoconf environment
[lcr.git] / Makefile.am
1 ## Makefile.am -- Process this file with automake to produce Makefile.in
2
3
4 INSTALLATION_DEFINES = -DCONFIG_DATA="\"$(pkgsysconfdir)\"" -DSHARE_DATA="\"$(pkgdatadir)\"" -DLOG_DIR="\"$(pkglogdir)\"" -DPBX -DINSTALL_DATA="\"$(pkgdatadir)\""
5 # FIXME: find a macro for the include path of linux
6 # or is /lib/modules/$(uname -r)/source/include sufficient?
7 # Do we take /usr/src/linux or /usr/src/linux-$(uname -r)
8 # if complied without modules?
9 # UPDATE: Not needed, compiles cleanly without.
10 INCLUDES = $(all_includes) $(INSTALLATION_DEFINES) 
11
12
13 bin_PROGRAMS = lcradmin gentones genwave #lcrwatch
14 sbin_PROGRAMS = lcr genrc genextension 
15
16
17 conditional_sources_common = \
18         main.c \
19         options.c \
20         interface.c \
21         extension.c \
22         cause.c \
23         alawulaw.c \
24         tones.c \
25         message.c \
26         route.c \
27         port.cpp \
28         mISDN.cpp \
29         dss1.cpp \
30         vbox.cpp \
31         endpoint.cpp \
32         endpointapp.cpp \
33         apppbx.cpp \
34         crypt.cpp \
35         action.cpp \
36         action_vbox.cpp \
37         action_efi.cpp \
38         mail.c \
39         join.cpp \
40         joinpbx.cpp \
41         joinremote.cpp \
42         admin_server.c \
43         trace.c 
44
45 # extension.c  main.c     tones.c \
46 # admin_server.c  message.c \
47 # alawulaw.c      interface.c  options.c \
48 # cause.c         mail.c       route.c \
49 # action.cpp       crypt.cpp        port.cpp \
50 # action_efi.cpp   dss1.cpp         rule.cpp \
51 # action_vbox.cpp  endpointapp.cpp  ie.cpp \
52 # apppbx.cpp       endpoint.cpp     vbox.cpp \
53 # call.cpp         mISDN.cpp        vector.cpp \
54 # admin.h         dss1.h         route.h \
55 # admin_server.h  endpointapp.h  rule.h \
56 # alawulaw.h      endpoint.h     interface.h  save.h \
57 # apppbx.h        extension.h    main.h \
58 # call.h          message.h      options.h    tones.h \
59 # cause.h         mISDN.h        port.h       vbox.h \
60 # crypt.h         q931.h         vector.h
61
62
63
64
65 # wizzard is currently disabled.
66 # it can be compiled with "make wizzard.o" but nothing more
67 #wizzard_SOURCES = wizzard.c wizzard.h
68
69 lcr_SOURCES = $(conditional_sources_common)
70 lcr_LDADD = $(all_libraries) -lisdnnet -lmISDN
71 if WITH_CRYPTO
72 # TODO: maybe we could add crypt.{h,cpp} here?
73 #lcr_LDADD += -lcrypto -ldl
74 lcr_LDADD += -lcrypto
75 INSTALLATION_DEFINES += -DCRYPTO
76 endif
77
78 if ENABLE_SOCKET_MISDN
79 INSTALLATION_DEFINES += -DSOCKET_MISDN
80 endif
81
82 if ENABLE_ASTERISK_CHANNEL_DRIVER
83 sbin_PROGRAMS += chan_lcr
84 chan_lcr_SOURCES = asterisk_client.c
85 endif
86
87 lcradmin_SOURCES = admin_client.c cause.c
88 genextension_SOURCES = genext.c options.c extension.c
89 # genrc, gentones, genwave are made automaticaly
90 lcrwatch_SOURCES = watch.c
91 #gentones: gentones.c
92 #genwave:genwave.c
93 #genrc: genrc.c
94
95
96 # test rule, nothing important
97 #echo:
98 #       -echo $(all_libraries) >&2
99
100
101 # CAUTION: CRUDE CRUDE HACK !!
102 # This transforms all compiling and linking calls from gcc into g++
103 # This should better be removed and all .c files renamed to .cpp
104 COMPILE=$(CXXCOMPILE)
105 LINK=$(CXXLINK)
106 # in the end, it should look like:
107 # g++ -c -Wall -g -DINSTALL_DATA=\"/usr/local/lcr\" -I/usr/src/linux/include -I../mISDNuser/include -DPBX -DCRYPTO -I/usr/local/ssl/include route.cpp -o route.o
108
109
110
111 pkglogdir=$(localstatedir)/log/@PACKAGE@
112 # install runtime config in $prefix/etc/pbx4linux/ (e.g. /etc/pbx4linux)
113 # and voice data in $prefix/share/pbx4linux/ (e.g. /usr/share/pbx4linux)
114 pkgsysconfdir=$(sysconfdir)/@PACKAGE@
115 dist_pkgsysconf_DATA = $(config_default)
116
117 # install all voice data files along with their directory structure
118 # into $prefix/share/pbx4linux
119 nobase_dist_pkgdata_DATA = $(vbox_english) $(vbox_german) \
120         $(tones_american) $(tones_efi) $(tones_german)
121
122
123 config_default = \
124         default/directory.list \
125         default/interface.conf \
126         default/options.conf \
127         default/routing.conf
128
129 tones_american = \
130         tones_american/activated_loop.isdn \
131         tones_american/busy_loop.isdn \
132         tones_american/cause_01_loop.isdn \
133         tones_american/cause_02_loop.isdn \
134         tones_american/cause_03_loop.isdn \
135         tones_american/cause_05_loop.isdn \
136         tones_american/cause_06_loop.isdn \
137         tones_american/cause_12_loop.isdn \
138         tones_american/cause_13_loop.isdn \
139         tones_american/cause_14_loop.isdn \
140         tones_american/cause_15_loop.isdn \
141         tones_american/cause_16_loop.isdn \
142         tones_american/cause_1b_loop.isdn \
143         tones_american/cause_1c_loop.isdn \
144         tones_american/cause_1d_loop.isdn \
145         tones_american/cause_1f_loop.isdn \
146         tones_american/cause_22_loop.isdn \
147         tones_american/cause_26_loop.isdn \
148         tones_american/cause_29_loop.isdn \
149         tones_american/cause_2a_loop.isdn \
150         tones_american/cause_2f_loop.isdn \
151         tones_american/cause_31_loop.isdn \
152         tones_american/cause_32_loop.isdn \
153         tones_american/cause_39_loop.isdn \
154         tones_american/cause_3a_loop.isdn \
155         tones_american/cause_3f_loop.isdn \
156         tones_american/cause_41_loop.isdn \
157         tones_american/cause_42_loop.isdn \
158         tones_american/cause_45_loop.isdn \
159         tones_american/cause_46_loop.isdn \
160         tones_american/cause_55_loop.isdn \
161         tones_american/cause_80_loop.isdn \
162         tones_american/cause_81_loop.isdn \
163         tones_american/cause_82_loop.isdn \
164         tones_american/cause_83_loop.isdn \
165         tones_american/cause_84_loop.isdn \
166         tones_american/cause_85_loop.isdn \
167         tones_american/cause_86_loop.isdn \
168         tones_american/cause_87_loop.isdn \
169         tones_american/crypt_off.isdn \
170         tones_american/crypt_on.isdn \
171         tones_american/deactivated_loop.isdn \
172         tones_american/dialpbx.isdn \
173         tones_american/dialpbx_loop.isdn \
174         tones_american/error_loop.isdn \
175         tones_american/hold_loop.isdn \
176         tones_american/password_loop.isdn \
177         tones_american/redial.isdn \
178         tones_american/ringing_loop.isdn \
179         tones_american/ringpbx_loop.isdn \
180         tones_american/test_loop.isdn
181
182 tones_efi = \
183         tones_efi/die.isdn \
184         tones_efi/number_00.isdn \
185         tones_efi/number_01.isdn \
186         tones_efi/number_02.isdn \
187         tones_efi/number_03.isdn \
188         tones_efi/number_04.isdn \
189         tones_efi/number_05.isdn \
190         tones_efi/number_06.isdn \
191         tones_efi/number_07.isdn \
192         tones_efi/number_08.isdn \
193         tones_efi/number_09.isdn
194
195 tones_german = \
196         tones_german/activated_loop.isdn \
197         tones_german/busy_loop.isdn \
198         tones_german/cause_01_loop.isdn \
199         tones_german/cause_02_loop.isdn \
200         tones_german/cause_03_loop.isdn \
201         tones_german/cause_05_loop.isdn \
202         tones_german/cause_06_loop.isdn \
203         tones_german/cause_12_loop.isdn \
204         tones_german/cause_13_loop.isdn \
205         tones_german/cause_14_loop.isdn \
206         tones_german/cause_15_loop.isdn \
207         tones_german/cause_16_loop.isdn \
208         tones_german/cause_1b_loop.isdn \
209         tones_german/cause_1c_loop.isdn \
210         tones_german/cause_1d_loop.isdn \
211         tones_german/cause_1f_loop.isdn \
212         tones_german/cause_22_loop.isdn \
213         tones_german/cause_26_loop.isdn \
214         tones_german/cause_29_loop.isdn \
215         tones_german/cause_2a_loop.isdn \
216         tones_german/cause_2f_loop.isdn \
217         tones_german/cause_31_loop.isdn \
218         tones_german/cause_32_loop.isdn \
219         tones_german/cause_39_loop.isdn \
220         tones_german/cause_3a_loop.isdn \
221         tones_german/cause_3f_loop.isdn \
222         tones_german/cause_41_loop.isdn \
223         tones_german/cause_42_loop.isdn \
224         tones_german/cause_45_loop.isdn \
225         tones_german/cause_46_loop.isdn \
226         tones_german/cause_55_loop.isdn \
227         tones_german/cause_80_loop.isdn \
228         tones_german/cause_81_loop.isdn \
229         tones_german/cause_82_loop.isdn \
230         tones_german/cause_83_loop.isdn \
231         tones_german/cause_84_loop.isdn \
232         tones_german/cause_85_loop.isdn \
233         tones_german/cause_86_loop.isdn \
234         tones_german/cause_87_loop.isdn \
235         tones_german/deactivated_loop.isdn \
236         tones_german/dialpbx_loop.isdn \
237         tones_german/dialtone_loop.isdn \
238         tones_german/error_loop.isdn \
239         tones_german/password_loop.isdn \
240         tones_german/redial.isdn \
241         tones_german/release_loop.isdn \
242         tones_german/ringing.isdn \
243         tones_german/ringing_loop.isdn \
244         tones_german/ringpbx_loop.isdn \
245         tones_german/test_loop.isdn
246
247 vbox_english = \
248         vbox_english/call_anonymous.isdn \
249         vbox_english/call_from.isdn \
250         vbox_english/day_01.isdn \
251         vbox_english/day_02.isdn \
252         vbox_english/day_03.isdn \
253         vbox_english/day_04.isdn \
254         vbox_english/day_05.isdn \
255         vbox_english/day_06.isdn \
256         vbox_english/day_07.isdn \
257         vbox_english/day_08.isdn \
258         vbox_english/day_09.isdn \
259         vbox_english/day_10.isdn \
260         vbox_english/day_11.isdn \
261         vbox_english/day_12.isdn \
262         vbox_english/day_13.isdn \
263         vbox_english/day_14.isdn \
264         vbox_english/day_15.isdn \
265         vbox_english/day_16.isdn \
266         vbox_english/day_17.isdn \
267         vbox_english/day_18.isdn \
268         vbox_english/day_19.isdn \
269         vbox_english/day_20.isdn \
270         vbox_english/day_21.isdn \
271         vbox_english/day_22.isdn \
272         vbox_english/day_23.isdn \
273         vbox_english/day_24.isdn \
274         vbox_english/day_25.isdn \
275         vbox_english/day_26.isdn \
276         vbox_english/day_27.isdn \
277         vbox_english/day_28.isdn \
278         vbox_english/day_29.isdn \
279         vbox_english/day_30.isdn \
280         vbox_english/day_31.isdn \
281         vbox_english/delete_ask.isdn \
282         vbox_english/delete_done.isdn \
283         vbox_english/intro.isdn \
284         vbox_english/menu.isdn \
285         vbox_english/minute.isdn \
286         vbox_english/minutes.isdn \
287         vbox_english/month_01.isdn \
288         vbox_english/month_02.isdn \
289         vbox_english/month_03.isdn \
290         vbox_english/month_04.isdn \
291         vbox_english/month_05.isdn \
292         vbox_english/month_06.isdn \
293         vbox_english/month_07.isdn \
294         vbox_english/month_08.isdn \
295         vbox_english/month_09.isdn \
296         vbox_english/month_10.isdn \
297         vbox_english/month_11.isdn \
298         vbox_english/month_12.isdn \
299         vbox_english/nothing.isdn \
300         vbox_english/number_00.isdn \
301         vbox_english/number_01.isdn \
302         vbox_english/number_02.isdn \
303         vbox_english/number_03.isdn \
304         vbox_english/number_04.isdn \
305         vbox_english/number_05.isdn \
306         vbox_english/number_06.isdn \
307         vbox_english/number_07.isdn \
308         vbox_english/number_08.isdn \
309         vbox_english/number_09.isdn \
310         vbox_english/number_10.isdn \
311         vbox_english/number_11.isdn \
312         vbox_english/number_12.isdn \
313         vbox_english/number_13.isdn \
314         vbox_english/number_14.isdn \
315         vbox_english/number_15.isdn \
316         vbox_english/number_16.isdn \
317         vbox_english/number_17.isdn \
318         vbox_english/number_18.isdn \
319         vbox_english/number_19.isdn \
320         vbox_english/number_20.isdn \
321         vbox_english/number_21.isdn \
322         vbox_english/number_22.isdn \
323         vbox_english/number_23.isdn \
324         vbox_english/number_24.isdn \
325         vbox_english/number_25.isdn \
326         vbox_english/number_26.isdn \
327         vbox_english/number_27.isdn \
328         vbox_english/number_28.isdn \
329         vbox_english/number_29.isdn \
330         vbox_english/number_30.isdn \
331         vbox_english/number_31.isdn \
332         vbox_english/number_32.isdn \
333         vbox_english/number_33.isdn \
334         vbox_english/number_34.isdn \
335         vbox_english/number_35.isdn \
336         vbox_english/number_36.isdn \
337         vbox_english/number_37.isdn \
338         vbox_english/number_38.isdn \
339         vbox_english/number_39.isdn \
340         vbox_english/number_40.isdn \
341         vbox_english/number_41.isdn \
342         vbox_english/number_42.isdn \
343         vbox_english/number_43.isdn \
344         vbox_english/number_44.isdn \
345         vbox_english/number_45.isdn \
346         vbox_english/number_46.isdn \
347         vbox_english/number_47.isdn \
348         vbox_english/number_48.isdn \
349         vbox_english/number_49.isdn \
350         vbox_english/number_50.isdn \
351         vbox_english/number_51.isdn \
352         vbox_english/number_52.isdn \
353         vbox_english/number_53.isdn \
354         vbox_english/number_54.isdn \
355         vbox_english/number_55.isdn \
356         vbox_english/number_56.isdn \
357         vbox_english/number_57.isdn \
358         vbox_english/number_58.isdn \
359         vbox_english/number_59.isdn \
360         vbox_english/oclock_am.isdn \
361         vbox_english/oclock_pm.isdn \
362         vbox_english/pause.isdn \
363         vbox_english/play.isdn \
364         vbox_english/record_ask.isdn \
365         vbox_english/record_play.isdn \
366         vbox_english/record_record.isdn \
367         vbox_english/store_ask.isdn \
368         vbox_english/store_done.isdn
369
370 vbox_german = \
371         vbox_german/call_anonymous.isdn \
372         vbox_german/call_from.isdn \
373         vbox_german/day_01.isdn \
374         vbox_german/day_02.isdn \
375         vbox_german/day_03.isdn \
376         vbox_german/day_04.isdn \
377         vbox_german/day_05.isdn \
378         vbox_german/day_06.isdn \
379         vbox_german/day_07.isdn \
380         vbox_german/day_08.isdn \
381         vbox_german/day_09.isdn \
382         vbox_german/day_10.isdn \
383         vbox_german/day_11.isdn \
384         vbox_german/day_12.isdn \
385         vbox_german/day_13.isdn \
386         vbox_german/day_14.isdn \
387         vbox_german/day_15.isdn \
388         vbox_german/day_16.isdn \
389         vbox_german/day_17.isdn \
390         vbox_german/day_18.isdn \
391         vbox_german/day_19.isdn \
392         vbox_german/day_20.isdn \
393         vbox_german/day_21.isdn \
394         vbox_german/day_22.isdn \
395         vbox_german/day_23.isdn \
396         vbox_german/day_24.isdn \
397         vbox_german/day_25.isdn \
398         vbox_german/day_26.isdn \
399         vbox_german/day_27.isdn \
400         vbox_german/day_28.isdn \
401         vbox_german/day_29.isdn \
402         vbox_german/day_30.isdn \
403         vbox_german/day_31.isdn \
404         vbox_german/delete_ask.isdn \
405         vbox_german/delete_done.isdn \
406         vbox_german/intro.isdn \
407         vbox_german/menu.isdn \
408         vbox_german/minute.isdn \
409         vbox_german/minutes.isdn \
410         vbox_german/month_01.isdn \
411         vbox_german/month_02.isdn \
412         vbox_german/month_03.isdn \
413         vbox_german/month_04.isdn \
414         vbox_german/month_05.isdn \
415         vbox_german/month_06.isdn \
416         vbox_german/month_07.isdn \
417         vbox_german/month_08.isdn \
418         vbox_german/month_09.isdn \
419         vbox_german/month_10.isdn \
420         vbox_german/month_11.isdn \
421         vbox_german/month_12.isdn \
422         vbox_german/nothing.isdn \
423         vbox_german/number_00.isdn \
424         vbox_german/number_01.isdn \
425         vbox_german/number_02.isdn \
426         vbox_german/number_03.isdn \
427         vbox_german/number_04.isdn \
428         vbox_german/number_05.isdn \
429         vbox_german/number_06.isdn \
430         vbox_german/number_07.isdn \
431         vbox_german/number_08.isdn \
432         vbox_german/number_09.isdn \
433         vbox_german/number_10.isdn \
434         vbox_german/number_11.isdn \
435         vbox_german/number_12.isdn \
436         vbox_german/number_13.isdn \
437         vbox_german/number_14.isdn \
438         vbox_german/number_15.isdn \
439         vbox_german/number_16.isdn \
440         vbox_german/number_17.isdn \
441         vbox_german/number_18.isdn \
442         vbox_german/number_19.isdn \
443         vbox_german/number_20.isdn \
444         vbox_german/number_21.isdn \
445         vbox_german/number_22.isdn \
446         vbox_german/number_23.isdn \
447         vbox_german/number_24.isdn \
448         vbox_german/number_25.isdn \
449         vbox_german/number_26.isdn \
450         vbox_german/number_27.isdn \
451         vbox_german/number_28.isdn \
452         vbox_german/number_29.isdn \
453         vbox_german/number_30.isdn \
454         vbox_german/number_31.isdn \
455         vbox_german/number_32.isdn \
456         vbox_german/number_33.isdn \
457         vbox_german/number_34.isdn \
458         vbox_german/number_35.isdn \
459         vbox_german/number_36.isdn \
460         vbox_german/number_37.isdn \
461         vbox_german/number_38.isdn \
462         vbox_german/number_39.isdn \
463         vbox_german/number_40.isdn \
464         vbox_german/number_41.isdn \
465         vbox_german/number_42.isdn \
466         vbox_german/number_43.isdn \
467         vbox_german/number_44.isdn \
468         vbox_german/number_45.isdn \
469         vbox_german/number_46.isdn \
470         vbox_german/number_47.isdn \
471         vbox_german/number_48.isdn \
472         vbox_german/number_49.isdn \
473         vbox_german/number_50.isdn \
474         vbox_german/number_51.isdn \
475         vbox_german/number_52.isdn \
476         vbox_german/number_53.isdn \
477         vbox_german/number_54.isdn \
478         vbox_german/number_55.isdn \
479         vbox_german/number_56.isdn \
480         vbox_german/number_57.isdn \
481         vbox_german/number_58.isdn \
482         vbox_german/number_59.isdn \
483         vbox_german/number_eine.isdn \
484         vbox_german/number_ein.isdn \
485         vbox_german/oclock.isdn \
486         vbox_german/pause.isdn \
487         vbox_german/play.isdn \
488         vbox_german/record_ask.isdn \
489         vbox_german/record_play.isdn \
490         vbox_german/record_record.isdn \
491         vbox_german/store_ask.isdn \
492         vbox_german/store_done.isdn