1 # $Id: Makefile.in,v 1.133 2021/07/03 18:53:57 tom Exp $
2 ##############################################################################
3 # Copyright 2018-2020,2021 Thomas E. Dickey #
4 # Copyright 1998-2015,2016 Free Software Foundation, Inc. #
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: #
14 # The above copyright notice and this permission notice shall be included in #
15 # all copies or substantial portions of the Software. #
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. #
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 #
29 ##############################################################################
31 # Author: Thomas E. Dickey
33 # Simple makefile for c++ window class demo
35 # turn off _all_ suffix rules; we'll generate our own
41 CF_MFLAGS = @cf_cv_makeflags@
46 MODEL = ../@DFT_OBJ_SUBDIR@
48 top_srcdir = @top_srcdir@
51 exec_prefix = @exec_prefix@
54 includedir = @includedir@
55 includesubdir = @includesubdir@
57 INCLUDEDIR = $(DESTDIR)$(includedir)$(includesubdir)
61 LIBTOOL = @LIBTOOL_CXX@
62 LIBTOOL_OPTS = @LIBTOOL_OPTS@ @LIBTOOL_OPTS_CXX@
63 LIBTOOL_CLEAN = @LIB_CLEAN@
64 LIBTOOL_COMPILE = @LIB_COMPILE@
65 LIBTOOL_LINK = @LIB_LINK@
66 LIBTOOL_INSTALL = @LIB_INSTALL@
67 LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
68 LIBTOOL_VERSION = @LIBTOOL_VERSION@
72 INSTALL_LIB = $(INSTALL) @INSTALL_LIB@
73 INSTALL_DATA = @INSTALL_DATA@
74 INSTALL_OPT_P = @INSTALL_OPT_P@
83 CXX_ARFLAGS = @CXX_ARFLAGS@
88 CXXFLAGS = @CXXFLAGS@ @EXTRA_CXXFLAGS@
92 CPPFLAGS = -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ @CPPFLAGS@
98 CCFLAGS = $(CPPFLAGS) $(CXXFLAGS)
100 CFLAGS_LIBTOOL = $(CCFLAGS)
101 CFLAGS_NORMAL = $(CCFLAGS) -DNCURSES_STATIC
102 CFLAGS_DEBUG = $(CCFLAGS) -DNCURSES_STATIC @CXX_G_OPT@ -DTRACE
103 CFLAGS_PROFILE = $(CCFLAGS) -DNCURSES_STATIC -pg
104 CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
106 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
108 NCURSES_MAJOR = @NCURSES_MAJOR@
109 NCURSES_MINOR = @NCURSES_MINOR@
110 REL_VERSION = @cf_cv_rel_version@
111 ABI_VERSION = @cf_cv_abi_version@
113 LOCAL_LIBDIR = @top_builddir@/lib
115 LINK = @LINK_PROGS@ $(LIBTOOL_LINK) @CXXLDFLAGS@
116 SHLIB_DIRS = -L../lib
117 SHLIB_LIST = $(SHLIB_DIRS) \
118 -l@FORM_NAME@@USE_LIB_SUFFIX@ \
119 -l@MENU_NAME@@USE_LIB_SUFFIX@ \
120 -l@PANEL_NAME@@USE_LIB_SUFFIX@ \
121 -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
125 LIBNAME_LIBTOOL = @LIB_PREFIX@$(LIBROOT)@USE_LIB_SUFFIX@.la
126 LIBNAME_NORMAL = @LIB_PREFIX@$(LIBROOT)@USE_LIB_SUFFIX@.a
127 LIBNAME = @LIB_PREFIX@$(LIBROOT)@CXX_LIB_SUFFIX@
129 LIBRARIES = @Libs_To_Make@
132 LINT_OPTS = @LINT_OPTS@
133 LINT_LIBS = -lncurses @LIBS@
135 LINK_FLAGS = @EXTRA_LDFLAGS@ -L../lib -l$(LIBROOT)@USE_LIB_SUFFIX@
136 RPATH_LIST = @RPATH_LIST@
137 MK_SHARED_LIB = @MK_SHARED_LIB@
139 LINK_LIBTOOL = @EXTRA_LDFLAGS@ -L../lib $(LIBRARIES)
140 LINK_NORMAL = $(LINK_FLAGS)
141 LINK_DEBUG = $(LINK_FLAGS)
142 LINK_PROFILE = $(LINK_FLAGS)
143 LINK_SHARED = $(LINK_FLAGS)
145 # flags for test-programs
146 TEST_LIBS = @TEST_LIBS@
147 TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
148 TEST_LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
149 @LD_MODEL@ $(TEST_LIBS) @LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
151 LDFLAGS_LIBTOOL = $(TEST_LDFLAGS) $(CFLAGS_LIBTOOL)
152 LDFLAGS_NORMAL = $(TEST_LDFLAGS) $(CFLAGS_NORMAL)
153 LDFLAGS_DEBUG = $(TEST_LDFLAGS) $(CFLAGS_DEBUG)
154 LDFLAGS_PROFILE = $(TEST_LDFLAGS) $(CFLAGS_PROFILE)
155 LDFLAGS_SHARED = $(TEST_LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
157 LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
159 # flags for library built by this makefile
160 LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
161 @LD_MODEL@ $(TEST_LIBS) @LIBS@ $(CXXLIBS)
166 ################################################################################
168 @MAKE_PHONY@.PHONY : all
169 @MAKE_PHONY@.PHONY : check
170 @MAKE_PHONY@.PHONY : clean
171 @MAKE_PHONY@.PHONY : depend
172 @MAKE_PHONY@.PHONY : distclean
173 @MAKE_PHONY@.PHONY : install
174 @MAKE_PHONY@.PHONY : install.libs
175 @MAKE_PHONY@.PHONY : libs
176 @MAKE_PHONY@.PHONY : mostlyclean
177 @MAKE_PHONY@.PHONY : realclean
178 @MAKE_PHONY@.PHONY : sources
179 @MAKE_PHONY@.PHONY : uninstall
180 @MAKE_PHONY@.PHONY : uninstall.libs
183 libs :: $(AUTO_SRC) $(LIBRARIES)
185 @MAKE_TESTS@all :: demo$x
189 sources : $(AUTO_SRC)
194 $(DESTDIR)$(libdir) :
198 -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
201 -$(SHELL) -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
202 -rm -rf $(MODEL)/SunWS_cache
203 -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(LIBRARIES) $(OBJS_DEMO)
209 realclean :: distclean
211 ###############################################################################
213 HEADER_DEPS = @INTERNALS_HDR@ \
215 ../include/curses.h \
219 ../include/ncurses_cfg.h \
220 ../include/ncurses_def.h \
221 ../include/ncurses_dll.h \
223 ../include/unctrl.h \
224 $(INCDIR)/nc_string.h \
225 $(srcdir)/cursesp.h \
226 $(srcdir)/cursesw.h \
227 $(srcdir)/cursslk.h \
230 cursesw_h = $(srcdir)/cursesw.h \
233 cursesp_h = $(srcdir)/cursesp.h \
236 cursesf_h = $(srcdir)/cursesf.h \
239 cursesm_h = $(srcdir)/cursesm.h \
242 cursslk_h = $(srcdir)/cursslk.h \
245 cursesapp_h = $(srcdir)/cursesapp.h \
249 ( cd ../form && $(MAKE) $@ )
252 ( cd ../menu && $(MAKE) $@ )
255 ( cd ../panel && $(MAKE) $@ )
257 ###############################################################################
259 OBJS_DEMO = $(MODEL)/demo$o
261 $(MODEL)/demo$o : $(srcdir)/demo.cc \
266 @echo 'compiling demo (obj_s)'
267 @( cd $(MODEL) && $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEFAULT) -c $(top_srcdir)/c++/demo.cc -o $@ )
269 demo$x: $(OBJS_DEMO) \
272 @ECHO_LD@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
274 etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
275 cp $(srcdir)/etip.h.in $@
276 $(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
278 # Verify that each header-file can be compiled without including another.
280 @$(SHELL) -c "for header in *.h;\
282 [ \$${header} = etip.h ] && continue; \
283 echo \"** testing \$${header}\" ; \
284 echo \"#include <\$${header}>\" >headers.cc; \
285 echo \"int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }\" >>headers.cc; \
286 $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) headers.cc; \
290 ###############################################################################
291 # The remainder of this file is automatically generated during configuration
292 ###############################################################################