pjsip_add_use_callerid_contact: fixed alembic script
[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 ifneq ($(findstring dragonfly,$(OSARCH)),)
28   CFLAGS += -isystem /usr/local/include
29 else ifneq ($(findstring netbsd,$(OSARCH)),)
30   CFLAGS += -isystem /usr/pkg/include
31 else ifneq ($(findstring bsd,$(OSARCH)),)
32   CFLAGS += -isystem /usr/local/include
33 endif
34
35 ifeq ($(MENUSELECT_DEBUG),yes)
36   CFLAGS += -DMENUSELECT_DEBUG
37 endif
38
39 ifdef NCURSES_LIB
40   C_OBJS += menuselect_curses.o
41   C_LIBS +=$(NCURSES_LIB)
42   C_INCLUDE += $(NCURSES_INCLUDE)
43   ALL_TGTS += cmenuselect
44   CFLAGS += -DHAVE_NCURSES
45   ifeq ($(HAVE_NCURSES_SUBDIR),yes)
46     CFLAGS += -DHAVE_NCURSES_SUBDIR
47   endif
48 else
49   ifdef CURSES_LIB
50     C_OBJS += menuselect_curses.o
51     C_LIBS +=$(CURSES_LIB)
52     C_INCLUDE += $(CURSES_INCLUDE)
53     ALL_TGTS += cmenuselect
54   endif
55 endif
56
57 ifdef GTK2_LIB
58   G_OBJS += menuselect_gtk.o
59   G_LIBS += $(GTK2_LIB)
60   G_INCLUDE += $(GTK2_INCLUDE)
61   ALL_TGTS += gmenuselect
62 endif
63
64 ifdef NEWT_LIB
65   N_OBJS += menuselect_newt.o
66   N_LIBS += $(NEWT_LIB)
67   N_INCLUDE += $(NEWT_INCLUDE)
68   ALL_TGTS += nmenuselect
69 endif
70
71 M_OBJS += menuselect_stub.o
72 M_LIBS += $(LIBXML2_LIB)
73 ALL_TGTS += menuselect
74
75 all: $(ALL_TGTS)
76
77 $(OBJS) $(C_OBJS) $(N_OBJS) $(G_OBJS) $(M_OBJS): autoconfig.h menuselect.h
78
79 makeopts: configure
80         @./configure $(CONFIGURE_SILENT)
81         @echo "****"
82         @echo "**** The configure script was just executed, so 'make' needs to be"
83         @echo "**** restarted."
84         @echo "****"
85         @exit 1
86
87 ifdef C_OBJS
88 menuselect_curses.o: CFLAGS+=$(C_INCLUDE)
89 cmenuselect: $(OBJS) $(C_OBJS)
90         $(CC) $(LDFLAGS) -o $@ $^ $(C_LIBS) $(LIBXML2_LIB)
91 else
92 cmenuselect:
93 endif
94
95 ifdef G_OBJS
96 menuselect_gtk.o: CFLAGS+=$(G_INCLUDE)
97 gmenuselect: $(OBJS) $(G_OBJS)
98         $(CC) $(LDFLAGS) -o $@ $^ $(G_LIBS) $(LIBXML2_LIB)
99 else
100 gmenuselect:
101 endif
102
103 ifdef N_OBJS
104 menuselect_newt.o: CFLAGS+=$(N_INCLUDE)
105 nmenuselect: $(OBJS) $(N_OBJS)
106         $(CC) $(LDFLAGS) -o $@ $^ $(N_LIBS) $(LIBXML2_LIB)
107 else
108 nmenuselect:
109 endif
110
111 menuselect.o: CFLAGS+=$(LIBXML2_INCLUDE)
112
113 menuselect: $(OBJS) $(M_OBJS)
114         $(CC) $(LDFLAGS) -o $@ $^ $(M_LIBS)
115
116 test: menuselect
117         (cd test; ../$< menuselect.makeopts)
118
119 ctest: cmenuselect
120         (cd test; ../$< menuselect.makeopts)
121
122 gtest: gmenuselect
123         (cd test; ../$< menuselect.makeopts)
124
125 ntest: nmenuselect
126         (cd test; ../$< menuselect.makeopts)
127
128 clean:
129         rm -f menuselect cmenuselect gmenuselect nmenuselect $(OBJS) $(M_OBJS) $(C_OBJS) $(G_OBJS) $(N_OBJS)
130
131 dist-clean: distclean
132
133 distclean: clean
134         rm -f autoconfig.h config.status config.log makeopts
135         rm -rf autom4te.cache