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