don't blow up in the sub Makefiles if menuselect.makeopts is not present. This
[asterisk/asterisk.git] / cdr / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for CDR backends
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 ifneq ($(wildcard ../menuselect.makeopts),)
15   include ../menuselect.makeopts
16 endif
17
18 SELECTED_MODS:=$(filter-out $(MENUSELECT_CDR),$(patsubst %.c,%,$(wildcard cdr_*.c)))
19
20 #The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
21 #This works for even old (2.96) versions of gcc and provides a small boost either way.
22 #A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn.t support it.
23 #So we go lowest common available by gcc and go a step down, still a step up from
24 #the default as we now have a better instruction set to work with. - Belgarath
25 ifeq ($(PROC),sparc64)
26   PROC=ultrasparc
27   CFLAGS += -mtune=$(PROC) -pipe -fomit-frame-pointer -mcpu=v8
28 endif
29
30 ifneq ($(TDS_LIB),)
31   ifeq ($(shell grep -s TDS_VERSION_NO $(CROSS_COMPILE_TARGET)/usr/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/local/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/include/freetds/tdsver.h | grep -c 0.63),1)
32     CFLAGS += -DFREETDS_0_63
33   else
34         ifeq ($(shell grep -s TDS_VERSION_NO $(CROSS_COMPILE_TARGET)/usr/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/local/include/tdsver.h $(CROSS_COMPILE_TARGET)/usr/include/freetds/tdsver.h | grep -c 0.62),1)
35       CFLAGS += -DFREETDS_0_62
36     else
37       CFLAGS += -DFREETDS_PRE_0_62
38     endif
39   endif
40 endif
41
42 MODS:=$(patsubst %,%.so,$(SELECTED_MODS))
43
44 all: $(MODS)
45
46 install: all
47         for x in $(MODS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
48
49 uninstall:
50
51 clean-depend:
52         rm -f .depend
53
54 clean: clean-depend
55         rm -f *.so *.o
56
57 %.so : %.o
58         $(CC) $(SOLINK) -o $@ $<
59
60 cdr_odbc.so: cdr_odbc.o
61         $(CC) $(SOLINK) -o $@ $< $(ODBC_LIB)
62
63 cdr_odbc.o: cdr_odbc.c
64         $(CC) -c -o $@ $(CFLAGS) $(ODBC_INCLUDE) $<
65
66 cdr_tds.so: cdr_tds.o
67         $(CC) $(SOLINK) -o $@ $< $(TDS_LIB)
68
69 cdr_tds.o: cdr_tds.c
70         $(CC) -c -o $@ $(CFLAGS) $(TDS_INCLUDE) $<
71
72 cdr_pgsql.so: cdr_pgsql.o
73         $(CC) $(SOLINK) -o $@ $< $(PGSQL_LIB)
74
75 cdr_pgsql.o: cdr_pgsql.c
76         $(CC) -c -o $@ $(CFLAGS) $(PGSQL_INCLUDE) $<
77
78 cdr_sqlite.so: cdr_sqlite.o
79         $(CC) $(SOLINK) -o $@ $< $(SQLITE_LIB)
80
81 cdr_sqlite.o: cdr_sqlite.c
82         $(CC) -c -o $@ $(CFLAGS) $(SQLITE_INCLUDE) $<
83
84 cdr_radius.so: cdr_radius.o
85         $(CC) $(SOLINK) -o $@ $< $(RADIUSCLIENT_LIB)
86
87 cdr_radius.o: cdr_radius.c
88         $(CC) -c -o $@ $(CFLAGS) $(RADIUSCLIENT_INCLUDE) $<
89
90
91 ifneq ($(wildcard .depend),)
92   include .depend
93 endif
94
95 depend: .depend
96
97 .depend:
98         ../build_tools/mkdep $(CFLAGS) `ls *.c`