Merge "chan_sip: Crypto attribute not last but first on SDP media level."
[asterisk/asterisk.git] / menuselect / Makefile
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile for Menuselect
5 #
6 # Copyright (C) 2005-2008, Digium, Inc.
7 #
8 # Russell Bryant <russell@digium.com>
9 #
10 # This program is free software, distributed under the terms of
11 # the GNU General Public License
12 #
13
14 # even though we could use '-include makeopts' here, use a wildcard
15 # lookup anyway, so that make won't try to build makeopts if it doesn't
16 # exist (other rules will force it to be built if needed)
17 ifneq ($(wildcard makeopts),)
18   include makeopts
19 endif
20
21 .PHONY: clean dist-clean distclean test ntest ctest gtest
22
23 # Basic set of sources and flags/libraries/includes
24 OBJS:=menuselect.o strcompat.o
25 CFLAGS+=-g -D_GNU_SOURCE -Wall
26
27 ifeq ($(MENUSELECT_DEBUG),yes)
28   CFLAGS += -DMENUSELECT_DEBUG
29 endif
30
31 ifdef NCURSES_LIB
32   C_OBJS += menuselect_curses.o
33   C_LIBS +=$(NCURSES_LIB)
34   C_INCLUDE += $(NCURSES_INCLUDE)
35   ALL_TGTS += cmenuselect
36 else
37   ifdef CURSES_LIB
38     C_OBJS += menuselect_curses.o
39     C_LIBS +=$(CURSES_LIB)
40     C_INCLUDE += $(CURSES_INCLUDE)
41     ALL_TGTS += cmenuselect
42   endif
43 endif
44
45 ifdef GTK2_LIB
46   G_OBJS += menuselect_gtk.o
47   G_LIBS += $(GTK2_LIB)
48   G_INCLUDE += $(GTK2_INCLUDE)
49   ALL_TGTS += gmenuselect
50 endif
51
52 ifdef NEWT_LIB
53   N_OBJS += menuselect_newt.o
54   N_LIBS += $(NEWT_LIB)
55   N_INCLUDE += $(NEWT_INCLUDE)
56   ALL_TGTS += nmenuselect
57 endif
58
59 M_OBJS += menuselect_stub.o
60 M_LIBS += $(LIBXML2_LIB)
61 ALL_TGTS += menuselect
62
63 all: $(ALL_TGTS)
64
65 $(OBJS) $(C_OBJS) $(N_OBJS) $(G_OBJS) $(M_OBJS): autoconfig.h menuselect.h
66
67 makeopts autoconfig.h: autoconfig.h.in makeopts.in
68         @./configure $(CONFIGURE_SILENT)
69         @echo "****"
70         @echo "**** The configure script was just executed, so 'make' needs to be"
71         @echo "**** restarted."
72         @echo "****"
73         @exit 1
74
75 ifdef C_OBJS
76 menuselect_curses.o: CFLAGS+=$(C_INCLUDE)
77 cmenuselect: $(OBJS) $(C_OBJS)
78         $(CC) $(LDFLAGS) -o $@ $^ $(C_LIBS) $(LIBXML2_LIB)
79 else
80 cmenuselect:
81 endif
82
83 ifdef G_OBJS
84 menuselect_gtk.o: CFLAGS+=$(G_INCLUDE)
85 gmenuselect: $(OBJS) $(G_OBJS)
86         $(CC) $(LDFLAGS) -o $@ $^ $(G_LIBS) $(LIBXML2_LIB)
87 else
88 gmenuselect:
89 endif
90
91 ifdef N_OBJS
92 menuselect_newt.o: CFLAGS+=$(N_INCLUDE)
93 nmenuselect: $(OBJS) $(N_OBJS)
94         $(CC) $(LDFLAGS) -o $@ $^ $(N_LIBS) $(LIBXML2_LIB)
95 else
96 nmenuselect:
97 endif
98
99 menuselect.o: CFLAGS+=$(LIBXML2_INCLUDE)
100
101 menuselect: $(OBJS) $(M_OBJS)
102         $(CC) $(LDFLAGS) -o $@ $^ $(M_LIBS)
103
104 test: menuselect
105         (cd test; ../$< menuselect.makeopts)
106
107 ctest: cmenuselect
108         (cd test; ../$< menuselect.makeopts)
109
110 gtest: gmenuselect
111         (cd test; ../$< menuselect.makeopts)
112
113 ntest: nmenuselect
114         (cd test; ../$< menuselect.makeopts)
115
116 clean:
117         rm -f menuselect cmenuselect gmenuselect nmenuselect $(OBJS) $(M_OBJS) $(C_OBJS) $(G_OBJS) $(N_OBJS)
118
119 dist-clean: distclean
120
121 distclean: clean
122         rm -f autoconfig.h config.status config.log makeopts
123         rm -rf autom4te.cache