1# $Id: Makefile.in,v 1.113 2008/10/18 14:11:54 tom Exp $ 2############################################################################## 3# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. # 4# # 5# Permission is hereby granted, free of charge, to any person obtaining a # 6# copy of this software and associated documentation files (the "Software"), # 7# to deal in the Software without restriction, including without limitation # 8# the rights to use, copy, modify, merge, publish, distribute, distribute # 9# with modifications, sublicense, and/or sell copies of the Software, and to # 10# permit persons to whom the Software is furnished to do so, subject to the # 11# following conditions: # 12# # 13# The above copyright notice and this permission notice shall be included in # 14# all copies or substantial portions of the Software. # 15# # 16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 17# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # 18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # 19# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # 20# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # 21# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # 22# DEALINGS IN THE SOFTWARE. # 23# # 24# Except as contained in this notice, the name(s) of the above copyright # 25# holders shall not be used in advertising or otherwise to promote the sale, # 26# use or other dealings in this Software without prior written # 27# authorization. # 28############################################################################## 29# 30# Author: Thomas E. Dickey 1996-on 31# 32# Makefile for ncurses source code. 33# 34# This makes the following: 35# programs 36# includes 37# libraries (normal/debug/profile/shared) 38# 39# The variable 'srcdir' refers to the source-distribution, and can be set with 40# the configure script by "--srcdir=DIR". 41# 42# The rules are organized to produce the libraries for the configured models, 43# and the programs with the configured default model. 44 45# turn off _all_ suffix rules; we'll generate our own 46.SUFFIXES: 47 48SHELL = /bin/sh 49THIS = Makefile 50 51CF_MFLAGS = @cf_cv_makeflags@ 52@SET_MAKE@ 53 54x = @EXEEXT@ 55o = .@OBJEXT@ 56 57MODEL = @DFT_LWR_MODEL@ 58DESTDIR = @DESTDIR@ 59top_srcdir = @top_srcdir@ 60srcdir = @srcdir@ 61prefix = @prefix@ 62exec_prefix = @exec_prefix@ 63bindir = @bindir@ 64libdir = @libdir@ 65includedir = @includedir@ 66datadir = @datadir@ 67 68LIBTOOL = @LIBTOOL@ 69LIBTOOL_CLEAN = @LIB_CLEAN@ 70LIBTOOL_COMPILE = @LIB_COMPILE@ 71LIBTOOL_LINK = @LIB_LINK@ 72LIBTOOL_INSTALL = @LIB_INSTALL@ 73LIBTOOL_UNINSTALL = @LIB_UNINSTALL@ 74 75INSTALL = @INSTALL@ 76INSTALL_LIB = @INSTALL@ @INSTALL_LIB@ 77INSTALL_PROG = @INSTALL_PROGRAM@ 78INSTALL_DATA = @INSTALL_DATA@ 79 80AR = @AR@ 81AR_OPTS = @AR_OPTS@ 82AWK = @AWK@ 83LD = @LD@ 84LN_S = @LN_S@ 85 86CC = @CC@ 87CPP = @CPP@ 88CFLAGS = @CFLAGS@ 89 90INCDIR = $(srcdir)/../include 91CPPFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) @CPPFLAGS@ 92 93CCFLAGS = $(CPPFLAGS) $(CFLAGS) 94 95BUILD_CPPFLAGS = -I../include @BUILD_CPPFLAGS@ 96BUILD_CC = @BUILD_CC@ 97BUILD_CCFLAGS = -DHAVE_CONFIG_H -I../ncurses -I$(srcdir) -I$(INCDIR) $(BUILD_CPPFLAGS) @BUILD_CFLAGS@ 98BUILD_LDFLAGS = @BUILD_LDFLAGS@ 99BUILD_LIBS = @BUILD_LIBS@ 100 101# The executables built in this directory are used for generating source that 102# is compiled into the build, or are test-programs that are not installed. 103 104BUILD_EXEEXT = @BUILD_EXEEXT@ 105x = @PROG_EXT@ 106 107CFLAGS_LIBTOOL = $(CCFLAGS) 108CFLAGS_NORMAL = $(CCFLAGS) 109CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE 110CFLAGS_PROFILE = $(CCFLAGS) -pg 111CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ 112 113CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) 114 115LINK = $(LIBTOOL) 116LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ 117 118SHLIB_DIRS = -L../lib 119SHLIB_LIST = $(SHLIB_DIRS) @SHLIB_LIST@ 120TINFO_LIST = $(SHLIB_DIRS) @TINFO_LIST@ 121TICS_LIST = $(SHLIB_DIRS) @TICS_LIST@ 122 123MK_SHARED_LIB = @MK_SHARED_LIB@ 124 125NCURSES_MAJOR = @NCURSES_MAJOR@ 126NCURSES_MINOR = @NCURSES_MINOR@ 127REL_VERSION = @cf_cv_rel_version@ 128ABI_VERSION = @cf_cv_abi_version@ 129 130RANLIB = @LIB_PREP@ 131 132LIBRARIES = @LIBS_TO_MAKE@ 133 134LINT = @LINT@ 135LINT_OPTS = @LINT_OPTS@ 136LINT_LIBS = -lncurses @LIBS@ 137 138FALLBACK_LIST = @FALLBACK_LIST@ 139 140USE_BIG_STRINGS = @USE_BIG_STRINGS@ 141TERMINFO_CAPS = $(top_srcdir)/include/@TERMINFO_CAPS@ 142 143AUTO_SRC = \ 144 ./codes.c \ 145 ./comp_captab.c \ 146 ./expanded.c \ 147 ./fallback.c \ 148 ./lib_gen.c \ 149 ./lib_keyname.c \ 150 ./link_test.c \ 151 ./names.c \ 152 ./unctrl.c \ 153 init_keytry.h \ 154 keys.list 155 156TEST_DEPS = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@ 157TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@ 158TEST_LDFLAGS = @LD_MODEL@ $(TEST_ARGS) @LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@ 159 160TEST_PROGS = \ 161 captoinfo$x \ 162 hardscroll$x \ 163 link_test$x \ 164 hashmap$x \ 165 lib_mvcur$x 166 167base = $(srcdir)/base 168serial = $(srcdir)/tty 169tinfo = $(srcdir)/tinfo 170trace = $(srcdir)/trace 171wide = $(srcdir)/widechar 172 173################################################################################ 174all \ 175libs :: $(AUTO_SRC) ../lib $(LIBRARIES) 176 177sources: $(AUTO_SRC) 178 179$(DESTDIR)$(bindir) \ 180$(DESTDIR)$(libdir) : 181 sh $(srcdir)/../mkdirs.sh $@ 182 183../lib : ; mkdir $@ 184 185./fallback.c : $(tinfo)/MKfallback.sh 186 sh -e $(tinfo)/MKfallback.sh @TERMINFO@ @TERMINFO_SRC@ $(FALLBACK_LIST) >$@ 187 188./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h 189 sh -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@ 190 191init_keytry.h: make_keys$(BUILD_EXEEXT) keys.list 192 ./make_keys$(BUILD_EXEEXT) keys.list > $@ 193 194keys.list : $(tinfo)/MKkeys_list.sh 195 AWK=$(AWK) sh $(tinfo)/MKkeys_list.sh $(TERMINFO_CAPS) | sort >$@ 196 197make_keys$(BUILD_EXEEXT) : \ 198 $(tinfo)/make_keys.c \ 199 names.c 200 $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS) 201 202make_hash$(BUILD_EXEEXT) : \ 203 $(tinfo)/comp_hash.c \ 204 ../include/hashsize.h 205 $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS) 206 207./expanded.c : $(serial)/MKexpanded.sh 208 sh -e $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@ 209 210./comp_captab.c: \ 211 make_hash$(BUILD_EXEEXT) \ 212 ../include/hashsize.h \ 213 $(tinfo)/MKcaptab.sh \ 214 $(tinfo)/MKcaptab.awk 215 sh -e $(tinfo)/MKcaptab.sh $(AWK) $(USE_BIG_STRINGS) $(tinfo)/MKcaptab.awk $(srcdir)/../include/@TERMINFO_CAPS@ > $@ 216 217./lib_keyname.c: keys.list $(base)/MKkeyname.awk 218 $(AWK) -f $(base)/MKkeyname.awk bigstrings=$(USE_BIG_STRINGS) keys.list > $@ 219 220./codes.c: $(tinfo)/MKcodes.awk 221 $(AWK) -f $(tinfo)/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) $(srcdir)/../include/@TERMINFO_CAPS@ >$@ 222 223./names.c: $(tinfo)/MKnames.awk 224 $(AWK) -f $(tinfo)/MKnames.awk bigstrings=$(USE_BIG_STRINGS) $(srcdir)/../include/@TERMINFO_CAPS@ >$@ 225 226./unctrl.c: $(base)/MKunctrl.awk 227 echo | $(AWK) -f $(base)/MKunctrl.awk bigstrings=$(USE_BIG_STRINGS) >$@ 228 229tags: 230 ctags *.[ch] */*.[ch] 231 232@MAKE_UPPER_TAGS@TAGS: 233@MAKE_UPPER_TAGS@ etags *.[ch] */*.[ch] 234 235mostlyclean :: 236 -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace 237 -rm -f $(TEST_PROGS) 238 239clean :: mostlyclean 240 -rm -f $(AUTO_SRC) 241 -rm -f make_keys$(BUILD_EXEEXT) 242 -rm -f make_hash$(BUILD_EXEEXT) 243 -rm -rf .libs 244 245distclean :: clean 246 -rm -f Makefile 247 248realclean :: distclean 249 250# These rules are used to allow "make -n" to work on a clean directory-tree 251../include/hashsize.h \ 252../include/parametrized.h \ 253../include/term.h : 254 cd ../include; $(MAKE) $(CF_MFLAGS) 255 256# These rules build test-programs for the modules that have test-drivers 257test_progs : $(TEST_PROGS) 258 259./link_test.c : $(base)/MKlib_gen.sh ../include/curses.h 260 sh -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@ 261 262captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS) 263 @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS) 264 265hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS) 266 @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS) 267 268hashmap$x : $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_DEPS) 269 @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS) 270 271lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \ 272 ../@DFT_OBJ_SUBDIR@/dump_entry$o 273 @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS) 274 275link_test$x : ./link_test.c $(TEST_DEPS) \ 276 ../@DFT_OBJ_SUBDIR@/link_test$o 277 @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) ../@DFT_OBJ_SUBDIR@/link_test$o $(TEST_LDFLAGS) 278 279../@DFT_OBJ_SUBDIR@/dump_entry$o: 280 cd ../progs && $(MAKE) ../@DFT_OBJ_SUBDIR@/dump_entry$o 281 282############################################################################### 283# The remainder of this file is automatically generated during configuration 284############################################################################### 285