- specify that 'depend' is a .PHONY target
[asterisk/asterisk.git] / funcs / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for dialplan functions
5 #
6 # Copyright (C) 2005-2006, Digium, Inc.
7 #
8 # Kevin P. Fleming <kpfleming@digium.com>
9 #
10 # This program is free software, distributed under the terms of
11 # the GNU General Public License
12 #
13
14 .PHONY: clean clean-depend all depend
15
16 ifneq ($(wildcard ../menuselect.makeopts),)
17   include ../menuselect.makeopts
18 endif
19
20 SELECTED_MODS:=$(filter-out $(MENUSELECT_FUNCS),$(patsubst %.c,%,$(wildcard func_*.c)))
21
22 # TODO This check needs to be handled with autoconf
23 ifeq ($(OSARCH),SunOS)
24   ifeq ($(shell if [ 0x`$(CROSS_COMPILE_BIN)curl-config --vernum` -ge 0x70907 ]; then echo "OK" ; fi),)
25     MODS:=$(filter-out func_curl,$(MODS))
26   endif
27 else
28   ifeq ($(shell if [[ 0x`$(CROSS_COMPILE_BIN)curl-config --vernum` -ge 0x70907 ]]; then echo "OK" ; fi),)
29     MODS:=$(filter-out func_curl,$(MODS)) 
30   endif
31 endif
32
33 MODS:=$(patsubst %,%.so,$(SELECTED_MODS))
34
35 all: $(MODS)
36
37 clean-depend:
38         rm -f .depend
39
40 clean: clean-depend
41         rm -f *.so *.o
42
43 %.so : %.o
44         $(CC) $(SOLINK) -o $@ $<
45
46 func_curl.so: func_curl.o
47         $(CC) $(SOLINK) -o $@ $< $(CURL_LIB)
48
49 func_curl.o: func_curl.c
50         $(CC) -c -o $@ $(CFLAGS) $(CURL_INCLUDE) $<
51
52 func_odbc.so: func_odbc.o
53         $(CC) $(SOLINK) -o $@ $< $(ODBC_LIB)
54
55 func_odbc.o: func_odbc.c
56         $(CC) -c -o $@ $(CFLAGS) $(ODBC_INCLUDE) $<
57
58 install: all
59         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
60         rm -f $(DESTDIR)$(MODULES_DIR)/pbx_functions.so
61
62 uninstall:
63
64 ifneq ($(wildcard .depend),)
65   include .depend
66 endif
67
68 depend: .depend
69
70 .depend:
71         ../build_tools/mkdep $(CFLAGS) `ls *.c`
72
73 env:
74         env