02755e5724f887ed4144de2c51f87a6000cfceec
[asterisk/asterisk.git] / pbx / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for PBX modules
5 #
6 # Copyright (C) 1999-2006, Digium, Inc.
7 #
8 # Mark Spencer <markster@digium.com>
9 #
10 # This program is free software, distributed under the terms of
11 # the GNU General Public License
12 #
13
14 include ../menuselect.makeopts
15
16 SELECTED_MODS:=$(filter-out $(MENUSELECT_PBX),$(patsubst %.c,%,$(wildcard pbx_*.c)))
17
18 MOC=$(QTDIR)/bin/moc
19 KDE_FLAGS=-I$(KDEDIR)/include -I$(KDEDIR)/include/kde -I$(QTDIR)/include
20 KDE_LIBS=-L$(KDEDIR)/lib -L$(QTDIR)/lib -lqt -lkdecore -lkdeui
21
22 KDE_CONSOLE_OBJS=pbx_kdeconsole_main.o pbx_kdeconsole.o 
23
24 MODS:=$(patsubst %,%.so,$(SELECTED_MODS))
25
26 all: $(MODS)
27
28 clean-depend:
29         rm -f .depend
30
31 clean: clean-depend
32         rm -f *.so *.o
33         rm -f ael/*.o
34
35 pbx_gtkconsole.o: pbx_gtkconsole.c
36         $(CC) $(CFLAGS) $(GTK_FLAGS) -c -o $@ $<
37
38 pbx_gtkconsole.so: pbx_gtkconsole.o
39         $(CC) $(SOLINK) -o $@ $< $(GTK_LIBS)
40
41 pbx_kdeconsole.o: pbx_kdeconsole.cc pbx_kdeconsole.moc
42         $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $<
43
44 pbx_kdeconsole_main.o: pbx_kdeconsole_main.cc pbx_kdeconsole.h
45         $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $<
46
47 pbx_kdeconsole.so: $(KDE_CONSOLE_OBJS)
48         $(CC) $(SOLINK) -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS)
49
50 pbx_dundi.so: pbx_dundi.o dundi-parser.o
51         $(CC) $(SOLINK) -o $@ $< dundi-parser.o $(Z_LIB)
52
53 pbx_dundi.o: pbx_dundi.c
54         $(CC) -c -o $@ $(CFLAGS) $(Z_INCLUDE) $<
55
56 pbx_ael.o: ael/aelflex.o ael/aelbison.o ../include/asterisk/ael_structs.h
57
58 pbx_ael.so: pbx_ael.o ael/aelbison.o ael/aelflex.o
59         $(CC) $(SOLINK) -o $@ pbx_ael.o ael/aelbison.o ael/aelflex.o
60
61 ael/aelflex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h
62         $(CC) $(CFLAGS) -I. -c -o ael/aelflex.o ael/ael_lex.c
63
64 ael/aelbison.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h
65         $(CC) $(CFLAGS) -I. -c -o ael/aelbison.o ael/ael.tab.c
66
67 ael/ael_lex.c:
68         (cd ael; flex ael.flex; sed -i -e "/begin standard C headers/i#include \"asterisk.h\"" ael_lex.c)
69
70 ael/ael.tab.c ael/ael.tab.h:
71         (cd ael; bison -v -d ael.y)
72
73 %.moc : %.h
74         $(MOC) $< -o $@
75
76 %.so : %.o
77         $(CC) $(SOLINK) -o $@ $<
78
79 ifneq ($(wildcard .depend),)
80   include .depend
81 endif
82
83 install: all
84         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
85
86 uninstall:
87
88 depend: .depend
89
90 .depend:
91         ../build_tools/mkdep $(CFLAGS) `ls *.c`