blob: 351383b0ebc9c3395a7e58539cee0a576bde5fbb [file] [log] [blame]
micky3879b9f5e72025-07-08 18:04:53 -04001# $Id: Makefile.in,v 1.53 2021/07/03 18:56:51 tom Exp $
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05302##############################################################################
micky3879b9f5e72025-07-08 18:04:53 -04003# Copyright 2019-2020,2021 Thomas E. Dickey #
4# Copyright 1998-2013,2015 Free Software Foundation, Inc. #
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05305# #
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#
micky3879b9f5e72025-07-08 18:04:53 -040031# Author: Thomas E. Dickey 1996-on
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053032#
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
Steve Kondikae271bc2015-11-15 02:50:53 +010043SHELL = @SHELL@
44VPATH = @srcdir@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053045THIS = Makefile
46
47DESTDIR = @DESTDIR@
48srcdir = @srcdir@
49prefix = @prefix@
50exec_prefix = @exec_prefix@
51includedir = @includedir@
Steve Kondikae271bc2015-11-15 02:50:53 +010052includesubdir = @includesubdir@
53
54INCLUDEDIR = $(DESTDIR)$(includedir)$(includesubdir)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053055
56INSTALL = @INSTALL@
57INSTALL_DATA = @INSTALL_DATA@
58
59AWK = @AWK@
60LN_S = @LN_S@
61
micky3879b9f5e72025-07-08 18:04:53 -040062CC = @CC@
63CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
64CPPFLAGS = -DHAVE_CONFIG_H -I. @CPPFLAGS@
65
Steve Kondikae271bc2015-11-15 02:50:53 +010066CTAGS = @CTAGS@
67ETAGS = @ETAGS@
68
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053069VERSION = @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@
micky3879b9f5e72025-07-08 18:04:53 -040074CAPLIST = $(TERMINFO_CAPS) \
75 $(srcdir)/Caps-ncurses
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053076
77# These files are generated by the configure script
78CONFIG_SRC = \
79 MKterm.h.awk \
80 curses.head \
Steve Kondikae271bc2015-11-15 02:50:53 +010081 ncurses_dll.h \
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053082 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 \
Steve Kondikae271bc2015-11-15 02:50:53 +010091 config.h \
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053092 term.h
93
94################################################################################
micky3879b9f5e72025-07-08 18:04:53 -040095
96@MAKE_PHONY@.PHONY : all
97@MAKE_PHONY@.PHONY : check
98@MAKE_PHONY@.PHONY : clean
99@MAKE_PHONY@.PHONY : depend
100@MAKE_PHONY@.PHONY : distclean
101@MAKE_PHONY@.PHONY : install
102@MAKE_PHONY@.PHONY : install.libs
103@MAKE_PHONY@.PHONY : libs
104@MAKE_PHONY@.PHONY : mostlyclean
105@MAKE_PHONY@.PHONY : realclean
106@MAKE_PHONY@.PHONY : sources
107@MAKE_PHONY@.PHONY : uninstall
108@MAKE_PHONY@.PHONY : uninstall.libs
109
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530110all \
111libs \
112depend \
113sources \
114install :: $(AUTO_SRC)
115
micky3879b9f5e72025-07-08 18:04:53 -0400116curses.h : $(CAPLIST) \
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530117 curses.head \
118 $(srcdir)/curses.tail \
119 $(srcdir)/MKkey_defs.sh
120 cat curses.head >$@
micky3879b9f5e72025-07-08 18:04:53 -0400121 AWK=$(AWK) $(SHELL) $(srcdir)/MKkey_defs.sh $(CAPLIST) >>$@
122 $(SHELL) -c 'if test "@NCURSES_WGETCH_EVENTS@" = "1" ; then cat $(srcdir)/curses.events >>$@ ; fi'
Steve Kondikae271bc2015-11-15 02:50:53 +0100123 $(SHELL) -c 'if test "@NCURSES_CH_T@" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi'
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530124 cat $(srcdir)/curses.tail >>$@
125
micky3879b9f5e72025-07-08 18:04:53 -0400126term.h: $(CAPLIST) \
127 MKterm.h.awk
128 $(AWK) -f MKterm.h.awk $(CAPLIST) > $@
Steve Kondikae271bc2015-11-15 02:50:53 +0100129 $(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530130
micky3879b9f5e72025-07-08 18:04:53 -0400131hashsize.h: $(CAPLIST) \
132 $(srcdir)/MKhashsize.sh
133 $(SHELL) $(srcdir)/MKhashsize.sh $(CAPLIST) >$@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530134
135ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
Steve Kondikae271bc2015-11-15 02:50:53 +0100136 AWK=$(AWK) $(SHELL) $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530137
micky3879b9f5e72025-07-08 18:04:53 -0400138parametrized.h: $(CAPLIST) \
139 $(srcdir)/MKparametrized.sh
140 AWK=$(AWK) $(SHELL) $(srcdir)/MKparametrized.sh $(CAPLIST) >$@
Steve Kondikae271bc2015-11-15 02:50:53 +0100141
142# This is required by pthread.h on MinGW
143config.h:
144 touch $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530145
146tags:
Steve Kondikae271bc2015-11-15 02:50:53 +0100147 $(CTAGS) *.[ch]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530148
149@MAKE_UPPER_TAGS@TAGS:
Steve Kondikae271bc2015-11-15 02:50:53 +0100150@MAKE_UPPER_TAGS@ $(ETAGS) *.[ch]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530151
152mostlyclean ::
153 -rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
154
155clean :: mostlyclean
156 -rm -f $(AUTO_SRC)
Steve Kondikae271bc2015-11-15 02:50:53 +0100157 -rm -rf *.dSYM
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530158
159distclean :: clean
Steve Kondikae271bc2015-11-15 02:50:53 +0100160 -rm -f Makefile $(CONFIG_SRC) config.h
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530161
162realclean :: distclean
163
micky3879b9f5e72025-07-08 18:04:53 -0400164# Verify that each header-file can be compiled without including another.
165check:
166 @$(SHELL) -c "for header in *.h;\
167 do \
168 echo \"** testing \$${header}\" ; \
169 echo \"#include <\$${header}>\" >headers.c; \
170 echo \"int main(void) { return 0; }\" >>headers.c; \
171 $(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \
172 done"
173 -@rm -f headers.*
174
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530175###############################################################################
176# The remainder of this file is automatically generated during configuration
177###############################################################################