Makefile.in revision 76726
1130812Smarcel# $Id: Makefile.in,v 1.72 2001/03/24 19:53:31 tom Exp $
2130812Smarcel##############################################################################
3130812Smarcel# Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.           #
4130812Smarcel#                                                                            #
5130812Smarcel# Permission is hereby granted, free of charge, to any person obtaining a    #
6130812Smarcel# copy of this software and associated documentation files (the "Software"), #
7130812Smarcel# to deal in the Software without restriction, including without limitation  #
8130812Smarcel# the rights to use, copy, modify, merge, publish, distribute, distribute    #
9130812Smarcel# with modifications, sublicense, and/or sell copies of the Software, and to #
10130812Smarcel# permit persons to whom the Software is furnished to do so, subject to the  #
11130812Smarcel# following conditions:                                                      #
12130812Smarcel#                                                                            #
13130812Smarcel# The above copyright notice and this permission notice shall be included in #
14130812Smarcel# all copies or substantial portions of the Software.                        #
15130812Smarcel#                                                                            #
16130812Smarcel# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
17130812Smarcel# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
18130812Smarcel# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
19130812Smarcel# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
20130812Smarcel# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
21130812Smarcel# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
22130812Smarcel# DEALINGS IN THE SOFTWARE.                                                  #
23130812Smarcel#                                                                            #
24130812Smarcel# Except as contained in this notice, the name(s) of the above copyright     #
25130812Smarcel# holders shall not be used in advertising or otherwise to promote the sale, #
26130812Smarcel# use or other dealings in this Software without prior written               #
27130812Smarcel# authorization.                                                             #
28130812Smarcel##############################################################################
29130812Smarcel#
30130812Smarcel# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
31130812Smarcel#
32130812Smarcel# Makefile for ncurses source code.
33130812Smarcel#
34130812Smarcel# This makes the following:
35130812Smarcel#	programs
36130812Smarcel#	includes
37130812Smarcel#	libraries (normal/debug/profile/shared)
38130812Smarcel#
39130812Smarcel# The variable 'srcdir' refers to the source-distribution, and can be set with
40130812Smarcel# the configure script by "--srcdir=DIR".
41130812Smarcel#
42130812Smarcel# The rules are organized to produce the libraries for the configured models,
43130812Smarcel# and the programs with the configured default model.
44130812Smarcel
45130812Smarcel# turn off _all_ suffix rules; we'll generate our own
46130812Smarcel.SUFFIXES:
47130812Smarcel
48130812SmarcelSHELL		= /bin/sh
49130812SmarcelTHIS		= Makefile
50130812Smarcel
51130812Smarcelx		= @PROG_EXT@
52130812Smarcel
53130812SmarcelCF_MFLAGS 	= @cf_cv_makeflags@
54130812Smarcel@SET_MAKE@
55130812Smarcel
56130812SmarcelMODEL		= @DFT_LWR_MODEL@
57130812SmarcelDESTDIR		= @DESTDIR@
58130812Smarcelsrcdir		= @srcdir@
59130812Smarcelprefix		= @prefix@
60130812Smarcelexec_prefix	= @exec_prefix@
61130812Smarcellibdir		= @libdir@
62130812Smarcelincludedir	= @includedir@
63130812Smarceldatadir		= @datadir@
64130812Smarcel
65130812SmarcelLIBTOOL		= @LIBTOOL@
66130812Smarcel
67130812SmarcelINSTALL		= @INSTALL@
68130812SmarcelINSTALL_LIB	= @INSTALL@ @INSTALL_LIB@
69130812SmarcelINSTALL_DATA	= @INSTALL_DATA@
70130812Smarcel
71130812SmarcelAR		= @AR@
72130812SmarcelAR_OPTS		= @AR_OPTS@
73130812SmarcelAWK		= @AWK@
74130812SmarcelLD		= @LD@
75130812SmarcelLN_S		= @LN_S@
76130812Smarcel
77130812SmarcelCC		= @CC@
78130812SmarcelCPP		= @CPP@
79130812SmarcelCFLAGS		= @CFLAGS@
80130812Smarcel
81130812SmarcelINCDIR		= $(srcdir)/../include
82130812SmarcelCPPFLAGS	= -I../ncurses -I$(srcdir) @CPPFLAGS@ \
83130812Smarcel		  -DHAVE_CONFIG_H
84130812Smarcel
85130812SmarcelCCFLAGS		= $(CPPFLAGS) $(CFLAGS)
86130812Smarcel
87130812SmarcelHOSTCC		= @BUILD_CC@
88130812SmarcelHOSTCCFLAGS	= @CFLAGS@ $(CPPFLAGS)
89130812SmarcelHOSTLDFLAGS	= @LDFLAGS@ @LIBS@
90130812Smarcel
91130812SmarcelCFLAGS_LIBTOOL	= $(CCFLAGS)
92130812SmarcelCFLAGS_NORMAL	= $(CCFLAGS)
93130812SmarcelCFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
94130812SmarcelCFLAGS_PROFILE	= $(CCFLAGS) -pg
95130812SmarcelCFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
96130812Smarcel
97130812SmarcelCFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
98130812Smarcel
99130812SmarcelLINK		= $(LIBTOOL) $(CC)
100130812SmarcelLDFLAGS		= @LDFLAGS@ @LD_MODEL@ @LIBS@
101130812Smarcel
102130812SmarcelSHLIB_DIRS	= -L../lib -L$(libdir)
103130812SmarcelSHLIB_LIST	= $(SHLIB_DIRS) @SHLIB_LIST@
104130812SmarcelTINFO_LIST	= $(SHLIB_DIRS) @TINFO_LIST@
105130812Smarcel
106130812SmarcelMK_SHARED_LIB	= @MK_SHARED_LIB@
107130812Smarcel
108130812SmarcelNCURSES_MAJOR	= @NCURSES_MAJOR@
109130812SmarcelNCURSES_MINOR	= @NCURSES_MINOR@
110130812SmarcelREL_VERSION	= @cf_cv_rel_version@
111130812SmarcelABI_VERSION	= @cf_cv_abi_version@
112130812Smarcel
113130812SmarcelRANLIB		= @RANLIB@
114130812Smarcel
115130812SmarcelLIBRARIES	= @LIBS_TO_MAKE@
116130812Smarcel
117130812SmarcelLINT		= @LINT@
118130812SmarcelLINT_OPTS	= @LINT_OPTS@
119130812SmarcelLINT_LIBS	= -lncurses @LIBS@
120130812Smarcel
121130812SmarcelFALLBACK_LIST	= @FALLBACK_LIST@
122130812Smarcel
123130812SmarcelAUTO_SRC = \
124130812Smarcel	../include/nomacros.h \
125130812Smarcel	./comp_captab.c \
126130812Smarcel	./expanded.c \
127130812Smarcel	./fallback.c \
128130812Smarcel	init_keytry.h \
129130812Smarcel	./lib_keyname.c \
130130812Smarcel	./lib_gen.c \
131130812Smarcel	./codes.c \
132130812Smarcel	./names.c \
133130812Smarcel	./unctrl.c
134130812Smarcel
135130812SmarcelTEST_DEPS	= ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
136130812SmarcelTEST_ARGS	= -L../lib -lncurses@DFT_ARG_SUFFIX@
137130812SmarcelTEST_LDFLAGS	= @LD_MODEL@ $(TEST_ARGS) @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
138130812Smarcel
139130812SmarcelTEST_PROGS = \
140130812Smarcel	captoinfo$x \
141130812Smarcel	hardscroll$x \
142130812Smarcel	hashmap$x \
143130812Smarcel	lib_mvcur$x
144130812Smarcel
145130812Smarcelbase	= $(srcdir)/base
146130812Smarcelserial	= $(srcdir)/tty
147130812Smarceltinfo	= $(srcdir)/tinfo
148130812Smarceltrace	= $(srcdir)/trace
149130812Smarcel
150130812Smarcel################################################################################
151130812Smarcelall \
152130812Smarcellibs ::		$(AUTO_SRC) ../lib $(LIBRARIES)
153130812Smarcel
154130812Smarcelsources:	$(AUTO_SRC)
155130812Smarcel
156130812Smarcel$(DESTDIR)$(libdir) :
157130812Smarcel	$(srcdir)/../mkinstalldirs $@
158130812Smarcel
159130812Smarcel../lib : ; mkdir $@
160130812Smarcel
161130812Smarcel./fallback.c : $(tinfo)/MKfallback.sh
162130812Smarcel	sh $(tinfo)/MKfallback.sh $(FALLBACK_LIST) >$@
163130812Smarcel
164130812Smarcel./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
165130812Smarcel	sh $(base)/MKlib_gen.sh "$(CPP)" "$(AWK)" <../include/curses.h >$@
166130812Smarcel
167130812Smarcel../include/nomacros.h : $(base)/MKlib_gen.sh ../include/curses.h
168130812Smarcel	sh $(base)/MKlib_gen.sh "$(CPP)" "$(AWK)" <../include/curses.h | \
169130812Smarcel		fgrep undef >$@
170130812Smarcel
171130812Smarcelinit_keytry.h: make_keys$x $(tinfo)/keys.list
172130812Smarcel	./make_keys $(tinfo)/keys.list > $@
173130812Smarcel
174130812Smarcelmake_keys$x : \
175130812Smarcel		$(tinfo)/make_keys.c \
176130812Smarcel		./names.c
177130812Smarcel	$(HOSTCC) -o $@ $(HOSTCCFLAGS) $(tinfo)/make_keys.c $(HOSTLDFLAGS)
178130812Smarcel
179130812Smarcelmake_hash$x : \
180130812Smarcel		$(tinfo)/comp_hash.c \
181130812Smarcel		../include/hashsize.h
182130812Smarcel	$(HOSTCC) -o $@ $(HOSTCCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(HOSTLDFLAGS)
183130812Smarcel
184130812Smarcel./expanded.c : $(serial)/MKexpanded.sh
185130812Smarcel	sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
186130812Smarcel
187130812Smarcel./comp_captab.c: \
188130812Smarcel		make_hash$x \
189130812Smarcel		../include/hashsize.h \
190130812Smarcel		$(tinfo)/MKcaptab.awk
191130812Smarcel	sh $(tinfo)/MKcaptab.awk $(AWK) $(srcdir)/../include/Caps > $@
192130812Smarcel
193130812Smarcel./lib_keyname.c: $(tinfo)/keys.list $(base)/MKkeyname.awk
194130812Smarcel	$(AWK) -f $(base)/MKkeyname.awk $(tinfo)/keys.list > $@
195130812Smarcel
196130812Smarcel./names.c ./codes.c: $(tinfo)/MKnames.awk
197130812Smarcel	$(AWK) -f $(tinfo)/MKnames.awk $(srcdir)/../include/Caps
198130812Smarcel	cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >./names.c
199130812Smarcel	cat namehdr boolcodes numcodes strcodes codeftr >./codes.c
200130812Smarcel	-rm -f namehdr nameftr codeftr boolnames boolfnames boolcodes numnames numfnames numcodes strnames strfnames strcodes
201130812Smarcel
202130812Smarcel./unctrl.c: $(base)/MKunctrl.awk
203130812Smarcel	echo | $(AWK) -f $(base)/MKunctrl.awk >$@
204130812Smarcel
205130812Smarceltags:
206130812Smarcel	ctags *.[ch]
207130812Smarcel
208130812Smarcel@MAKE_UPPER_TAGS@TAGS:
209130812Smarcel@MAKE_UPPER_TAGS@	etags *.[ch]
210130812Smarcel
211130812Smarcelmostlyclean ::
212130812Smarcel	-rm -f core tags TAGS *~ *.i *.ln *.atac trace
213130812Smarcel	-rm -f $(TEST_PROGS)
214130812Smarcel
215130812Smarcelclean :: mostlyclean
216130812Smarcel	-rm -f $(AUTO_SRC)
217130812Smarcel	-rm -f make_keys$x
218130812Smarcel	-rm -f make_hash$x
219130812Smarcel	-rm -rf .libs
220130812Smarcel
221130812Smarceldistclean :: clean
222130812Smarcel	-rm -f Makefile
223130812Smarcel
224130812Smarcelrealclean :: distclean
225130812Smarcel
226130812Smarcel# These rules are used to allow "make -n" to work on a clean directory-tree
227130812Smarcel../include/hashsize.h \
228130812Smarcel../include/parametrized.h \
229130812Smarcel../include/term.h :
230130812Smarcel	cd ../include; $(MAKE) $(CF_MFLAGS)
231130812Smarcel
232130812Smarcel# These rules build test-programs for the modules that have test-drivers
233130812Smarceltest_progs : $(TEST_PROGS)
234130812Smarcel
235130812Smarcelcaptoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
236130812Smarcel	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
237130812Smarcel
238130812Smarcelhardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
239130812Smarcel	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
240130812Smarcel
241130812Smarcelhashmap$x : $(serial)/hashmap.c $(TEST_DEPS)
242130812Smarcel	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(TEST_LDFLAGS)
243130812Smarcel
244130812Smarcellib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
245130812Smarcel		../@DFT_OBJ_SUBDIR@/dump_entry.o
246130812Smarcel	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry.o $(TEST_LDFLAGS)
247130812Smarcel
248130812Smarcel../@DFT_OBJ_SUBDIR@/dump_entry.o:
249130812Smarcel	cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry.o
250130812Smarcel
251130812Smarcel###############################################################################
252130812Smarcel# The remainder of this file is automatically generated during configuration
253130812Smarcel###############################################################################
254130812Smarcel