ncurses 5.6 - patch 20080524
[ncurses.git] / ncurses / Makefile.in
index c76ec18863d0af2ed10ebb6933a9d1ac21ccd4e9..39826e3a4782c4d01018fa52417d035d1fdc0ff9 100644 (file)
@@ -1,23 +1,34 @@
-# $Id: Makefile.in,v 1.28 1997/05/10 20:21:06 tom Exp $
-################################################################################
-# Copyright 1996 by Thomas E. Dickey <dickey@clark.net>                        #
-# All Rights Reserved.                                                         #
-#                                                                              #
-# Permission to use, copy, modify, and distribute this software and its        #
-# documentation for any purpose and without fee is hereby granted, provided    #
-# that the above copyright notice appear in all copies and that both that      #
-# copyright notice and this permission notice appear in supporting             #
-# documentation, and that the name of the above listed copyright holder(s) not #
-# be used in advertising or publicity pertaining to distribution of the        #
-# software without specific, written prior permission. THE ABOVE LISTED        #
-# COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,    #
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT #
-# SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL,        #
-# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM   #
-# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE   #
-# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR    #
-# PERFORMANCE OF THIS SOFTWARE.                                                #
-################################################################################
+# $Id: Makefile.in,v 1.112 2007/09/01 20:45:53 tom Exp $
+##############################################################################
+# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.                #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
 # Makefile for ncurses source code.
 #
 # This makes the following:
 SHELL          = /bin/sh
 THIS           = Makefile
 
-NC_MFLAGS      = @nc_cv_makeflags@
+CF_MFLAGS      = @cf_cv_makeflags@
 @SET_MAKE@
 
+x              = @EXEEXT@
+o              = .@OBJEXT@
+
 MODEL          = @DFT_LWR_MODEL@
-INSTALL_PREFIX = @INSTALL_PREFIX@
+DESTDIR                = @DESTDIR@
+top_srcdir     = @top_srcdir@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
+bindir         = @bindir@
 libdir         = @libdir@
 includedir     = @includedir@
 datadir                = @datadir@
 
-ticdir         = $(datadir)/terminfo
+LIBTOOL                = @LIBTOOL@
+LIBTOOL_CLEAN  = @LIB_CLEAN@
+LIBTOOL_COMPILE        = @LIB_COMPILE@
+LIBTOOL_LINK   = @LIB_LINK@
+LIBTOOL_INSTALL        = @LIB_INSTALL@
+LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
 
 INSTALL                = @INSTALL@
+INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
+INSTALL_PROG   = @INSTALL_PROGRAM@
 INSTALL_DATA   = @INSTALL_DATA@
 
 AR             = @AR@
@@ -65,11 +88,23 @@ CPP         = @CPP@
 CFLAGS         = @CFLAGS@
 
 INCDIR         = $(srcdir)/../include
-CPPFLAGS       = -I../ncurses -I$(srcdir) @CPPFLAGS@ \
-                 -DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
+CPPFLAGS       = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @CPPFLAGS@
 
 CCFLAGS                = $(CPPFLAGS) $(CFLAGS)
 
+BUILD_CPPFLAGS = -I../include @BUILD_CPPFLAGS@
+BUILD_CC       = @BUILD_CC@
+BUILD_CCFLAGS  = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) -I$(INCDIR) $(BUILD_CPPFLAGS) @BUILD_CFLAGS@
+BUILD_LDFLAGS  = @BUILD_LDFLAGS@
+BUILD_LIBS     = @BUILD_LIBS@
+
+# The executables built in this directory are used for generating source that
+# is compiled into the build, or are test-programs that are not installed.
+
+BUILD_EXEEXT   = @BUILD_EXEEXT@
+x              = @PROG_EXT@
+
+CFLAGS_LIBTOOL = $(CCFLAGS)
 CFLAGS_NORMAL  = $(CCFLAGS)
 CFLAGS_DEBUG   = $(CCFLAGS) @CC_G_OPT@ -DTRACE
 CFLAGS_PROFILE = $(CCFLAGS) -pg
@@ -77,14 +112,22 @@ CFLAGS_SHARED      = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
 
-LINK           = $(CC)
+LINK           = $(LIBTOOL)
 LDFLAGS                = @LDFLAGS@ @LD_MODEL@ @LIBS@
 
+SHLIB_DIRS     = -L../lib
+SHLIB_LIST     = $(SHLIB_DIRS) @SHLIB_LIST@
+TINFO_LIST     = $(SHLIB_DIRS) @TINFO_LIST@
+TICS_LIST      = $(SHLIB_DIRS) @TICS_LIST@
+
 MK_SHARED_LIB  = @MK_SHARED_LIB@
-REL_VERSION    = @nc_cv_rel_version@
-ABI_VERSION    = @nc_cv_abi_version@
 
-RANLIB         = @RANLIB@
+NCURSES_MAJOR  = @NCURSES_MAJOR@
+NCURSES_MINOR  = @NCURSES_MINOR@
+REL_VERSION    = @cf_cv_rel_version@
+ABI_VERSION    = @cf_cv_abi_version@
+
+RANLIB         = @LIB_PREP@
 
 LIBRARIES      = @LIBS_TO_MAKE@
 
@@ -92,77 +135,112 @@ LINT              = @LINT@
 LINT_OPTS      = @LINT_OPTS@
 LINT_LIBS      = -lncurses @LIBS@
 
+FALLBACK_LIST  = @FALLBACK_LIST@
+
+USE_BIG_STRINGS        = @USE_BIG_STRINGS@
+TERMINFO_CAPS  = $(top_srcdir)/include/@TERMINFO_CAPS@
+
 AUTO_SRC = \
-       ../include/nomacros.h \
+       ./codes.c \
        ./comp_captab.c \
        ./expanded.c \
        ./fallback.c \
-       keys.tries \
-       ./lib_keyname.c \
        ./lib_gen.c \
-       ./codes.c \
+       ./lib_keyname.c \
+       ./link_test.c \
        ./names.c \
-       ./unctrl.c
+       ./unctrl.c \
+       init_keytry.h \
+       keys.list
+
+TEST_DEPS      = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
+TEST_ARGS      = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@ 
+TEST_LDFLAGS   = @LD_MODEL@ $(TEST_ARGS) @LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
+
+TEST_PROGS = \
+       captoinfo$x \
+       hardscroll$x \
+       link_test$x \
+       hashmap$x \
+       lib_mvcur$x
+
+base   = $(srcdir)/base
+serial = $(srcdir)/tty
+tinfo  = $(srcdir)/tinfo
+trace  = $(srcdir)/trace
+wide   = $(srcdir)/widechar
 
 ################################################################################
-all :: ../lib $(AUTO_SRC) $(LIBRARIES)
+all \
+libs ::                $(AUTO_SRC) ../lib $(LIBRARIES)
 
-$(INSTALL_PREFIX)$(libdir) :
-       $(srcdir)/../mkinstalldirs $@
+sources:       $(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+       sh $(srcdir)/../mkdirs.sh $@
 
 ../lib : ; mkdir $@
 
-./fallback.c : $(srcdir)/MKfallback.sh
-       sh $(srcdir)/MKfallback.sh >$@
+./fallback.c : $(tinfo)/MKfallback.sh
+       sh $(tinfo)/MKfallback.sh @TERMINFO@ @TERMINFO_SRC@ $(FALLBACK_LIST) >$@
+
+./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
+       sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
 
-./lib_gen.c : $(srcdir)/MKlib_gen.sh ../include/curses.h
-       sh $(srcdir)/MKlib_gen.sh "$(CPP)" "$(AWK)" <../include/curses.h >$@
+init_keytry.h: make_keys$(BUILD_EXEEXT) keys.list
+       ./make_keys$(BUILD_EXEEXT) keys.list > $@
 
-../include/nomacros.h : $(srcdir)/MKlib_gen.sh ../include/curses.h
-       sh $(srcdir)/MKlib_gen.sh "$(CPP)" "$(AWK)" <../include/curses.h | \
-               fgrep undef >$@
+keys.list :    $(tinfo)/MKkeys_list.sh
+       AWK=$(AWK) sh $(tinfo)/MKkeys_list.sh $(TERMINFO_CAPS) | sort >$@
 
-keys.tries: $(srcdir)/keys.list
-       $(AWK) -f $(srcdir)/MKkeys.awk $(srcdir)/keys.list > keys.tries
+make_keys$(BUILD_EXEEXT) : \
+               $(tinfo)/make_keys.c \
+               names.c
+       $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
 
-make_hash : \
-               $(srcdir)/comp_hash.c \
+make_hash$(BUILD_EXEEXT) : \
+               $(tinfo)/comp_hash.c \
                ../include/hashsize.h
-       $(CC) -o $@ $(CCFLAGS) -DMAIN_PROGRAM $(srcdir)/comp_hash.c $(LDFLAGS)
+       $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
 
-./expanded.c : $(srcdir)/MKexpanded.sh
-       sh $(srcdir)/MKexpanded.sh "$(CPP)" $(CPPFLAGS)
+./expanded.c : $(serial)/MKexpanded.sh
+       sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
 
 ./comp_captab.c: \
-               make_hash \
+               make_hash$(BUILD_EXEEXT) \
                ../include/hashsize.h \
-               $(srcdir)/MKcaptab.awk
-       sh $(srcdir)/MKcaptab.awk $(AWK) $(srcdir)/../include/Caps > $@
+               $(tinfo)/MKcaptab.sh \
+               $(tinfo)/MKcaptab.awk
+       sh $(tinfo)/MKcaptab.sh $(AWK) $(USE_BIG_STRINGS) $(tinfo)/MKcaptab.awk $(srcdir)/../include/@TERMINFO_CAPS@ > $@
 
-./lib_keyname.c: $(srcdir)/keys.list $(srcdir)/MKkeyname.awk
-       $(AWK) -f $(srcdir)/MKkeyname.awk $(srcdir)/keys.list > $@
+./lib_keyname.c: keys.list $(base)/MKkeyname.awk
+       $(AWK) -f $(base)/MKkeyname.awk bigstrings=$(USE_BIG_STRINGS) keys.list > $@
 
-./names.c ./codes.c: $(srcdir)/MKnames.awk
-       $(AWK) -f $(srcdir)/MKnames.awk $(srcdir)/../include/Caps
-       cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >./names.c
-       cat namehdr boolcodes numcodes strcodes codeftr >./codes.c
-       -rm -f namehdr nameftr codeftr boolnames boolfnames boolcodes numnames numfnames numcodes strnames strfnames strcodes
+./codes.c: $(tinfo)/MKcodes.awk
+       $(AWK) -f $(tinfo)/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) $(srcdir)/../include/@TERMINFO_CAPS@ >$@
 
-./unctrl.c: $(srcdir)/MKunctrl.awk
-       echo | $(AWK) -f $(srcdir)/MKunctrl.awk >$@
+./names.c: $(tinfo)/MKnames.awk
+       $(AWK) -f $(tinfo)/MKnames.awk bigstrings=$(USE_BIG_STRINGS) $(srcdir)/../include/@TERMINFO_CAPS@ >$@
+
+./unctrl.c: $(base)/MKunctrl.awk
+       echo | $(AWK) -f $(base)/MKunctrl.awk bigstrings=$(USE_BIG_STRINGS) >$@
 
 tags:
-       ctags *.[ch]
+       ctags *.[ch] */*.[ch]
 
-TAGS:
-       etags *.[ch]
+@MAKE_UPPER_TAGS@TAGS:
+@MAKE_UPPER_TAGS@      etags *.[ch] */*.[ch]
 
 mostlyclean ::
-       -rm -f tags TAGS *~
+       -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+       -rm -f $(TEST_PROGS)
 
 clean :: mostlyclean
        -rm -f $(AUTO_SRC)
-       -rm -f make_hash
+       -rm -f make_keys$(BUILD_EXEEXT)
+       -rm -f make_hash$(BUILD_EXEEXT)
+       -rm -rf .libs
 
 distclean :: clean
        -rm -f Makefile
@@ -173,7 +251,33 @@ realclean :: distclean
 ../include/hashsize.h \
 ../include/parametrized.h \
 ../include/term.h :
-       cd ../include; $(MAKE) $(NC_MFLAGS)
+       cd ../include; $(MAKE) $(CF_MFLAGS)
+
+# These rules build test-programs for the modules that have test-drivers
+test_progs : $(TEST_PROGS)
+
+./link_test.c : $(base)/MKlib_gen.sh ../include/curses.h
+       sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@
+
+captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
+       @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
+
+hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
+       @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+hashmap$x : $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_DEPS)
+       @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
+               ../@DFT_OBJ_SUBDIR@/dump_entry$o
+       @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS)
+
+link_test$x : ./link_test.c $(TEST_DEPS) \
+               ../@DFT_OBJ_SUBDIR@/link_test$o
+       @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS)
+
+../@DFT_OBJ_SUBDIR@/dump_entry$o:
+       cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry$o
 
 ###############################################################################
 # The remainder of this file is automatically generated during configuration