Files
asterisk/menuselect/Makefile
Corey Farrell 6338a03ce9 menuselect: Fix check for running configure.
menuselect/Makefile checks that autoconfig.h and makeopts were newer
than the '.in' files.  Unfortunately running ./configure does not touch
autoconfig.h unless the contents will change.

Instead of looking at autoconfig.h we just need to ensure that makeopts
is newer than configure.

Also make change to configure.ac so bootstrap.sh doesn't re-add the
extra trailing line-feed.

Change-Id: Ief1f831d6717007f9cebb668c14e92782cd2b794
2017-12-27 20:17:15 -06:00

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: 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