mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 03:20:57 +00:00
menuselect: Add menuselect to Asterisk trunk (Patch 1)
This is the first patch that adds menuselect to Asterisk trunk, and removes the svn:externals property. This is being done for two reasons: (1) The removal of external repositories eases a future migration to git (2) Asterisk is now the only thing that uses menuselect; as a result, there's little need to keep it in an external repository Subsequent patches will remove the mxml dependency from menuselect and tidy up the build system. ASTERISK-20703 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
123
menuselect/Makefile
Normal file
123
menuselect/Makefile
Normal file
@@ -0,0 +1,123 @@
|
||||
#
|
||||
# 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
|
||||
|
||||
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
|
||||
ALL_TGTS += menuselect
|
||||
|
||||
all: $(ALL_TGTS)
|
||||
|
||||
$(OBJS) $(C_OBJS) $(N_OBJS) $(G_OBJS) $(M_OBJS): autoconfig.h menuselect.h
|
||||
|
||||
makeopts autoconfig.h: autoconfig.h.in makeopts.in
|
||||
@./configure $(CONFIGURE_SILENT)
|
||||
|
||||
$(ALL_TGTS): mxml/libmxml.a
|
||||
|
||||
ifdef C_OBJS
|
||||
menuselect_curses.o: CFLAGS+=$(C_INCLUDE)
|
||||
cmenuselect: $(OBJS) $(C_OBJS)
|
||||
$(CC) $(LDFLAGS) -o $@ $^ $(C_LIBS)
|
||||
else
|
||||
cmenuselect:
|
||||
endif
|
||||
|
||||
ifdef G_OBJS
|
||||
menuselect_gtk.o: CFLAGS+=$(G_INCLUDE)
|
||||
gmenuselect: $(OBJS) $(G_OBJS)
|
||||
$(CC) $(LDFLAGS) -o $@ $^ $(G_LIBS)
|
||||
else
|
||||
gmenuselect:
|
||||
endif
|
||||
|
||||
ifdef N_OBJS
|
||||
menuselect_newt.o: CFLAGS+=$(N_INCLUDE)
|
||||
nmenuselect: $(OBJS) $(N_OBJS)
|
||||
$(CC) $(LDFLAGS) -o $@ $^ $(N_LIBS)
|
||||
else
|
||||
nmenuselect:
|
||||
endif
|
||||
|
||||
menuselect: $(OBJS) $(M_OBJS)
|
||||
$(CC) $(LDFLAGS) -o $@ $^ $(M_LIBS)
|
||||
|
||||
mxml/libmxml.a:
|
||||
@if test ! -f mxml/Makefile ; then cd mxml && ./configure ; fi
|
||||
@$(MAKE) -C mxml libmxml.a
|
||||
|
||||
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)
|
||||
@if test -f mxml/Makefile ; then $(MAKE) -C mxml clean ; fi
|
||||
|
||||
dist-clean: distclean
|
||||
|
||||
distclean: clean
|
||||
@if test -f mxml/Makefile ; then $(MAKE) -C mxml distclean ; fi
|
||||
rm -f autoconfig.h config.status config.log makeopts
|
||||
rm -rf autom4te.cache
|
Reference in New Issue
Block a user