1# $Id: Makefile.in,v 1.51 2020/09/18 22:55:10 tom Exp $ 2############################################################################## 3# Copyright 2019,2020 Thomas E. Dickey # 4# Copyright 1998-2013,2015 Free Software Foundation, Inc. # 5# # 6# Permission is hereby granted, free of charge, to any person obtaining a # 7# copy of this software and associated documentation files (the "Software"), # 8# to deal in the Software without restriction, including without limitation # 9# the rights to use, copy, modify, merge, publish, distribute, distribute # 10# with modifications, sublicense, and/or sell copies of the Software, and to # 11# permit persons to whom the Software is furnished to do so, subject to the # 12# following conditions: # 13# # 14# The above copyright notice and this permission notice shall be included in # 15# all copies or substantial portions of the Software. # 16# # 17# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # 18# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # 19# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # 20# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # 21# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # 22# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # 23# DEALINGS IN THE SOFTWARE. # 24# # 25# Except as contained in this notice, the name(s) of the above copyright # 26# holders shall not be used in advertising or otherwise to promote the sale, # 27# use or other dealings in this Software without prior written # 28# authorization. # 29############################################################################## 30# 31# Author: Thomas E. Dickey 1996-on 32# 33# Makefile for ncurses source code. 34# 35# This makes/installs ncurses include-files 36# 37# The variable 'srcdir' refers to the source-distribution, and can be set with 38# the configure script by "--srcdir=DIR". 39 40# turn off _all_ suffix rules; we'll generate our own 41.SUFFIXES: 42 43SHELL = @SHELL@ 44VPATH = @srcdir@ 45THIS = Makefile 46 47DESTDIR = @DESTDIR@ 48srcdir = @srcdir@ 49prefix = @prefix@ 50exec_prefix = @exec_prefix@ 51includedir = @includedir@ 52includesubdir = @includesubdir@ 53 54INCLUDEDIR = $(DESTDIR)$(includedir)$(includesubdir) 55 56INSTALL = @INSTALL@ 57INSTALL_DATA = @INSTALL_DATA@ 58 59AWK = @AWK@ 60LN_S = @LN_S@ 61 62CC = @CC@ 63CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@ 64CPPFLAGS = -DHAVE_CONFIG_H -I. @CPPFLAGS@ 65 66CTAGS = @CTAGS@ 67ETAGS = @ETAGS@ 68 69VERSION = @cf_cv_rel_version@ 70 71# The "Caps" file specifies the terminfo database format, as well as the list 72# of function keys. 73TERMINFO_CAPS = $(srcdir)/@TERMINFO_CAPS@ 74CAPLIST = $(TERMINFO_CAPS) \ 75 $(srcdir)/Caps-ncurses 76 77# These files are generated by the configure script 78CONFIG_SRC = \ 79 MKterm.h.awk \ 80 curses.head \ 81 ncurses_dll.h \ 82 termcap.h \ 83 unctrl.h 84 85# These files are generated by this makefile 86AUTO_SRC = \ 87 curses.h \ 88 hashsize.h \ 89 ncurses_def.h \ 90 parametrized.h \ 91 config.h \ 92 term.h 93 94################################################################################ 95all \ 96libs \ 97depend \ 98sources \ 99install :: $(AUTO_SRC) 100 101curses.h : $(CAPLIST) \ 102 curses.head \ 103 $(srcdir)/curses.tail \ 104 $(srcdir)/MKkey_defs.sh 105 cat curses.head >$@ 106 AWK=$(AWK) $(SHELL) $(srcdir)/MKkey_defs.sh $(CAPLIST) >>$@ 107 $(SHELL) -c 'if test "@NCURSES_WGETCH_EVENTS@" = "1" ; then cat $(srcdir)/curses.events >>$@ ; fi' 108 $(SHELL) -c 'if test "@NCURSES_CH_T@" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi' 109 cat $(srcdir)/curses.tail >>$@ 110 111term.h: $(CAPLIST) \ 112 MKterm.h.awk 113 $(AWK) -f MKterm.h.awk $(CAPLIST) > $@ 114 $(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@ 115 116hashsize.h: $(CAPLIST) \ 117 $(srcdir)/MKhashsize.sh 118 $(SHELL) $(srcdir)/MKhashsize.sh $(CAPLIST) >$@ 119 120ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh 121 AWK=$(AWK) $(SHELL) $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@ 122 123parametrized.h: $(CAPLIST) \ 124 $(srcdir)/MKparametrized.sh 125 AWK=$(AWK) $(SHELL) $(srcdir)/MKparametrized.sh $(CAPLIST) >$@ 126 127# This is required by pthread.h on MinGW 128config.h: 129 touch $@ 130 131tags: 132 $(CTAGS) *.[ch] 133 134@MAKE_UPPER_TAGS@TAGS: 135@MAKE_UPPER_TAGS@ $(ETAGS) *.[ch] 136 137mostlyclean :: 138 -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace 139 140clean :: mostlyclean 141 -rm -f $(AUTO_SRC) 142 -rm -rf *.dSYM 143 144distclean :: clean 145 -rm -f Makefile $(CONFIG_SRC) config.h 146 147realclean :: distclean 148 149# Verify that each header-file can be compiled without including another. 150check: 151 @$(SHELL) -c "for header in *.h;\ 152 do \ 153 echo \"** testing \$${header}\" ; \ 154 echo \"#include <\$${header}>\" >headers.c; \ 155 echo \"int main(void) { return 0; }\" >>headers.c; \ 156 $(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \ 157 done" 158 -@rm -f headers.* 159 160############################################################################### 161# The remainder of this file is automatically generated during configuration 162############################################################################### 163