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