xref: /src/contrib/ncurses/misc/Makefile.in (revision 68ad2b0d7af2a3571c4abac9afa712f9b09b721c)
1# $Id: Makefile.in,v 1.88 2025/12/25 22:26:15 tom Exp $
2##############################################################################
3# Copyright 2018-2024,2025 Thomas E. Dickey                                  #
4# Copyright 1998-2016,2017 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 miscellany directory
34#
35# This makes/installs the terminfo database
36#
37# The variable 'srcdir' refers to the source-distribution, and can be set with
38# the configure script by "--srcdir=DIR".
39#
40# The rules are organized to produce the libraries for the configured models,
41# and the programs with the configured default model.
42
43# turn off _all_ suffix rules; we'll generate our own
44.SUFFIXES :
45
46SHELL		= @SHELL@
47VPATH		= @srcdir@
48THIS		= Makefile
49
50@SET_MAKE@
51@SET_DESTDIR@
52
53top_srcdir	= @top_srcdir@
54srcdir		= @srcdir@
55prefix		= @prefix@
56exec_prefix	= @exec_prefix@
57bindir		= @bindir@
58libdir		= @libdir@
59datarootdir	= @datarootdir@
60datadir		= @datadir@
61includesubdir	= @includesubdir@
62
63INCLUDEDIR	= $(DESTDIR)$(includedir@MERGE_PREFIX@)$(includesubdir)
64
65tabsetdir	= $(datadir)/tabset
66ticdir		= @TERMINFO@
67ticfile		= $(ticdir).db
68source		= @TERMINFO_SRC@
69
70INSTALL		= @INSTALL@
71INSTALL_PROGRAM	= @INSTALL_PROGRAM@
72INSTALL_SCRIPT	= @INSTALL_SCRIPT@
73INSTALL_DATA	= @INSTALL_DATA@
74
75PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
76
77BINDIR		= $(DESTDIR)$(bindir@MERGE_PREFIX@)
78DATADIR		= $(DESTDIR)$(datadir@MERGE_PREFIX@)
79
80@MAKE_DATABASE@INSTALL_PREFIX	= $(DESTDIR)$(prefix@MERGE_PREFIX@)
81@MAKE_DATABASE@LIBDIR		= $(DESTDIR)$(libdir@MERGE_PREFIX@)
82@MAKE_DATABASE@TICDIR		= $(DESTDIR)$(ticdir@MERGE_PREFIX@)
83@MAKE_DATABASE@TICFILE		= $(DESTDIR)$(ticfile@MERGE_PREFIX@)
84@MAKE_DATABASE@TABSETDIR	= $(DESTDIR)$(tabsetdir@MERGE_PREFIX@)
85
86@MAKE_PC_FILES@INSTALL_CONFIG	= $(DESTDIR)$(PKG_CONFIG_LIBDIR@MERGE_PREFIX@)
87
88################################################################################
89
90@MAKE_PHONY@.PHONY :	all
91@MAKE_PHONY@.PHONY :	check
92@MAKE_PHONY@.PHONY :	clean
93@MAKE_PHONY@.PHONY :	depend
94@MAKE_PHONY@.PHONY :	distclean
95@MAKE_PHONY@.PHONY :	install
96@MAKE_PHONY@.PHONY :	install.data
97@MAKE_PHONY@.PHONY :	install.libs
98@MAKE_PHONY@.PHONY :	libs
99@MAKE_PHONY@.PHONY :	mostlyclean
100@MAKE_PHONY@.PHONY :	realclean
101@MAKE_PHONY@.PHONY :	sources
102@MAKE_PHONY@.PHONY :	uninstall
103@MAKE_PHONY@.PHONY :	uninstall.data
104@MAKE_PHONY@.PHONY :	uninstall.libs
105
106all \
107depend \
108sources ::
109
110check ::
111	@echo "no unit-test implemented"
112
113@MAKE_DATABASE@all \
114@MAKE_DATABASE@sources :: terminfo.tmp
115
116@MAKE_DATABASE@install :: @MISC_INSTALL_DATA@
117
118@MAKE_DATABASE@install.data ::	terminfo.tmp \
119@MAKE_DATABASE@		$(LIBDIR) \
120@MAKE_DATABASE@		$(DATADIR) \
121@MAKE_DATABASE@		$(TABSETDIR)
122@MAKE_DATABASE@	INSTALL_PREFIX=${INSTALL_PREFIX} \
123@MAKE_DATABASE@	TICDIR=${TICDIR} \
124@MAKE_DATABASE@	BINDIR=${BINDIR} \
125@MAKE_DATABASE@	tic_source=terminfo.tmp \
126@MAKE_DATABASE@	$(SHELL) ./run_tic.sh
127@MAKE_DATABASE@	@( cd $(srcdir)/tabset && \
128@MAKE_DATABASE@		$(SHELL) -c 'for i in * ; do \
129@MAKE_DATABASE@			if test -f $$i ; then \
130@MAKE_DATABASE@			echo installing $$i; \
131@MAKE_DATABASE@			$(INSTALL_DATA) $$i $(TABSETDIR)/$$i; \
132@MAKE_DATABASE@			fi; done' )
133install.data ::
134	@echo "finished $@"
135
136NCURSES_CONFIG	= ncurses@DFT_ARG_SUFFIX@@cf_cv_abi_version@@cf_config_suffix@-config
137
138install \
139install.libs :: $(BINDIR) ncurses-config
140	$(INSTALL_SCRIPT) ncurses-config $(BINDIR)/$(NCURSES_CONFIG)
141
142# Make a list of the files that gen-pkgconfig might create:
143@MAKE_PC_FILES@PC_FILES = \
144@MAKE_PC_FILES@	@LIB_NAME@@USE_ARG_SUFFIX@@PC_MODULE_SUFFIX@.pc \
145@MAKE_PC_FILES@	@TINFO_ARG_SUFFIX@@PC_MODULE_SUFFIX@.pc \
146@MAKE_PC_FILES@	@TICS_NAME@@USE_ARG_SUFFIX@@PC_MODULE_SUFFIX@.pc \
147@MAKE_PC_FILES@	@PANEL_NAME@@USE_ARG_SUFFIX@@PC_MODULE_SUFFIX@.pc \
148@MAKE_PC_FILES@	@MENU_NAME@@USE_ARG_SUFFIX@@PC_MODULE_SUFFIX@.pc \
149@MAKE_PC_FILES@	@FORM_NAME@@USE_ARG_SUFFIX@@PC_MODULE_SUFFIX@.pc \
150@MAKE_PC_FILES@	@CXX_NAME@@USE_ARG_SUFFIX@@PC_MODULE_SUFFIX@.pc
151
152# some packagers prefer to be able to construct pc-files on servers where
153# pkg-config is not installed.  Work around that by creating the library
154# directory during this rule:
155@MAKE_PC_FILES@install \
156@MAKE_PC_FILES@install.libs :: pc-files
157@MAKE_PC_FILES@	@$(SHELL) -c 'case "x$(PKG_CONFIG_LIBDIR)" in \
158@MAKE_PC_FILES@		x@GLOB_FULLPATH_POSIX@|x@GLOB_FULLPATH_OTHER@) \
159@MAKE_PC_FILES@			mkdir -p $(INSTALL_CONFIG); \
160@MAKE_PC_FILES@			for name in $(PC_FILES); do \
161@MAKE_PC_FILES@				test -f $$name || continue; \
162@MAKE_PC_FILES@				echo installing $$name; \
163@MAKE_PC_FILES@				$(INSTALL_DATA) $$name $(INSTALL_CONFIG)/$$name; \
164@MAKE_PC_FILES@			done \
165@MAKE_PC_FILES@			;; \
166@MAKE_PC_FILES@		*) \
167@MAKE_PC_FILES@			echo "...skip actual install: no destination was given" ; \
168@MAKE_PC_FILES@			;; \
169@MAKE_PC_FILES@		esac'
170
171@MAKE_PC_FILES@all \
172@MAKE_PC_FILES@sources :: pc-files
173@MAKE_PC_FILES@pc-files :
174@MAKE_PC_FILES@	$(SHELL) ./gen-pkgconfig
175@MAKE_PC_FILES@	-touch $@
176
177terminfo.tmp : run_tic.sed $(source)
178	echo '** adjusting tabset paths'
179	sed -f run_tic.sed $(source) >terminfo.tmp
180
181run_tic.sed :
182	WHICH_XTERM=@WHICH_XTERM@ \
183	XTERM_KBS=@XTERM_KBS@ \
184	datadir=${datadir} \
185	$(SHELL) $(srcdir)/gen_edit.sh >$@
186
187$(BINDIR) \
188$(DATADIR) :
189	mkdir -p $@
190
191@MAKE_DATABASE@$(LIBDIR) \
192@MAKE_DATABASE@$(TABSETDIR) :
193@MAKE_DATABASE@	mkdir -p $@
194
195uninstall : @MISC_UNINSTALL_DATA@ uninstall.libs
196
197uninstall.data :
198@MAKE_DATABASE@	-$(SHELL) -c 'if test -d $(TABSETDIR) ; then rm -rf $(TABSETDIR); fi'
199@MAKE_DATABASE@	-$(SHELL) -c 'if test -d $(TICDIR) ; then rm -rf $(TICDIR); fi'
200@MAKE_DATABASE@	-$(SHELL) -c 'if test -f $(TICFILE) ; then rm -f $(TICFILE); fi'
201
202uninstall.libs :
203	-rm -f $(BINDIR)/$(NCURSES_CONFIG)
204@MAKE_PC_FILES@	@$(SHELL) -c 'case x$(INSTALL_CONFIG) in \
205@MAKE_PC_FILES@	x@GLOB_FULLPATH_POSIX@|x@GLOB_FULLPATH_OTHER@) \
206@MAKE_PC_FILES@		for name in $(PC_FILES); do \
207@MAKE_PC_FILES@			test -f $$name || continue; \
208@MAKE_PC_FILES@			echo uninstalling $$name; \
209@MAKE_PC_FILES@			rm -f $(INSTALL_CONFIG)/$$name; \
210@MAKE_PC_FILES@		done \
211@MAKE_PC_FILES@		;; \
212@MAKE_PC_FILES@	esac'
213
214tags :
215
216@MAKE_UPPER_TAGS@TAGS :
217
218mostlyclean :
219@MAKE_DATABASE@	-rm -f terminfo.tmp
220@MAKE_DATABASE@	-rm -f run_tic.sed
221@MAKE_PC_FILES@	-rm -f pc-files $(PC_FILES)
222	-rm -f core tags TAGS *~ *.bak *.ln *.atac trace
223
224clean :: mostlyclean
225
226distclean : clean
227@MAKE_PC_FILES@	-rm -f gen-pkgconfig
228	-rm -f Makefile run_tic.sh ncurses-config
229
230realclean : distclean
231
232###############################################################################
233# The remainder of this file is automatically generated during configuration
234###############################################################################
235