ncurses 5.0
[ncurses.git] / c++ / Makefile.in
1 # $Id: Makefile.in,v 1.51 1999/10/23 20:13:02 tom Exp $
2 ##############################################################################
3 # Copyright (c) 1998,1999 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 <dickey@clark.net> 1996,1997
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               = @PROG_EXT@
42
43 MODEL           = ../@DFT_OBJ_SUBDIR@
44 INSTALL_PREFIX  = @INSTALL_PREFIX@
45 srcdir          = @srcdir@
46 prefix          = @prefix@
47 exec_prefix     = @exec_prefix@
48 libdir          = @libdir@
49 includedir      = @includedir@
50
51 INSTALL         = @INSTALL@
52 INSTALL_DATA    = @INSTALL_DATA@
53
54 AR              = @AR@
55 AR_OPTS         = @AR_OPTS@
56 RANLIB          = @RANLIB@
57
58 CXX             = @CXX@
59 CXXFLAGS        = @CXXFLAGS@
60 CXXLIBS         = @CXXLIBS@
61
62 INCDIR          = ../include
63 CPPFLAGS        = -I../c++ -I$(INCDIR) -I$(srcdir) -DHAVE_CONFIG_H @CPPFLAGS@
64
65 CCFLAGS         = $(CPPFLAGS) $(CXXFLAGS)
66
67 CFLAGS_NORMAL   = $(CCFLAGS)
68 CFLAGS_DEBUG    = $(CCFLAGS) @CXX_G_OPT@ -DTRACE
69 CFLAGS_PROFILE  = $(CCFLAGS) -pg
70 CFLAGS_SHARED   = $(CCFLAGS) @CC_SHARED_OPTS@
71
72 CFLAGS_DEFAULT  = $(CFLAGS_@DFT_UPR_MODEL@)
73
74 REL_VERSION     = @cf_cv_rel_version@
75 ABI_VERSION     = @cf_cv_abi_version@
76
77 LINK            = @LINK_PROGS@ $(CXX) @CXXLDFLAGS@
78
79 LIBROOT = ncurses++
80 LIBNAME = @LIB_PREFIX@$(LIBROOT).a
81
82 LDFLAGS         = @EXTRA_LDFLAGS@ -L../lib -L$(libdir) \
83         -l$(LIBROOT) \
84         @TEST_ARGS@ @LDFLAGS@ \
85         @LD_MODEL@ @LIBS@ @EXTRA_LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
86
87 LDFLAGS_NORMAL  = $(LDFLAGS)
88 LDFLAGS_DEBUG   = $(LDFLAGS) @CC_G_OPT@
89 LDFLAGS_PROFILE = $(LDFLAGS) -pg
90 LDFLAGS_SHARED  = $(LDFLAGS) @LD_SHARED_OPTS@
91
92 LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
93
94 AUTO_SRC        = \
95                 etip.h
96
97 all:            $(AUTO_SRC) ../lib/$(LIBNAME) demo$x
98
99 sources :       $(AUTO_SRC)
100
101 # Build a conventional library for installing, since a shared library would
102 # pull in all of the ncurses libraries (panel, menu, form, ncurses) as direct
103 # dependencies.
104 LIB_OBJS = \
105         $(MODEL)/cursesf.o \
106         $(MODEL)/cursesm.o \
107         $(MODEL)/cursesw.o \
108         $(MODEL)/cursespad.o \
109         $(MODEL)/cursesp.o \
110         $(MODEL)/cursslk.o \
111         $(MODEL)/cursesapp.o \
112         $(MODEL)/cursesmain.o
113
114 ../lib/$(LIBNAME) : $(LIB_OBJS)
115         $(AR) $(AR_OPTS) $@ $?
116         $(RANLIB) $@
117
118 OBJS_DEMO = $(MODEL)/demo.o
119
120 $(MODEL)/demo.o : $(srcdir)/demo.cc \
121         $(cursesf_h) $(cursesm_h) $(cursesapp_h)
122
123 demo$x: $(OBJS_DEMO) \
124         ../lib/$(LIBNAME)  \
125         @TEST_DEPS@
126         @ECHO_LINK@ $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
127
128 etip.h: $(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
129         cp $(srcdir)/etip.h.in $@
130         sh $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
131
132 $(INSTALL_PREFIX)$(libdir) :
133         $(srcdir)/../mkinstalldirs $@
134
135 install \
136 install.libs:: ../lib/$(LIBNAME) $(INSTALL_PREFIX)$(libdir)
137         $(INSTALL) ../lib/$(LIBNAME) $(INSTALL_PREFIX)$(libdir)/$(LIBNAME)
138
139 uninstall \
140 uninstall.libs::
141         -rm -f $(INSTALL_PREFIX)$(libdir)/$(LIBNAME)
142
143 mostlyclean ::
144         -rm -f core tags TAGS *~ *.ln *.atac trace
145
146 clean :: mostlyclean
147         -rm -f demo$x $(AUTO_SRC) ../lib/$(LIBNAME) $(LIB_OBJS) $(OBJS_DEMO)
148
149 distclean :: clean
150         -rm -f Makefile
151
152 realclean :: distclean
153
154 ###############################################################################
155
156 cursesw_h       = $(srcdir)/cursesw.h \
157                   etip.h \
158                   $(INCDIR)/curses.h
159
160 cursesp_h       = $(srcdir)/cursesp.h \
161                   $(cursesw_h) \
162                   $(INCDIR)/panel.h
163
164 cursesf_h       = $(srcdir)/cursesf.h \
165                   $(cursesp_h) \
166                   $(INCDIR)/form.h
167
168 cursesm_h       = $(srcdir)/cursesm.h \
169                   $(cursesp_h) \
170                   $(INCDIR)/menu.h
171
172 cursslk_h       = $(srcdir)/cursslk.h \
173                   $(cursesw_h)
174
175 cursesapp_h     = $(srcdir)/cursesapp.h \
176                   $(cursslk_h)
177
178 $(INCDIR)/form.h :
179         cd ../form && $(MAKE) $@
180
181 $(INCDIR)/menu.h :
182         cd ../menu && $(MAKE) $@
183
184 $(INCDIR)/panel.h :
185         cd ../panel && $(MAKE) $@
186
187 ###############################################################################
188 # The remainder of this file is automatically generated during configuration
189 ###############################################################################