Makefile.in revision 62449
162449Speter# $Id: Makefile.in,v 1.66 2000/05/28 01:39:56 tom Exp $
250276Speter##############################################################################
362449Speter# Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.                #
450276Speter#                                                                            #
550276Speter# Permission is hereby granted, free of charge, to any person obtaining a    #
650276Speter# copy of this software and associated documentation files (the "Software"), #
750276Speter# to deal in the Software without restriction, including without limitation  #
850276Speter# the rights to use, copy, modify, merge, publish, distribute, distribute    #
950276Speter# with modifications, sublicense, and/or sell copies of the Software, and to #
1050276Speter# permit persons to whom the Software is furnished to do so, subject to the  #
1150276Speter# following conditions:                                                      #
1250276Speter#                                                                            #
1350276Speter# The above copyright notice and this permission notice shall be included in #
1450276Speter# all copies or substantial portions of the Software.                        #
1550276Speter#                                                                            #
1650276Speter# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
1750276Speter# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
1850276Speter# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
1950276Speter# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
2050276Speter# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
2150276Speter# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
2250276Speter# DEALINGS IN THE SOFTWARE.                                                  #
2350276Speter#                                                                            #
2450276Speter# Except as contained in this notice, the name(s) of the above copyright     #
2550276Speter# holders shall not be used in advertising or otherwise to promote the sale, #
2650276Speter# use or other dealings in this Software without prior written               #
2750276Speter# authorization.                                                             #
2850276Speter##############################################################################
2950276Speter#
3050276Speter# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
3150276Speter#
3250276Speter# Makefile for ncurses source code.
3350276Speter#
3450276Speter# This makes the following:
3550276Speter#	programs
3650276Speter#	includes
3750276Speter#	libraries (normal/debug/profile/shared)
3850276Speter#
3950276Speter# The variable 'srcdir' refers to the source-distribution, and can be set with
4050276Speter# the configure script by "--srcdir=DIR".
4150276Speter#
4250276Speter# The rules are organized to produce the libraries for the configured models,
4350276Speter# and the programs with the configured default model.
4450276Speter
4550276Speter# turn off _all_ suffix rules; we'll generate our own
4650276Speter.SUFFIXES:
4750276Speter
4850276SpeterSHELL		= /bin/sh
4950276SpeterTHIS		= Makefile
5050276Speter
5150276Speterx		= @PROG_EXT@
5250276Speter
5350276SpeterCF_MFLAGS 	= @cf_cv_makeflags@
5450276Speter@SET_MAKE@
5550276Speter
5650276SpeterMODEL		= @DFT_LWR_MODEL@
5750276SpeterINSTALL_PREFIX	= @INSTALL_PREFIX@
5850276Spetersrcdir		= @srcdir@
5950276Speterprefix		= @prefix@
6050276Speterexec_prefix	= @exec_prefix@
6150276Speterlibdir		= @libdir@
6250276Speterincludedir	= @includedir@
6350276Speterdatadir		= @datadir@
6450276Speter
6550276Speterticdir		= $(datadir)/terminfo
6650276Speter
6750276SpeterINSTALL		= @INSTALL@
6850276SpeterINSTALL_LIB	= @INSTALL@ @INSTALL_LIB@
6950276SpeterINSTALL_DATA	= @INSTALL_DATA@
7050276Speter
7150276SpeterAR		= @AR@
7250276SpeterAR_OPTS		= @AR_OPTS@
7350276SpeterAWK		= @AWK@
7450276SpeterLD		= @LD@
7550276SpeterLN_S		= @LN_S@
7650276Speter
7750276SpeterCC		= @CC@
7850276SpeterCPP		= @CPP@
7950276SpeterCFLAGS		= @CFLAGS@
8050276Speter
8150276SpeterINCDIR		= $(srcdir)/../include
8250276SpeterCPPFLAGS	= -I../ncurses -I$(srcdir) @CPPFLAGS@ \
8350276Speter		  -DHAVE_CONFIG_H -DTERMINFO=\"$(ticdir)\"
8450276Speter
8550276SpeterCCFLAGS		= $(CPPFLAGS) $(CFLAGS)
8650276Speter
8750276SpeterHOSTCC		= @BUILD_CC@
8850276SpeterHOSTCCFLAGS	= @CFLAGS@ $(CPPFLAGS)
8950276SpeterHOSTLDFLAGS	= @LDFLAGS@ @LIBS@
9050276Speter
9150276SpeterCFLAGS_NORMAL	= $(CCFLAGS)
9250276SpeterCFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
9350276SpeterCFLAGS_PROFILE	= $(CCFLAGS) -pg
9450276SpeterCFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
9550276Speter
9650276SpeterCFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
9750276Speter
9850276SpeterLINK		= $(CC)
9950276SpeterLDFLAGS		= @LDFLAGS@ @LD_MODEL@ @LIBS@
10050276Speter
10150276SpeterSHLIB_DIRS	= -L../lib -L$(libdir)
10250276SpeterSHLIB_LIST	= $(SHLIB_DIRS) @SHLIB_LIST@
10350276SpeterTINFO_LIST	= $(SHLIB_DIRS) @TINFO_LIST@
10450276Speter
10550276SpeterMK_SHARED_LIB	= @MK_SHARED_LIB@
10650276Speter
10750276SpeterREL_VERSION	= @cf_cv_rel_version@
10850276SpeterABI_VERSION	= @cf_cv_abi_version@
10950276Speter
11050276SpeterRANLIB		= @RANLIB@
11150276Speter
11250276SpeterLIBRARIES	= @LIBS_TO_MAKE@
11350276Speter
11450276SpeterLINT		= @LINT@
11550276SpeterLINT_OPTS	= @LINT_OPTS@
11650276SpeterLINT_LIBS	= -lncurses @LIBS@
11750276Speter
11850276SpeterFALLBACK_LIST	= @FALLBACK_LIST@
11950276Speter
12050276SpeterAUTO_SRC = \
12150276Speter	../include/nomacros.h \
12250276Speter	./comp_captab.c \
12350276Speter	./expanded.c \
12450276Speter	./fallback.c \
12550276Speter	init_keytry.h \
12650276Speter	./lib_keyname.c \
12750276Speter	./lib_gen.c \
12850276Speter	./codes.c \
12950276Speter	./names.c \
13050276Speter	./unctrl.c
13150276Speter
13262449SpeterTEST_DEPS	= ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
13350276SpeterTEST_ARGS	= -L../lib -lncurses@DFT_ARG_SUFFIX@
13450276SpeterTEST_LDFLAGS	= @LD_MODEL@ $(TEST_ARGS) @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
13550276Speter
13650276SpeterTEST_PROGS = \
13750276Speter	captoinfo$x \
13850276Speter	hardscroll$x \
13950276Speter	hashmap$x \
14050276Speter	lib_mvcur$x
14150276Speter
14250276Speterbase	= $(srcdir)/base
14350276Speterserial	= $(srcdir)/tty
14450276Spetertinfo	= $(srcdir)/tinfo
14550276Spetertrace	= $(srcdir)/trace
14650276Speter
14750276Speter################################################################################
14862449Speterall \
14962449Speterlibs ::		$(AUTO_SRC) ../lib $(LIBRARIES)
15050276Speter
15150276Spetersources:	$(AUTO_SRC)
15250276Speter
15350276Speter$(INSTALL_PREFIX)$(libdir) :
15450276Speter	$(srcdir)/../mkinstalldirs $@
15550276Speter
15650276Speter../lib : ; mkdir $@
15750276Speter
15850276Speter./fallback.c : $(tinfo)/MKfallback.sh
15950276Speter	sh $(tinfo)/MKfallback.sh $(FALLBACK_LIST) >$@
16050276Speter
16150276Speter./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
16250276Speter	sh $(base)/MKlib_gen.sh "$(CPP)" "$(AWK)" <../include/curses.h >$@
16350276Speter
16450276Speter../include/nomacros.h : $(base)/MKlib_gen.sh ../include/curses.h
16550276Speter	sh $(base)/MKlib_gen.sh "$(CPP)" "$(AWK)" <../include/curses.h | \
16650276Speter		fgrep undef >$@
16750276Speter
16850276Speterinit_keytry.h: make_keys$x $(tinfo)/keys.list
16950276Speter	./make_keys $(tinfo)/keys.list > $@
17050276Speter
17150276Spetermake_keys$x : \
17250276Speter		$(tinfo)/make_keys.c \
17350276Speter		./names.c
17450276Speter	$(HOSTCC) -o $@ $(HOSTCCFLAGS) $(tinfo)/make_keys.c $(HOSTLDFLAGS)
17550276Speter
17650276Spetermake_hash$x : \
17750276Speter		$(tinfo)/comp_hash.c \
17850276Speter		../include/hashsize.h
17950276Speter	$(HOSTCC) -o $@ $(HOSTCCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(HOSTLDFLAGS)
18050276Speter
18150276Speter./expanded.c : $(serial)/MKexpanded.sh
18250276Speter	sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
18350276Speter
18450276Speter./comp_captab.c: \
18550276Speter		make_hash$x \
18650276Speter		../include/hashsize.h \
18750276Speter		$(tinfo)/MKcaptab.awk
18850276Speter	sh $(tinfo)/MKcaptab.awk $(AWK) $(srcdir)/../include/Caps > $@
18950276Speter
19050276Speter./lib_keyname.c: $(tinfo)/keys.list $(base)/MKkeyname.awk
19150276Speter	$(AWK) -f $(base)/MKkeyname.awk $(tinfo)/keys.list > $@
19250276Speter
19350276Speter./names.c ./codes.c: $(tinfo)/MKnames.awk
19450276Speter	$(AWK) -f $(tinfo)/MKnames.awk $(srcdir)/../include/Caps
19550276Speter	cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >./names.c
19650276Speter	cat namehdr boolcodes numcodes strcodes codeftr >./codes.c
19750276Speter	-rm -f namehdr nameftr codeftr boolnames boolfnames boolcodes numnames numfnames numcodes strnames strfnames strcodes
19850276Speter
19950276Speter./unctrl.c: $(base)/MKunctrl.awk
20050276Speter	echo | $(AWK) -f $(base)/MKunctrl.awk >$@
20150276Speter
20250276Spetertags:
20350276Speter	ctags *.[ch]
20450276Speter
20550276SpeterTAGS:
20650276Speter	etags *.[ch]
20750276Speter
20850276Spetermostlyclean ::
20950276Speter	-rm -f core tags TAGS *~ *.ln *.atac trace
21050276Speter	-rm -f $(TEST_PROGS)
21150276Speter
21250276Speterclean :: mostlyclean
21350276Speter	-rm -f $(AUTO_SRC)
21456639Speter	-rm -f make_keys$x
21556639Speter	-rm -f make_hash$x
21650276Speter
21750276Speterdistclean :: clean
21850276Speter	-rm -f Makefile
21950276Speter
22050276Speterrealclean :: distclean
22150276Speter
22250276Speter# These rules are used to allow "make -n" to work on a clean directory-tree
22350276Speter../include/hashsize.h \
22450276Speter../include/parametrized.h \
22550276Speter../include/term.h :
22650276Speter	cd ../include; $(MAKE) $(CF_MFLAGS)
22750276Speter
22850276Speter# These rules build test-programs for the modules that have test-drivers
22950276Spetertest_progs : $(TEST_PROGS)
23050276Speter
23150276Spetercaptoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
23250276Speter	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
23350276Speter
23450276Speterhardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
23550276Speter	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
23650276Speter
23750276Speterhashmap$x : $(serial)/hashmap.c $(TEST_DEPS)
23850276Speter	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(TEST_LDFLAGS)
23950276Speter
24050276Speterlib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
24150276Speter		../@DFT_OBJ_SUBDIR@/dump_entry.o
24250276Speter	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry.o $(TEST_LDFLAGS)
24350276Speter
24450276Speter../@DFT_OBJ_SUBDIR@/dump_entry.o:
24550276Speter	cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry.o
24650276Speter
24750276Speter###############################################################################
24850276Speter# The remainder of this file is automatically generated during configuration
24950276Speter###############################################################################
250