ncurses 5.7 - patch 20100904
[ncurses.git] / c++ / Makefile.in
1 # $Id: Makefile.in,v 1.92 2010/09/04 21:29:06 tom Exp $
2 ##############################################################################
3 # Copyright (c) 1998-2009,2010 Free Software Foundation, Inc.                #
4 #                                                                            #
5 # Permission is hereby granted, free of charge, to any person obtaining a    #
6 # copy of this software and associated documentation files (the "Software"), #
7 # to deal in the Software without restriction, including without limitation  #
8 # the rights to use, copy, modify, merge, publish, distribute, distribute    #
9 # with modifications, sublicense, and/or sell copies of the Software, and to #
10 # permit persons to whom the Software is furnished to do so, subject to the  #
11 # following conditions:                                                      #
12 #                                                                            #
13 # The above copyright notice and this permission notice shall be included in #
14 # all copies or substantial portions of the Software.                        #
15 #                                                                            #
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
19 # THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
21 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
22 # DEALINGS IN THE SOFTWARE.                                                  #
23 #                                                                            #
24 # Except as contained in this notice, the name(s) of the above copyright     #
25 # holders shall not be used in advertising or otherwise to promote the sale, #
26 # use or other dealings in this Software without prior written               #
27 # authorization.                                                             #
28 ##############################################################################
29 #
30 # Author: Thomas E. Dickey
31 #
32 #  Simple makefile for c++ window class demo
33
34 # turn off _all_ suffix rules; we'll generate our own
35 .SUFFIXES:
36
37 SHELL           = /bin/sh
38
39 CF_MFLAGS       = @cf_cv_makeflags@
40 @SET_MAKE@
41 x               = @EXEEXT@
42 o               = .@OBJEXT@
43
44 MODEL           = ../@DFT_OBJ_SUBDIR@
45 DESTDIR         = @DESTDIR@
46 srcdir          = @srcdir@
47 prefix          = @prefix@
48 exec_prefix     = @exec_prefix@
49 libdir          = @libdir@
50 includedir      = @includedir@
51
52 LIBTOOL         = @LIBTOOL_CXX@
53 LIBTOOL_CLEAN   = @LIB_CLEAN@
54 LIBTOOL_COMPILE = @LIB_COMPILE@
55 LIBTOOL_LINK    = @LIB_LINK@
56 LIBTOOL_INSTALL = @LIB_INSTALL@
57 LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
58 LIBTOOL_VERSION = @LIBTOOL_VERSION@
59 LT_UNDEF        = @LT_UNDEF@
60
61 INSTALL         = @INSTALL@
62 INSTALL_LIB     = @INSTALL@ @INSTALL_LIB@
63 INSTALL_DATA    = @INSTALL_DATA@
64
65 AR              = @AR@
66 ARFLAGS         = @ARFLAGS@
67
68 CXX_AR          = @CXX_AR@
69 CXX_ARFLAGS     = @CXX_ARFLAGS@
70 RANLIB          = @LIB_PREP@
71
72 CXX             = @CXX@
73 CPP             = @CXXCPP@
74 CXXFLAGS        = @CXXFLAGS@ @EXTRA_CXXFLAGS@
75 CXXLIBS         = @CXXLIBS@
76
77 INCDIR          = ../include
78 CPPFLAGS        = -I../c++ -I$(INCDIR) -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
79
80 CTAGS           = @CTAGS@
81 ETAGS           = @ETAGS@
82
83 CC              = ${CXX}
84 CCFLAGS         = $(CPPFLAGS) $(CXXFLAGS)
85
86 CFLAGS_LIBTOOL  = $(CCFLAGS)
87 CFLAGS_NORMAL   = $(CCFLAGS)
88 CFLAGS_DEBUG    = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
89 CFLAGS_PROFILE  = $(CCFLAGS) -pg
90 CFLAGS_SHARED   = $(CCFLAGS) @CC_SHARED_OPTS@
91
92 CFLAGS_DEFAULT  = $(CFLAGS_@DFT_UPR_MODEL@)
93
94 NCURSES_MAJOR   = @NCURSES_MAJOR@
95 NCURSES_MINOR   = @NCURSES_MINOR@
96 REL_VERSION     = @cf_cv_rel_version@
97 ABI_VERSION     = @cf_cv_abi_version@
98
99 LOCAL_LIBDIR    = @top_builddir@/lib
100
101 LINK            = @LINK_PROGS@ $(LIBTOOL_LINK) @CXXLDFLAGS@
102 SHLIB_DIRS      = -L../lib
103 SHLIB_LIST      = $(SHLIB_DIRS) -lform@LIB_SUFFIX@ -lmenu@LIB_SUFFIX@ -lpanel@LIB_SUFFIX@ -lncurses@LIB_SUFFIX@ @SHLIB_LIST@
104
105 LIBROOT         = ncurses++
106
107 LIBNAME_LIBTOOL = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.la
108 LIBNAME_NORMAL  = @LIB_PREFIX@$(LIBROOT)@LIB_SUFFIX@.a
109 LIBNAME         = @LIB_PREFIX@$(LIBROOT)@CXX_LIB_SUFFIX@
110
111 MY_LIBRARY      = ../lib/$(LIBNAME)
112
113 LINK_FLAGS      = @EXTRA_LDFLAGS@ -L../lib -l$(LIBROOT)@LIB_SUFFIX@
114
115 LINK_LIBTOOL    = @EXTRA_LDFLAGS@ -L../lib $(MY_LIBRARY)
116 LINK_NORMAL     = $(LINK_FLAGS)
117 LINK_DEBUG      = $(LINK_FLAGS)
118 LINK_PROFILE    = $(LINK_FLAGS)
119 LINK_SHARED     = $(LINK_FLAGS)
120
121 TEST_LIBS       = @TEST_LIBS@
122 TEST_ARGS       = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@ 
123
124 LDFLAGS         = $(TEST_ARGS) @LDFLAGS@ \
125         @LD_MODEL@ $(TEST_LIBS) @LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
126
127 LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL)
128 LDFLAGS_NORMAL  = $(LDFLAGS) $(CFLAGS_NORMAL)
129 LDFLAGS_DEBUG   = $(LDFLAGS) $(CFLAGS_DEBUG)
130 LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
131 LDFLAGS_SHARED  = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
132
133 LDFLAGS_DEFAULT = $(LINK_@DFT_UPR_MODEL@) $(LDFLAGS_@DFT_UPR_MODEL@)
134
135 AUTO_SRC        = \
136                 etip.h
137
138 all \
139 libs ::         $(AUTO_SRC) $(MY_LIBRARY)
140
141 @MAKE_TESTS@all ::              demo$x
142
143 sources :       $(AUTO_SRC)
144
145 depend :
146
147 tags:
148         $(CTAGS) *.[h] *.cc
149
150 # Build a conventional library for installing, since a shared library would
151 # pull in all of the ncurses libraries (panel, menu, form, ncurses) as direct
152 # dependencies.
153 LIB_OBJS = \
154         $(MODEL)/cursesf$o \
155         $(MODEL)/cursesm$o \
156         $(MODEL)/cursesw$o \
157         $(MODEL)/cursespad$o \
158         $(MODEL)/cursesp$o \
159         $(MODEL)/cursslk$o \
160         $(MODEL)/cursesapp$o \
161         $(MODEL)/cursesmain$o
162
163 ../lib/$(LIBNAME_NORMAL) : $(LIB_OBJS)
164         $(CXX_AR) $(CXX_ARFLAGS) $@ $?
165         $(RANLIB) $@
166
167 ../lib/$(LIBNAME_LIBTOOL) : $(LIB_OBJS)
168         cd ../lib && $(LIBTOOL_LINK) $(CXX) $(CXXFLAGS) \
169                 -o $(LIBNAME) $(LIB_OBJS:$o=.lo) \
170                 -rpath $(INSTALL_PREFIX)$(libdir) \
171                 $(LIBTOOL_VERSION) $(NCURSES_MAJOR):$(NCURSES_MINOR) $(LT_UNDEF) $(SHLIB_LIST)
172
173 OBJS_DEMO = $(MODEL)/demo$o
174
175 $(MODEL)/demo$o : $(srcdir)/demo.cc \
176         $(cursesf_h) $(cursesm_h) $(cursesapp_h)
177
178 demo$x: $(OBJS_DEMO) \
179         $(MY_LIBRARY)  \
180         @TEST_DEPS@
181         @ECHO_LINK@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
182
183 etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
184         cp $(srcdir)/etip.h.in $@
185         sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
186
187 $(DESTDIR)$(libdir) :
188         mkdir -p $@
189
190 install \
191 install.libs:: $(MY_LIBRARY) $(DESTDIR)$(libdir)
192         $(LIBTOOL_INSTALL) $(INSTALL_LIB) $(MY_LIBRARY) $(DESTDIR)$(libdir)/$(LIBNAME)
193
194 uninstall \
195 uninstall.libs::
196         -$(LIBTOOL_UNINSTALL) rm -f $(DESTDIR)$(libdir)/$(LIBNAME)
197
198 mostlyclean ::
199         -rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
200
201 clean :: mostlyclean
202         -sh -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
203         -rm -rf $(MODEL)/SunWS_cache
204         -$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(MY_LIBRARY) $(LIB_OBJS) $(OBJS_DEMO)
205         -rm -rf .libs
206
207 distclean :: clean
208         -rm -f Makefile
209
210 realclean :: distclean
211
212 ###############################################################################
213
214 cursesw_h       = $(srcdir)/cursesw.h \
215                   etip.h \
216                   $(INCDIR)/curses.h
217
218 cursesp_h       = $(srcdir)/cursesp.h \
219                   $(cursesw_h) \
220                   $(INCDIR)/panel.h
221
222 cursesf_h       = $(srcdir)/cursesf.h \
223                   $(cursesp_h) \
224                   $(INCDIR)/form.h
225
226 cursesm_h       = $(srcdir)/cursesm.h \
227                   $(cursesp_h) \
228                   $(INCDIR)/menu.h
229
230 cursslk_h       = $(srcdir)/cursslk.h \
231                   $(cursesw_h)
232
233 cursesapp_h     = $(srcdir)/cursesapp.h \
234                   $(cursslk_h)
235
236 $(INCDIR)/form.h :
237         cd ../form && $(MAKE) $@
238
239 $(INCDIR)/menu.h :
240         cd ../menu && $(MAKE) $@
241
242 $(INCDIR)/panel.h :
243         cd ../panel && $(MAKE) $@
244
245 ###############################################################################
246 # The remainder of this file is automatically generated during configuration
247 ###############################################################################