]> ncurses.scripts.mit.edu Git - ncurses.git/blob - Ada95/gen/Makefile.in
ncurses 6.3 - patch 20211225
[ncurses.git] / Ada95 / gen / Makefile.in
1 ##############################################################################
2 # Copyright 2019-2020,2021 Thomas E. Dickey                                  #
3 # Copyright 1998-2015,2018 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:  Juergen Pfeifer, 1996
31 #     and:  Thomas E. Dickey, 1997
32 #
33 #  $Id: Makefile.in,v 1.98 2021/12/25 22:34:44 tom Exp $
34 #
35 .SUFFIXES:
36
37 SHELL           = @SHELL@
38 VPATH           = @srcdir@
39 THIS            = Makefile
40
41 x               = @EXEEXT@
42
43 top_srcdir      = @top_srcdir@
44 DESTDIR         = @DESTDIR@
45 srcdir          = @srcdir@
46 prefix          = @prefix@
47 exec_prefix     = @exec_prefix@
48 bindir          = @bindir@
49 includedir      = @includedir@
50
51 INSTALL         = @INSTALL@ @INSTALL_OPT_O@
52 INSTALL_SCRIPT  = @INSTALL_SCRIPT@
53 INSTALL_DATA    = @INSTALL_DATA@
54
55 AWK             = @AWK@
56 LN_S            = @LN_S@
57
58 CC              = @CC@
59 HOST_CC         = @BUILD_CC@
60
61 CFLAGS          = @CFLAGS@ @EXTRA_CFLAGS@
62 HOST_CFLAGS     = @BUILD_CFLAGS@
63
64 CPPFLAGS        = @CPPFLAGS@
65 HOST_CPPFLAGS   = @ACPPFLAGS@ @BUILD_CPPFLAGS@ \
66                   -DHAVE_CONFIG_H -I$(srcdir)
67
68 CCFLAGS         = $(HOST_CPPFLAGS) $(HOST_CFLAGS)
69 CFLAGS_NORMAL   = $(CCFLAGS) -DNCURSES_STATIC
70 CFLAGS_DEBUG    = $(CCFLAGS) -DNCURSES_STATIC @CC_G_OPT@ -DTRACE
71 CFLAGS_PROFILE  = $(CCFLAGS) -DNCURSES_STATIC -pg
72 CFLAGS_SHARED   = $(CCFLAGS) @CC_SHARED_OPTS@
73
74 CFLAGS_DEFAULT  = $(CFLAGS_@DFT_UPR_MODEL@)
75
76 REL_VERSION     = @cf_cv_rel_version@
77 ABI_VERSION     = @cf_cv_abi_version@
78 LOCAL_LIBDIR    = @top_builddir@/lib
79
80 LINK            = $(HOST_CC)
81 LDFLAGS         = @LDFLAGS@
82 LIBS            = @LIBS@
83
84 # For the wide-character configuration combined with broken_linker, we need
85 # addresses of ACS_xxx constants, which requires linking with the newly built
86 # ncurses library.  If cross-compiling, the developer has to fill in a workable
87 # native library for this purpose.
88 NATIVE_LDFLAGS  = @LD_MODEL@ $(LOCAL_LIBS) @TINFO_LDFLAGS2@ $(LDFLAGS) @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_LIBS@
89 CROSS_LDFLAGS   = @BUILD_LDFLAGS@ @BUILD_LIBS@
90
91 ACTUAL_LDFLAGS  = @ADAGEN_LDFLAGS@
92
93 RANLIB          = @RANLIB@
94
95 M4              = m4
96 M4FLAGS         = -DNCURSES_EXT_FUNCS=@NCURSES_EXT_FUNCS@
97
98 ADACURSES_CONFIG = adacurses@USE_CFG_SUFFIX@-config
99
100 WRAPPER         = @NCURSES_SHLIB2@
101
102 PROG_GENERATE   = ./generate$x
103 GENERATE        = $(PROG_GENERATE) '@USE_ARG_SUFFIX@'
104 DEL_ADAMODE     = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
105
106 GNATHTML        = `type -p gnathtml || type -p gnathtml.pl 2>/dev/null`
107 GNATHP          = www.gnat.com
108
109 ################################################################################
110 ALIB            = @cf_ada_package@
111 ABASE           = $(ALIB)-curses
112
113 ADA_SRCDIR      = ../src
114
115 GEN_TARGETS     = $(ADA_SRCDIR)/$(ABASE).ads                            \
116                   $(ADA_SRCDIR)/$(ABASE).adb                            \
117                   $(ADA_SRCDIR)/$(ABASE)-aux.ads                        \
118                   $(ADA_SRCDIR)/$(ABASE)-trace.ads                      \
119                   $(ADA_SRCDIR)/$(ABASE)-menus.ads                      \
120                   $(ADA_SRCDIR)/$(ABASE)-forms.ads                      \
121                   $(ADA_SRCDIR)/$(ABASE)-mouse.ads                      \
122                   $(ADA_SRCDIR)/$(ABASE)-panels.ads                     \
123                   $(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads       \
124                   $(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads       \
125                   $(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads       \
126                   $(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads          \
127                   $(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads      \
128                   $(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads           \
129                   $(ADA_SRCDIR)/$(ABASE)_constants.ads
130
131 GEN_SRC         = $(srcdir)/$(ABASE).ads.m4                             \
132                   $(srcdir)/$(ABASE).adb.m4                             \
133                   $(srcdir)/$(ABASE)-aux.ads.m4                         \
134                   $(srcdir)/$(ABASE)-trace.ads.m4                       \
135                   $(srcdir)/$(ABASE)-menus.ads.m4                       \
136                   $(srcdir)/$(ABASE)-forms.ads.m4                       \
137                   $(srcdir)/$(ABASE)-mouse.ads.m4                       \
138                   $(srcdir)/$(ABASE)-panels.ads.m4                      \
139                   $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4        \
140                   $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4        \
141                   $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4        \
142                   $(srcdir)/$(ABASE)-forms-field_types.ads.m4           \
143                   $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4       \
144                   $(srcdir)/$(ABASE)-panels-user_data.ads.m4
145
146 ################################################################################
147
148 @MAKE_PHONY@.PHONY :    all
149 @MAKE_PHONY@.PHONY :    clean
150 @MAKE_PHONY@.PHONY :    distclean
151 @MAKE_PHONY@.PHONY :    install
152 @MAKE_PHONY@.PHONY :    install.libs
153 @MAKE_PHONY@.PHONY :    libs
154 @MAKE_PHONY@.PHONY :    mostlyclean
155 @MAKE_PHONY@.PHONY :    realclean
156 @MAKE_PHONY@.PHONY :    sources
157 @MAKE_PHONY@.PHONY :    uninstall
158 @MAKE_PHONY@.PHONY :    uninstall.libs
159
160 all \
161 libs :  $(GEN_TARGETS)
162         @echo made $@
163
164 sources:
165
166 $(DESTDIR)$(bindir) :
167         mkdir -p $@
168
169 install \
170 install.libs :: $(DESTDIR)$(bindir) $(ADACURSES_CONFIG)
171         $(INSTALL_SCRIPT) $(ADACURSES_CONFIG) $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
172
173 uninstall \
174 uninstall.libs ::
175         -rm -f $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
176
177 $(PROG_GENERATE):  gen.o
178         @ECHO_LD@ $(LINK) $(CFLAGS_NORMAL) gen.o $(ACTUAL_LDFLAGS) -o $@
179
180 gen.o:  $(srcdir)/gen.c
181         $(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
182
183 $(ADA_SRCDIR)/$(ABASE)_constants.ads: $(PROG_GENERATE)
184         $(WRAPPER) "$(GENERATE) $@"
185 ################################################################################
186 $(ADA_SRCDIR)/$(ABASE).ads:     $(srcdir)/$(ABASE).ads.m4 \
187                                 $(srcdir)/normal.m4
188         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
189         $(srcdir)/$(ABASE).ads.m4 |\
190         $(DEL_ADAMODE) >$@
191
192 $(ADA_SRCDIR)/$(ABASE).adb:     $(srcdir)/$(ABASE).adb.m4 \
193                                 $(srcdir)/normal.m4
194         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
195         $(srcdir)/$(ABASE).adb.m4 |\
196         $(DEL_ADAMODE) >$@
197
198 $(ADA_SRCDIR)/$(ABASE)-aux.ads: $(srcdir)/$(ABASE)-aux.ads.m4 \
199                                 $(srcdir)/normal.m4
200         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
201         $(srcdir)/$(ABASE)-aux.ads.m4 |\
202         $(DEL_ADAMODE) >$@
203
204 $(ADA_SRCDIR)/$(ABASE)-trace.ads: $(srcdir)/$(ABASE)-trace.ads.m4 \
205                                   $(srcdir)/normal.m4
206         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
207         $(srcdir)/$(ABASE)-trace.ads.m4 |\
208         $(DEL_ADAMODE) >$@
209
210 $(ADA_SRCDIR)/$(ABASE)-menus.ads: $(srcdir)/$(ABASE)-menus.ads.m4 \
211                                   $(srcdir)/normal.m4
212         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
213         $(srcdir)/$(ABASE)-menus.ads.m4 |\
214         $(DEL_ADAMODE) >$@
215
216 $(ADA_SRCDIR)/$(ABASE)-forms.ads: $(srcdir)/$(ABASE)-forms.ads.m4 \
217                                   $(srcdir)/normal.m4
218         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
219         $(srcdir)/$(ABASE)-forms.ads.m4 |\
220         $(DEL_ADAMODE) >$@
221
222 $(ADA_SRCDIR)/$(ABASE)-mouse.ads: $(srcdir)/$(ABASE)-mouse.ads.m4 \
223                                   $(srcdir)/normal.m4
224         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
225         $(srcdir)/$(ABASE)-mouse.ads.m4 |\
226         $(DEL_ADAMODE) >$@
227
228 $(ADA_SRCDIR)/$(ABASE)-panels.ads: $(srcdir)/$(ABASE)-panels.ads.m4 \
229                                    $(srcdir)/normal.m4
230         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
231         $(srcdir)/$(ABASE)-panels.ads.m4 |\
232         $(DEL_ADAMODE) >$@
233
234 $(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads: \
235                 $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \
236                 $(srcdir)/normal.m4
237         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
238         $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 |\
239         $(DEL_ADAMODE) >$@
240
241 $(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads: \
242                 $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \
243                 $(srcdir)/normal.m4
244         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
245         $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 |\
246         $(DEL_ADAMODE) >$@
247
248 $(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads: \
249                 $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \
250                 $(srcdir)/normal.m4
251         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
252         $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 |\
253         $(DEL_ADAMODE) >$@
254
255 $(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads: \
256                 $(srcdir)/$(ABASE)-forms-field_types.ads.m4 \
257                 $(srcdir)/normal.m4
258         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
259         $(srcdir)/$(ABASE)-forms-field_types.ads.m4 |\
260         $(DEL_ADAMODE) >$@
261
262 $(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads: \
263                 $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \
264                 $(srcdir)/normal.m4
265         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
266         $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 |\
267         $(DEL_ADAMODE) >$@
268
269 $(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads: \
270                 $(srcdir)/$(ABASE)-panels-user_data.ads.m4 \
271                 $(srcdir)/normal.m4
272         $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
273         $(srcdir)/$(ABASE)-panels-user_data.ads.m4 |\
274         $(DEL_ADAMODE) >$@
275
276 install.progs ::
277
278 tags:
279         ctags *.[ch]
280
281 @MAKE_UPPER_TAGS@TAGS:
282 @MAKE_UPPER_TAGS@       etags *.[ch]
283
284 mostlyclean ::
285         -rm -f a.out core $(PROG_GENERATE) *.o
286
287 clean :: mostlyclean
288         -rm -f $(GEN_TARGETS) instab.tmp *.ad[bs] *.html *.ali *.tmp
289
290 distclean :: clean
291         -rm -f $(ADACURSES_CONFIG)
292         -rm -f Makefile
293
294 realclean :: distclean
295
296 HTML_DIR = @ADAHTML_DIR@
297
298 instab.tmp : table.m4 $(GEN_SRC)
299         @rm -f $@
300         @for f in $(GEN_SRC) ; do \
301           $(M4) $(M4FLAGS) -DM4MACRO=table.m4 $$f | $(DEL_ADAMODE) >> $@ ;\
302         done;
303
304 TABLE_TITLE=Correspondence between ncurses C and Ada functions
305
306 $(HTML_DIR)/table.html : instab.tmp
307         @-touch $@
308         @-chmod +w $@
309         @echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">' > $@
310         @echo '<html>' >> $@
311         @echo '<head>' >> $@
312         @echo '<title>$(TABLE_TITLE)</title>' >>$@
313         @echo '</head>' >> $@
314         @echo '<body>' >> $@
315         @echo '<h1>$(TABLE_TITLE)</h1>' >>$@
316         @echo '<h2>Sorted by C function name</h2>' >>$@
317         @echo '<table align="center" border summary="$(TABLE_TITLE)">' >>$@
318         @echo '<tr align="left">' >>$@
319         @echo '<th>C name</th><th>Ada name</th><th>man page</th></tr>' >>$@
320         @sort < instab.tmp >> $@
321         @echo '</table></body></html>' >>$@
322         @rm -f instab.tmp
323
324 adahtml:
325         test -n "$(GNATHTML)" || exit 1
326         @find $(HTML_DIR) -type f -exec rm -f {} \;
327         @mkdir -p $(HTML_DIR)
328         ( cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb] )
329 @USE_OLD_MAKERULES@     ln -sf ../src/*.ali .
330 @USE_GNAT_PROJECTS@     ln -sf ../static-ali/*.ali .
331         @echo "Filtering generated files"
332         @for f in $(GEN_SRC); do \
333            h=`basename $$f` ;\
334            g=`basename $$f .ads.m4` ;\
335            if test "$$g" != "$$h" ; then \
336               $(M4) $(M4FLAGS) -DM4MACRO=html.m4 $$f | $(DEL_ADAMODE) > $$g.ads ;\
337               echo "... $$g.ads" ;\
338            fi \
339         done
340         @-rm -f $(HTML_DIR)/$(ALIB)*.htm*
341         $(GNATHTML) -d -f $(ALIB)*.ads
342         for f in html/$(ALIB)*.htm*; do \
343            a=`basename $$f` ; \
344            sed -e 's/You may also.*body.*//' <$$f |\
345            sed -e 's%GNAT%<A HREF="http://$(GNATHP)">GNAT</A>%g' |\
346            sed -e 's%&lt;A HREF%<A HREF%g' |\
347            sed -e 's%"&gt;%">%g' |\
348            sed -e 's%#1A\([[:space:]]*NAME="[^"]*"\)#2%<A\1>%' |\
349            sed -e 's%#1/A#2%</A>%' |\
350            sed -e 's/3X/3x/g' |\
351            sed -e 's/$$\([ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxz0123456789_]*:.*\)\$$/@\1@/' |\
352            sed -e 's%&lt;/A&gt;%</A>%g' > $$a.tmp ;\
353            mv $$a.tmp $$f ;\
354         done
355         @rm -f *.ad[sb] *.ali *.tmp
356         @for f in funcs.htm main.htm ; do \
357           sed -e "\%<A HREF=funcs/ .htm>\[ \]</A>%d" < html/$$f > $$f ;\
358           mv $$f html/$$f ;\
359         done
360         @rm -f "html/funcs/ .htm"
361         @cp -pdrf html/* $(HTML_DIR)/
362         @rm -rf html
363
364 html : adahtml $(HTML_DIR)/table.html
365         @echo made $@
366
367 ###############################################################################
368 # The remainder of this file is automatically generated during configuration
369 ###############################################################################