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