8ca959688e398a4bc21e138598fafe2d42d0c27b
[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 SELECTED_MODS:=$(filter-out $(MENUSELECT_PBX),$(patsubst %.c,%,$(wildcard pbx_*.c)))
15
16 MOC=$(QTDIR)/bin/moc
17 KDE_FLAGS=-I$(KDEDIR)/include -I$(KDEDIR)/include/kde -I$(QTDIR)/include
18 KDE_LIBS=-L$(KDEDIR)/lib -L$(QTDIR)/lib -lqt -lkdecore -lkdeui
19
20 KDE_CONSOLE_OBJS=pbx_kdeconsole_main.o pbx_kdeconsole.o 
21
22 MODS:=$(patsubst %,%.so,$(SELECTED_MODS))
23
24 all: depend $(MODS)
25
26 clean-depend:
27         rm -f .depend
28
29 clean: clean-depend
30         rm -f *.so *.o
31         rm -f ael/*.o
32
33 pbx_gtkconsole.o: pbx_gtkconsole.c
34         $(CC) $(CFLAGS) $(GTK_FLAGS) -c -o $@ $<
35
36 pbx_gtkconsole.so: pbx_gtkconsole.o
37         $(CC) $(SOLINK) -o $@ $< $(GTK_LIBS)
38
39 pbx_kdeconsole.o: pbx_kdeconsole.cc pbx_kdeconsole.moc
40         $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $<
41
42 pbx_kdeconsole_main.o: pbx_kdeconsole_main.cc pbx_kdeconsole.h
43         $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $<
44
45 pbx_kdeconsole.so: $(KDE_CONSOLE_OBJS)
46         $(CC) $(SOLINK) -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS)
47
48 pbx_dundi.so: pbx_dundi.o dundi-parser.o
49         $(CC) $(SOLINK) -o $@ $< dundi-parser.o $(Z_LIB)
50
51 pbx_dundi.o: pbx_dundi.c
52         $(CC) -c -o $@ $(CFLAGS) $(Z_INCLUDE) $<
53
54 pbx_ael.o: ael/aelflex.o ael/aelbison.o ../include/asterisk/ael_structs.h
55
56 pbx_ael.so: pbx_ael.o ael/aelbison.o ael/aelflex.o
57         $(CC) $(SOLINK) -o $@ pbx_ael.o ael/aelbison.o ael/aelflex.o
58
59 ael/aelflex.o: ael/ael_lex.c ../include/asterisk/ael_structs.h ael/ael.tab.h
60         $(CC) $(CFLAGS) -I. -c -o ael/aelflex.o ael/ael_lex.c
61
62 ael/aelbison.o: ael/ael.tab.c ael/ael.tab.h ../include/asterisk/ael_structs.h
63         $(CC) $(CFLAGS) -I. -c -o ael/aelbison.o ael/ael.tab.c
64
65 ael/ael_lex.c:
66         (cd ael; flex ael.flex)
67
68 ael/ael.tab.c ael/ael.tab.h:
69         (cd ael; bison -v -d ael.y)
70
71 %.moc : %.h
72         $(MOC) $< -o $@
73
74 %.so : %.o
75         $(CC) $(SOLINK) -o $@ $<
76
77 ifneq ($(wildcard .depend),)
78   include .depend
79 endif
80
81 install: all
82         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
83
84 uninstall:
85
86 depend: .depend
87
88 .depend:
89         ../build_tools/mkdep $(CFLAGS) `ls *.c`