mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	This is the final patch in adding menuselect to Asterisk. - The first patch (r418832) added menuselect along with mxml - The second patch (r418833) removed mxml from menuselect This patch adds support for libxml2 to menuselect, and makes libxml2 a required library for Asterisk. Note that the libxml2 portion of this patch was written by Sean Bright, and was made available on a team branch: http://svn.digium.com/svn/menuselect/team/seanbright/libxml2/ Review: https://reviewboard.asterisk.org/r/3773/ ASTERISK-20703 #close patches: some_mysterious_team_branch uploaded by seanbright (License 5060) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
		
			
				
	
	
		
			124 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| #
 | |
| # 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
 | |
| M_LIBS += $(LIBXML2_LIB)
 | |
| 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)
 | |
| 	@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
 |