Makefile.in revision 76726
155682Smarkm# $Id: Makefile.in,v 1.72 2001/03/24 19:53:31 tom Exp $
255682Smarkm##############################################################################
355682Smarkm# Copyright (c) 1998,1999,2000,2001 Free Software Foundation, Inc.           #
455682Smarkm#                                                                            #
555682Smarkm# Permission is hereby granted, free of charge, to any person obtaining a    #
655682Smarkm# copy of this software and associated documentation files (the "Software"), #
755682Smarkm# to deal in the Software without restriction, including without limitation  #
855682Smarkm# the rights to use, copy, modify, merge, publish, distribute, distribute    #
955682Smarkm# with modifications, sublicense, and/or sell copies of the Software, and to #
1055682Smarkm# permit persons to whom the Software is furnished to do so, subject to the  #
1155682Smarkm# following conditions:                                                      #
1255682Smarkm#                                                                            #
1355682Smarkm# The above copyright notice and this permission notice shall be included in #
1455682Smarkm# all copies or substantial portions of the Software.                        #
1555682Smarkm#                                                                            #
1655682Smarkm# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
1755682Smarkm# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
1855682Smarkm# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
1955682Smarkm# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
2055682Smarkm# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
2155682Smarkm# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
2255682Smarkm# DEALINGS IN THE SOFTWARE.                                                  #
2355682Smarkm#                                                                            #
2455682Smarkm# Except as contained in this notice, the name(s) of the above copyright     #
2555682Smarkm# holders shall not be used in advertising or otherwise to promote the sale, #
2655682Smarkm# use or other dealings in this Software without prior written               #
2755682Smarkm# authorization.                                                             #
2855682Smarkm##############################################################################
2955682Smarkm#
3055682Smarkm# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
3155682Smarkm#
3255682Smarkm# Makefile for ncurses source code.
3355682Smarkm#
3455682Smarkm# This makes the following:
3555682Smarkm#	programs
3655682Smarkm#	includes
3755682Smarkm#	libraries (normal/debug/profile/shared)
3855682Smarkm#
3955682Smarkm# The variable 'srcdir' refers to the source-distribution, and can be set with
4055682Smarkm# the configure script by "--srcdir=DIR".
4155682Smarkm#
4255682Smarkm# The rules are organized to produce the libraries for the configured models,
4355682Smarkm# and the programs with the configured default model.
4455682Smarkm
4555682Smarkm# turn off _all_ suffix rules; we'll generate our own
4655682Smarkm.SUFFIXES:
4755682Smarkm
4855682SmarkmSHELL		= /bin/sh
4955682SmarkmTHIS		= Makefile
5055682Smarkm
5155682Smarkmx		= @PROG_EXT@
5255682Smarkm
5355682SmarkmCF_MFLAGS 	= @cf_cv_makeflags@
5455682Smarkm@SET_MAKE@
5555682Smarkm
5655682SmarkmMODEL		= @DFT_LWR_MODEL@
5755682SmarkmDESTDIR		= @DESTDIR@
5855682Smarkmsrcdir		= @srcdir@
5955682Smarkmprefix		= @prefix@
6055682Smarkmexec_prefix	= @exec_prefix@
6155682Smarkmlibdir		= @libdir@
6255682Smarkmincludedir	= @includedir@
6355682Smarkmdatadir		= @datadir@
6455682Smarkm
6555682SmarkmLIBTOOL		= @LIBTOOL@
6655682Smarkm
6755682SmarkmINSTALL		= @INSTALL@
6855682SmarkmINSTALL_LIB	= @INSTALL@ @INSTALL_LIB@
6955682SmarkmINSTALL_DATA	= @INSTALL_DATA@
7055682Smarkm
7155682SmarkmAR		= @AR@
7255682SmarkmAR_OPTS		= @AR_OPTS@
7355682SmarkmAWK		= @AWK@
7455682SmarkmLD		= @LD@
7555682SmarkmLN_S		= @LN_S@
7655682Smarkm
7755682SmarkmCC		= @CC@
7855682SmarkmCPP		= @CPP@
7955682SmarkmCFLAGS		= @CFLAGS@
8055682Smarkm
8155682SmarkmINCDIR		= $(srcdir)/../include
8255682SmarkmCPPFLAGS	= -I../ncurses -I$(srcdir) @CPPFLAGS@ \
8355682Smarkm		  -DHAVE_CONFIG_H
8455682Smarkm
8555682SmarkmCCFLAGS		= $(CPPFLAGS) $(CFLAGS)
8655682Smarkm
8755682SmarkmHOSTCC		= @BUILD_CC@
8855682SmarkmHOSTCCFLAGS	= @CFLAGS@ $(CPPFLAGS)
8955682SmarkmHOSTLDFLAGS	= @LDFLAGS@ @LIBS@
9055682Smarkm
9155682SmarkmCFLAGS_LIBTOOL	= $(CCFLAGS)
9255682SmarkmCFLAGS_NORMAL	= $(CCFLAGS)
9355682SmarkmCFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
9455682SmarkmCFLAGS_PROFILE	= $(CCFLAGS) -pg
9555682SmarkmCFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
9655682Smarkm
9755682SmarkmCFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
9855682Smarkm
9955682SmarkmLINK		= $(LIBTOOL) $(CC)
10055682SmarkmLDFLAGS		= @LDFLAGS@ @LD_MODEL@ @LIBS@
10155682Smarkm
10255682SmarkmSHLIB_DIRS	= -L../lib -L$(libdir)
10355682SmarkmSHLIB_LIST	= $(SHLIB_DIRS) @SHLIB_LIST@
10455682SmarkmTINFO_LIST	= $(SHLIB_DIRS) @TINFO_LIST@
10555682Smarkm
10655682SmarkmMK_SHARED_LIB	= @MK_SHARED_LIB@
10755682Smarkm
10855682SmarkmNCURSES_MAJOR	= @NCURSES_MAJOR@
10955682SmarkmNCURSES_MINOR	= @NCURSES_MINOR@
11055682SmarkmREL_VERSION	= @cf_cv_rel_version@
111ABI_VERSION	= @cf_cv_abi_version@
112
113RANLIB		= @RANLIB@
114
115LIBRARIES	= @LIBS_TO_MAKE@
116
117LINT		= @LINT@
118LINT_OPTS	= @LINT_OPTS@
119LINT_LIBS	= -lncurses @LIBS@
120
121FALLBACK_LIST	= @FALLBACK_LIST@
122
123AUTO_SRC = \
124	../include/nomacros.h \
125	./comp_captab.c \
126	./expanded.c \
127	./fallback.c \
128	init_keytry.h \
129	./lib_keyname.c \
130	./lib_gen.c \
131	./codes.c \
132	./names.c \
133	./unctrl.c
134
135TEST_DEPS	= ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
136TEST_ARGS	= -L../lib -lncurses@DFT_ARG_SUFFIX@
137TEST_LDFLAGS	= @LD_MODEL@ $(TEST_ARGS) @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
138
139TEST_PROGS = \
140	captoinfo$x \
141	hardscroll$x \
142	hashmap$x \
143	lib_mvcur$x
144
145base	= $(srcdir)/base
146serial	= $(srcdir)/tty
147tinfo	= $(srcdir)/tinfo
148trace	= $(srcdir)/trace
149
150################################################################################
151all \
152libs ::		$(AUTO_SRC) ../lib $(LIBRARIES)
153
154sources:	$(AUTO_SRC)
155
156$(DESTDIR)$(libdir) :
157	$(srcdir)/../mkinstalldirs $@
158
159../lib : ; mkdir $@
160
161./fallback.c : $(tinfo)/MKfallback.sh
162	sh $(tinfo)/MKfallback.sh $(FALLBACK_LIST) >$@
163
164./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
165	sh $(base)/MKlib_gen.sh "$(CPP)" "$(AWK)" <../include/curses.h >$@
166
167../include/nomacros.h : $(base)/MKlib_gen.sh ../include/curses.h
168	sh $(base)/MKlib_gen.sh "$(CPP)" "$(AWK)" <../include/curses.h | \
169		fgrep undef >$@
170
171init_keytry.h: make_keys$x $(tinfo)/keys.list
172	./make_keys $(tinfo)/keys.list > $@
173
174make_keys$x : \
175		$(tinfo)/make_keys.c \
176		./names.c
177	$(HOSTCC) -o $@ $(HOSTCCFLAGS) $(tinfo)/make_keys.c $(HOSTLDFLAGS)
178
179make_hash$x : \
180		$(tinfo)/comp_hash.c \
181		../include/hashsize.h
182	$(HOSTCC) -o $@ $(HOSTCCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(HOSTLDFLAGS)
183
184./expanded.c : $(serial)/MKexpanded.sh
185	sh $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
186
187./comp_captab.c: \
188		make_hash$x \
189		../include/hashsize.h \
190		$(tinfo)/MKcaptab.awk
191	sh $(tinfo)/MKcaptab.awk $(AWK) $(srcdir)/../include/Caps > $@
192
193./lib_keyname.c: $(tinfo)/keys.list $(base)/MKkeyname.awk
194	$(AWK) -f $(base)/MKkeyname.awk $(tinfo)/keys.list > $@
195
196./names.c ./codes.c: $(tinfo)/MKnames.awk
197	$(AWK) -f $(tinfo)/MKnames.awk $(srcdir)/../include/Caps
198	cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >./names.c
199	cat namehdr boolcodes numcodes strcodes codeftr >./codes.c
200	-rm -f namehdr nameftr codeftr boolnames boolfnames boolcodes numnames numfnames numcodes strnames strfnames strcodes
201
202./unctrl.c: $(base)/MKunctrl.awk
203	echo | $(AWK) -f $(base)/MKunctrl.awk >$@
204
205tags:
206	ctags *.[ch]
207
208@MAKE_UPPER_TAGS@TAGS:
209@MAKE_UPPER_TAGS@	etags *.[ch]
210
211mostlyclean ::
212	-rm -f core tags TAGS *~ *.i *.ln *.atac trace
213	-rm -f $(TEST_PROGS)
214
215clean :: mostlyclean
216	-rm -f $(AUTO_SRC)
217	-rm -f make_keys$x
218	-rm -f make_hash$x
219	-rm -rf .libs
220
221distclean :: clean
222	-rm -f Makefile
223
224realclean :: distclean
225
226# These rules are used to allow "make -n" to work on a clean directory-tree
227../include/hashsize.h \
228../include/parametrized.h \
229../include/term.h :
230	cd ../include; $(MAKE) $(CF_MFLAGS)
231
232# These rules build test-programs for the modules that have test-drivers
233test_progs : $(TEST_PROGS)
234
235captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
236	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
237
238hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
239	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
240
241hashmap$x : $(serial)/hashmap.c $(TEST_DEPS)
242	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(TEST_LDFLAGS)
243
244lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
245		../@DFT_OBJ_SUBDIR@/dump_entry.o
246	@ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry.o $(TEST_LDFLAGS)
247
248../@DFT_OBJ_SUBDIR@/dump_entry.o:
249	cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry.o
250
251###############################################################################
252# The remainder of this file is automatically generated during configuration
253###############################################################################
254