]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - c++/Makefile.in
ncurses 6.2 - patch 20210626
[ncurses.git] / c++ / Makefile.in
index 04a7bf8c2d2098962cabf13ea262acf8a1bd930a..d7f0e129618a511c3de6208c9511f9b12bbf2971 100644 (file)
@@ -1,6 +1,7 @@
-# $Id: Makefile.in,v 1.103 2013/03/30 21:03:33 tom Exp $
+# $Id: Makefile.in,v 1.131 2021/06/17 21:11:08 tom Exp $
 ##############################################################################
-# Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.                #
+# Copyright 2018-2020,2021 Thomas E. Dickey                                  #
+# Copyright 1998-2015,2016 Free Software Foundation, Inc.                    #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -34,7 +35,7 @@
 # turn off _all_ suffix rules; we'll generate our own
 .SUFFIXES:
 
-SHELL          = /bin/sh
+SHELL          = @SHELL@
 VPATH          = @srcdir@
 
 CF_MFLAGS      = @cf_cv_makeflags@
@@ -44,13 +45,21 @@ o           = .@OBJEXT@
 
 MODEL          = ../@DFT_OBJ_SUBDIR@
 DESTDIR                = @DESTDIR@
+top_srcdir     = @top_srcdir@
 srcdir         = @srcdir@
 prefix         = @prefix@
 exec_prefix    = @exec_prefix@
+bindir         = @bindir@
 libdir         = @libdir@
 includedir     = @includedir@
+includesubdir  = @includesubdir@
+
+INCLUDEDIR     = $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE                = @PACKAGE@
 
 LIBTOOL                = @LIBTOOL_CXX@
+LIBTOOL_OPTS   = @LIBTOOL_OPTS@ @LIBTOOL_OPTS_CXX@
 LIBTOOL_CLEAN  = @LIB_CLEAN@
 LIBTOOL_COMPILE        = @LIB_COMPILE@
 LIBTOOL_LINK   = @LIB_LINK@
@@ -60,8 +69,9 @@ LIBTOOL_VERSION = @LIBTOOL_VERSION@
 LT_UNDEF       = @LT_UNDEF@
 
 INSTALL                = @INSTALL@
-INSTALL_LIB    = @INSTALL@ @INSTALL_LIB@
+INSTALL_LIB    = $(INSTALL) @INSTALL_LIB@
 INSTALL_DATA   = @INSTALL_DATA@
+INSTALL_OPT_P  = @INSTALL_OPT_P@
 
 AR             = @AR@
 ARFLAGS                = @ARFLAGS@
@@ -79,7 +89,7 @@ CXXFLAGS      = @CXXFLAGS@ @EXTRA_CXXFLAGS@
 CXXLIBS                = @CXXLIBS@
 
 INCDIR         = ../include
-CPPFLAGS       = -I../c++ -I$(INCDIR) -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
+CPPFLAGS       = -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ @CPPFLAGS@
 
 CTAGS          = @CTAGS@
 ETAGS          = @ETAGS@
@@ -88,9 +98,9 @@ CC            = ${CXX}
 CCFLAGS                = $(CPPFLAGS) $(CXXFLAGS)
 
 CFLAGS_LIBTOOL = $(CCFLAGS)
-CFLAGS_NORMAL  = $(CCFLAGS)
-CFLAGS_DEBUG   = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
-CFLAGS_PROFILE = $(CCFLAGS) -pg
+CFLAGS_NORMAL  = $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG   = $(CCFLAGS) -DNCURSES_STATIC @CXX_G_OPT@ -DTRACE
+CFLAGS_PROFILE = $(CCFLAGS) -DNCURSES_STATIC -pg
 CFLAGS_SHARED  = $(CCFLAGS) @CC_SHARED_OPTS@
 
 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
@@ -104,17 +114,25 @@ LOCAL_LIBDIR      = @top_builddir@/lib
 
 LINK           = @LINK_PROGS@ $(LIBTOOL_LINK) @CXXLDFLAGS@
 SHLIB_DIRS     = -L../lib
-SHLIB_LIST     = $(SHLIB_DIRS) -lform@LIB_SUFFIX@ -lmenu@LIB_SUFFIX@ -lpanel@LIB_SUFFIX@ -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
+SHLIB_LIST     = $(SHLIB_DIRS) \
+               -l@FORM_NAME@@USE_LIB_SUFFIX@ \
+               -l@MENU_NAME@@USE_LIB_SUFFIX@ \
+               -l@PANEL_NAME@@USE_LIB_SUFFIX@ \
+               -lncurses@USE_LIB_SUFFIX@ @SHLIB_LIST@
 
 LIBROOT                = ncurses++
 
-LIBNAME_LIBTOOL        = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.la
-LIBNAME_NORMAL = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.a
+LIBNAME_LIBTOOL        = @LIB_PREFIX@$(LIBROOT)@USE_LIB_SUFFIX@.la
+LIBNAME_NORMAL = @LIB_PREFIX@$(LIBROOT)@USE_LIB_SUFFIX@.a
 LIBNAME                = @LIB_PREFIX@$(LIBROOT)@CXX_LIB_SUFFIX@
 
 LIBRARIES      = @Libs_To_Make@
 
-LINK_FLAGS     = @EXTRA_LDFLAGS@ -L../lib -l$(LIBROOT)@LIB_SUFFIX@
+LINT           = @LINT@
+LINT_OPTS      = @LINT_OPTS@
+LINT_LIBS      = -lncurses @LIBS@
+
+LINK_FLAGS     = @EXTRA_LDFLAGS@ -L../lib -l$(LIBROOT)@USE_LIB_SUFFIX@
 RPATH_LIST     = @RPATH_LIST@
 MK_SHARED_LIB  = @MK_SHARED_LIB@
 
@@ -126,7 +144,7 @@ LINK_SHARED = $(LINK_FLAGS)
 
 # flags for test-programs
 TEST_LIBS      = @TEST_LIBS@
-TEST_ARGS      = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@ 
+TEST_ARGS      = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
 TEST_LDFLAGS   = $(TEST_ARGS) @LDFLAGS@ \
        @LD_MODEL@ $(TEST_LIBS) @LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
 
@@ -157,25 +175,6 @@ depend :
 tags:
        $(CTAGS) *.[h] *.cc
 
-OBJS_DEMO = $(MODEL)/demo$o
-
-$(MODEL)/demo$o : $(srcdir)/demo.cc \
-               $(internal_h) \
-               $(cursesf_h) \
-               $(cursesm_h) \
-               $(cursesapp_h)
-       @echo 'compiling demo (obj_s)'
-       @$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEFAULT) -c $(srcdir)/demo.cc -o $@
-
-demo$x:        $(OBJS_DEMO) \
-       $(LIBRARIES)  \
-       @TEST_DEPS@
-       @ECHO_LD@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
-
-etip.h:        $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
-       cp $(srcdir)/etip.h.in $@
-       sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
-
 $(DESTDIR)$(libdir) :
        mkdir -p $@
 
@@ -183,10 +182,10 @@ mostlyclean ::
        -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
 
 clean :: mostlyclean
-       -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+       -$(SHELL) -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
        -rm -rf $(MODEL)/SunWS_cache
        -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(LIBRARIES) $(OBJS_DEMO)
-       -rm -rf .libs
+       -rm -rf .libs *.dSYM
 
 distclean :: clean
        -rm -f Makefile
@@ -195,29 +194,34 @@ realclean :: distclean
 
 ###############################################################################
 
-internal_h     = $(srcdir)/internal.h \
-                 $(INCDIR)/ncurses_cfg.h \
-                 $(INCDIR)/nc_mingw.h \
-                 $(INCDIR)/nc_string.h
-
-etip_h         = etip.h \
-                 $(INCDIR)/ncurses_dll.h
+HEADER_DEPS    = @INTERNALS_HDR@ \
+       etip.h \
+       ../include/curses.h \
+       ../include/eti.h \
+       ../include/form.h \
+       ../include/menu.h \
+       ../include/ncurses_cfg.h \
+       ../include/ncurses_def.h \
+       ../include/ncurses_dll.h \
+       ../include/panel.h \
+       ../include/unctrl.h \
+       $(INCDIR)/nc_string.h \
+       $(srcdir)/cursesp.h \
+       $(srcdir)/cursesw.h \
+       $(srcdir)/cursslk.h \
+       $(srcdir)/internal.h
 
 cursesw_h      = $(srcdir)/cursesw.h \
-                 $(etip_h) \
-                 $(INCDIR)/curses.h
+                 $(HEADER_DEPS)
 
 cursesp_h      = $(srcdir)/cursesp.h \
-                 $(cursesw_h) \
-                 $(INCDIR)/panel.h
+                 $(cursesw_h)
 
 cursesf_h      = $(srcdir)/cursesf.h \
-                 $(cursesp_h) \
-                 $(INCDIR)/form.h
+                 $(cursesp_h)
 
 cursesm_h      = $(srcdir)/cursesm.h \
-                 $(cursesp_h) \
-                 $(INCDIR)/menu.h
+                 $(cursesp_h)
 
 cursslk_h      = $(srcdir)/cursslk.h \
                  $(cursesw_h)
@@ -226,13 +230,46 @@ cursesapp_h       = $(srcdir)/cursesapp.h \
                  $(cursslk_h)
 
 $(INCDIR)/form.h :
-       cd ../form && $(MAKE) $@
+       ( cd ../form && $(MAKE) $@ )
 
 $(INCDIR)/menu.h :
-       cd ../menu && $(MAKE) $@
+       ( cd ../menu && $(MAKE) $@ )
 
 $(INCDIR)/panel.h :
-       cd ../panel && $(MAKE) $@
+       ( cd ../panel && $(MAKE) $@ )
+
+###############################################################################
+
+OBJS_DEMO = $(MODEL)/demo$o
+
+$(MODEL)/demo$o : $(srcdir)/demo.cc \
+               $(HEADER_DEPS) \
+               $(cursesf_h) \
+               $(cursesm_h) \
+               $(cursesapp_h)
+       @echo 'compiling demo (obj_s)'
+       @( cd $(MODEL) && $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEFAULT) -c $(top_srcdir)/c++/demo.cc -o $@ )
+
+demo$x:        $(OBJS_DEMO) \
+       $(LIBRARIES)  \
+       @TEST_DEPS@
+       @ECHO_LD@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
+
+etip.h:        $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
+       cp $(srcdir)/etip.h.in $@
+       $(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
+
+# Verify that each header-file can be compiled without including another.
+check::
+       @$(SHELL) -c "for header in *.h;\
+               do \
+                       [ \$${header} = etip.h ] && continue; \
+                       echo \"** testing \$${header}\" ; \
+                       echo \"#include <\$${header}>\" >headers.cc; \
+                       echo \"int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }\" >>headers.cc; \
+                       $(CXX) -c $(CXXFLAGS) $(CPPFLAGS) headers.cc; \
+               done"
+       -@rm -f headers.*
 
 ###############################################################################
 # The remainder of this file is automatically generated during configuration