ensure that dependencies are rebuilt after 'make update' so that builds don't break...
[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 MODS:=$(patsubst %.c,%.so,$(wildcard pbx_*.c))
15
16 #GTK=$(shell $(CROSS_COMPILE_BIN)gtk-config --cflags >/dev/null 2>/dev/null && echo "OK")
17 ifeq (${GTK},)
18   MODS:=$(filter-out pbx_gtkconsole.so,$(MODS))
19 endif
20
21 #KDE=$(shell [ "$$QTDIR" != "" ] && echo "OK")
22 ifeq (${GTK},)
23   MODS:=$(filter-out pbx_kdeconsole.so,$(MODS))
24 endif
25
26 GTK_FLAGS=`${CROSS_COMPILE_BIN}gtk-config --cflags gthread`
27 GTK_LIBS=`${CROSS_COMPILE_BIN}gtk-config --libs gthread`
28 MOC=$(QTDIR)/bin/moc
29 KDE_FLAGS=-I$(KDEDIR)/include -I$(KDEDIR)/include/kde -I$(QTDIR)/include
30 KDE_LIBS=-L$(KDEDIR)/lib -L$(QTDIR)/lib -lqt -lkdecore -lkdeui
31
32 ifeq (${OSARCH},CYGWIN)
33   CYGSOLINK=-Wl,--out-implib=lib$@.a -Wl,--export-all-symbols
34   CYGSOLIB=-L.. -L. -L../res -lasterisk.dll 
35 else
36   CFLAGS+=-fPIC
37 endif
38
39 KDE_CONSOLE_OBJS=pbx_kdeconsole_main.o pbx_kdeconsole.o 
40
41 all: depend $(MODS)
42
43 clean-depend:
44         rm -f .depend
45
46 clean: clean-depend
47         rm -f *.so *.o
48
49 pbx_gtkconsole.o: pbx_gtkconsole.c
50         $(CC) $(CFLAGS) $(GTK_FLAGS) -c -o $@ $<
51
52 pbx_gtkconsole.so: pbx_gtkconsole.o
53         $(CC) $(SOLINK) -o $@ $< $(GTK_LIBS)
54
55 pbx_kdeconsole.o: pbx_kdeconsole.cc pbx_kdeconsole.moc
56         $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $<
57
58 pbx_kdeconsole_main.o: pbx_kdeconsole_main.cc pbx_kdeconsole.h
59         $(CXX) $(CFLAGS) $(KDE_FLAGS) -c -o $@ $<
60
61 pbx_kdeconsole.so: $(KDE_CONSOLE_OBJS)
62         $(CC) $(SOLINK) -o $@ $(KDE_CONSOLE_OBJS) $(KDE_LIBS)
63
64 pbx_dundi.so: dundi-parser.o pbx_dundi.o
65         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} pbx_dundi.o dundi-parser.o -lz ${CYGSOLIB}
66
67 %.moc : %.h
68         $(MOC) $< -o $@
69
70 %.so : %.o
71         $(CC) $(SOLINK) -o $@ ${CYGSOLINK} $< ${CYGSOLIB}
72
73 ifneq ($(wildcard .depend),)
74   include .depend
75 endif
76
77 install: all
78         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
79
80 uninstall:
81
82 depend: .depend
83
84 .depend:
85         ../build_tools/mkdep $(CFLAGS) `ls *.c`