blob: 48df318765670476c76f99dd3779b92b1eed4436 [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301##############################################################################
Steve Kondikae271bc2015-11-15 02:50:53 +01002# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. #
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05303# #
4# Permission is hereby granted, free of charge, to any person obtaining a #
5# copy of this software and associated documentation files (the "Software"), #
6# to deal in the Software without restriction, including without limitation #
7# the rights to use, copy, modify, merge, publish, distribute, distribute #
8# with modifications, sublicense, and/or sell copies of the Software, and to #
9# permit persons to whom the Software is furnished to do so, subject to the #
10# following conditions: #
11# #
12# The above copyright notice and this permission notice shall be included in #
13# all copies or substantial portions of the Software. #
14# #
15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
16# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
17# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
18# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
19# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
20# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
21# DEALINGS IN THE SOFTWARE. #
22# #
23# Except as contained in this notice, the name(s) of the above copyright #
24# holders shall not be used in advertising or otherwise to promote the sale, #
25# use or other dealings in this Software without prior written #
26# authorization. #
27##############################################################################
28#
29# Author: Juergen Pfeifer, 1996
30#
Steve Kondikae271bc2015-11-15 02:50:53 +010031# $Id: Makefile.in,v 1.85 2015/08/05 23:06:31 tom Exp $
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053032#
33.SUFFIXES:
34
Steve Kondikae271bc2015-11-15 02:50:53 +010035SHELL = @SHELL@
36VPATH = @srcdir@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053037THIS = Makefile
38
Steve Kondikae271bc2015-11-15 02:50:53 +010039x = @EXEEXT@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053040
41top_srcdir = @top_srcdir@
42DESTDIR = @DESTDIR@
43srcdir = @srcdir@
44prefix = @prefix@
45exec_prefix = @exec_prefix@
46bindir = @bindir@
Steve Kondikae271bc2015-11-15 02:50:53 +010047includedir = @includedir@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053048
49INSTALL = @INSTALL@
50INSTALL_PROG = @INSTALL_PROGRAM@
51INSTALL_DATA = @INSTALL_DATA@
52
53AWK = @AWK@
54LN_S = @LN_S@
55
56CC = @CC@
57HOST_CC = @BUILD_CC@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053058
Steve Kondikae271bc2015-11-15 02:50:53 +010059CFLAGS = @CFLAGS@
60HOST_CFLAGS = @BUILD_CFLAGS@
61
62CPPFLAGS = @CPPFLAGS@
63HOST_CPPFLAGS = @ACPPFLAGS@ @BUILD_CPPFLAGS@ \
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053064 -DHAVE_CONFIG_H -I$(srcdir)
65
Steve Kondikae271bc2015-11-15 02:50:53 +010066CCFLAGS = $(HOST_CPPFLAGS) $(HOST_CFLAGS)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053067CFLAGS_NORMAL = $(CCFLAGS)
68CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
69CFLAGS_PROFILE = $(CCFLAGS) -pg
70CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
71
72CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
73
74REL_VERSION = @cf_cv_rel_version@
75ABI_VERSION = @cf_cv_abi_version@
76LOCAL_LIBDIR = @top_builddir@/lib
77
78LINK = $(HOST_CC)
Steve Kondikae271bc2015-11-15 02:50:53 +010079LDFLAGS = @LDFLAGS@
80LIBS = @LIBS@
81
82# For the wide-character configuration combined with broken_linker, we need
83# addresses of ACS_xxx constants, which requires linking with the newly built
84# ncurses library. If cross-compiling, the developer has to fill in a workable
85# native library for this purpose.
86NATIVE_LDFLAGS = @LD_MODEL@ $(LOCAL_LIBS) @TINFO_LDFLAGS2@ $(LDFLAGS) @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_LIBS@
87CROSS_LDFLAGS = @BUILD_LDFLAGS@ @BUILD_LIBS@
88
89ACTUAL_LDFLAGS = @ADAGEN_LDFLAGS@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053090
91RANLIB = @RANLIB@
92
93M4 = m4
94M4FLAGS = -DNCURSES_EXT_FUNCS=@NCURSES_EXT_FUNCS@
95
Steve Kondikae271bc2015-11-15 02:50:53 +010096ADACURSES_CONFIG = adacurses@USE_CFG_SUFFIX@-config
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053097
Steve Kondikae271bc2015-11-15 02:50:53 +010098WRAPPER = @NCURSES_SHLIB2@
99
100PROG_GENERATE = ./generate$x
101GENERATE = $(PROG_GENERATE) '@DFT_ARG_SUFFIX@'
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530102DEL_ADAMODE = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
103
Steve Kondikae271bc2015-11-15 02:50:53 +0100104GNATHTML = `type -p gnathtml || type -p gnathtml.pl 2>/dev/null`
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530105GNATHP = www.gnat.com
106
107################################################################################
108ALIB = @cf_ada_package@
109ABASE = $(ALIB)-curses
110
111ADA_SRCDIR = ../src
112
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530113GEN_TARGETS = $(ADA_SRCDIR)/$(ABASE).ads \
114 $(ADA_SRCDIR)/$(ABASE).adb \
115 $(ADA_SRCDIR)/$(ABASE)-aux.ads \
116 $(ADA_SRCDIR)/$(ABASE)-trace.ads \
117 $(ADA_SRCDIR)/$(ABASE)-menus.ads \
118 $(ADA_SRCDIR)/$(ABASE)-forms.ads \
119 $(ADA_SRCDIR)/$(ABASE)-mouse.ads \
120 $(ADA_SRCDIR)/$(ABASE)-panels.ads \
121 $(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads \
122 $(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads \
123 $(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads \
124 $(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads \
125 $(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads \
Steve Kondikae271bc2015-11-15 02:50:53 +0100126 $(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads \
127 $(ADA_SRCDIR)/$(ABASE)_constants.ads
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530128
129GEN_SRC = $(srcdir)/$(ABASE).ads.m4 \
130 $(srcdir)/$(ABASE).adb.m4 \
131 $(srcdir)/$(ABASE)-aux.ads.m4 \
132 $(srcdir)/$(ABASE)-trace.ads.m4 \
133 $(srcdir)/$(ABASE)-menus.ads.m4 \
134 $(srcdir)/$(ABASE)-forms.ads.m4 \
135 $(srcdir)/$(ABASE)-mouse.ads.m4 \
136 $(srcdir)/$(ABASE)-panels.ads.m4 \
137 $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \
138 $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \
139 $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \
140 $(srcdir)/$(ABASE)-forms-field_types.ads.m4 \
141 $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \
142 $(srcdir)/$(ABASE)-panels-user_data.ads.m4
143
144
145all \
146libs : $(GEN_TARGETS)
147 @echo made $@
148
149sources:
150
Steve Kondikae271bc2015-11-15 02:50:53 +0100151$(DESTDIR)$(bindir) :
152 mkdir -p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530153
154install \
Steve Kondikae271bc2015-11-15 02:50:53 +0100155install.libs :: $(DESTDIR)$(bindir) $(ADACURSES_CONFIG)
156 $(INSTALL_PROG) $(ADACURSES_CONFIG) $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530157
158uninstall \
159uninstall.libs ::
160 -rm -f $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
161
Steve Kondikae271bc2015-11-15 02:50:53 +0100162$(PROG_GENERATE): gen.o
163 @ECHO_LD@ $(LINK) $(CFLAGS_NORMAL) gen.o $(ACTUAL_LDFLAGS) -o $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530164
165gen.o: $(srcdir)/gen.c
166 $(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530167
Steve Kondikae271bc2015-11-15 02:50:53 +0100168$(ADA_SRCDIR)/$(ABASE)_constants.ads: $(PROG_GENERATE)
169 $(WRAPPER) "$(GENERATE)" >$@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530170################################################################################
171$(ADA_SRCDIR)/$(ABASE).ads: $(srcdir)/$(ABASE).ads.m4 \
Steve Kondikae271bc2015-11-15 02:50:53 +0100172 $(srcdir)/normal.m4
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530173 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
174 $(srcdir)/$(ABASE).ads.m4 |\
175 $(DEL_ADAMODE) >$@
176
177$(ADA_SRCDIR)/$(ABASE).adb: $(srcdir)/$(ABASE).adb.m4 \
Steve Kondikae271bc2015-11-15 02:50:53 +0100178 $(srcdir)/normal.m4
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530179 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
180 $(srcdir)/$(ABASE).adb.m4 |\
181 $(DEL_ADAMODE) >$@
182
183$(ADA_SRCDIR)/$(ABASE)-aux.ads: $(srcdir)/$(ABASE)-aux.ads.m4 \
Steve Kondikae271bc2015-11-15 02:50:53 +0100184 $(srcdir)/normal.m4
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530185 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
186 $(srcdir)/$(ABASE)-aux.ads.m4 |\
187 $(DEL_ADAMODE) >$@
188
189$(ADA_SRCDIR)/$(ABASE)-trace.ads: $(srcdir)/$(ABASE)-trace.ads.m4 \
Steve Kondikae271bc2015-11-15 02:50:53 +0100190 $(srcdir)/normal.m4
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530191 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
192 $(srcdir)/$(ABASE)-trace.ads.m4 |\
193 $(DEL_ADAMODE) >$@
194
195$(ADA_SRCDIR)/$(ABASE)-menus.ads: $(srcdir)/$(ABASE)-menus.ads.m4 \
Steve Kondikae271bc2015-11-15 02:50:53 +0100196 $(srcdir)/normal.m4
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530197 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
198 $(srcdir)/$(ABASE)-menus.ads.m4 |\
199 $(DEL_ADAMODE) >$@
200
201$(ADA_SRCDIR)/$(ABASE)-forms.ads: $(srcdir)/$(ABASE)-forms.ads.m4 \
Steve Kondikae271bc2015-11-15 02:50:53 +0100202 $(srcdir)/normal.m4
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530203 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
204 $(srcdir)/$(ABASE)-forms.ads.m4 |\
205 $(DEL_ADAMODE) >$@
206
207$(ADA_SRCDIR)/$(ABASE)-mouse.ads: $(srcdir)/$(ABASE)-mouse.ads.m4 \
Steve Kondikae271bc2015-11-15 02:50:53 +0100208 $(srcdir)/normal.m4
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530209 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
210 $(srcdir)/$(ABASE)-mouse.ads.m4 |\
211 $(DEL_ADAMODE) >$@
212
213$(ADA_SRCDIR)/$(ABASE)-panels.ads: $(srcdir)/$(ABASE)-panels.ads.m4 \
214 $(srcdir)/normal.m4
215 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
216 $(srcdir)/$(ABASE)-panels.ads.m4 |\
217 $(DEL_ADAMODE) >$@
218
219$(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads: \
220 $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \
221 $(srcdir)/normal.m4
222 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
223 $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 |\
224 $(DEL_ADAMODE) >$@
225
226$(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads: \
227 $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \
228 $(srcdir)/normal.m4
229 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
230 $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 |\
231 $(DEL_ADAMODE) >$@
232
233$(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads: \
234 $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \
235 $(srcdir)/normal.m4
236 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
237 $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 |\
238 $(DEL_ADAMODE) >$@
239
240$(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads: \
241 $(srcdir)/$(ABASE)-forms-field_types.ads.m4 \
242 $(srcdir)/normal.m4
243 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
244 $(srcdir)/$(ABASE)-forms-field_types.ads.m4 |\
245 $(DEL_ADAMODE) >$@
246
247$(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads: \
248 $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \
249 $(srcdir)/normal.m4
250 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
251 $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 |\
252 $(DEL_ADAMODE) >$@
253
254$(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads: \
255 $(srcdir)/$(ABASE)-panels-user_data.ads.m4 \
256 $(srcdir)/normal.m4
257 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
258 $(srcdir)/$(ABASE)-panels-user_data.ads.m4 |\
259 $(DEL_ADAMODE) >$@
260
261install.progs ::
262
263tags:
264 ctags *.[ch]
265
266@MAKE_UPPER_TAGS@TAGS:
267@MAKE_UPPER_TAGS@ etags *.[ch]
268
269mostlyclean ::
Steve Kondikae271bc2015-11-15 02:50:53 +0100270 -rm -f a.out core $(PROG_GENERATE) *.o
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530271
272clean :: mostlyclean
273 -rm -f $(GEN_TARGETS) instab.tmp *.ad[bs] *.html *.ali *.tmp
274
275distclean :: clean
Steve Kondikae271bc2015-11-15 02:50:53 +0100276 -rm -f $(ADACURSES_CONFIG)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530277 -rm -f Makefile
278
279realclean :: distclean
280
Steve Kondikae271bc2015-11-15 02:50:53 +0100281HTML_DIR = @ADAHTML_DIR@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530282
283instab.tmp : table.m4 $(GEN_SRC)
284 @rm -f $@
285 @for f in $(GEN_SRC) ; do \
286 $(M4) $(M4FLAGS) -DM4MACRO=table.m4 $$f | $(DEL_ADAMODE) >> $@ ;\
287 done;
288
289$(HTML_DIR)/table.html : instab.tmp
290 @-touch $@
291 @-chmod +w $@
292 @echo '<!DOCTYPE HTML' > $@
293 @echo 'PUBLIC "-//IETF//DTD HTML 3.0//EN">' >> $@
294 @echo '<HTML>' >> $@
295 @echo '<HEAD>' >> $@
296 @echo '<TITLE>Correspondence between ncurses C and Ada functions</TITLE>' >>$@
297 @echo '</HEAD>' >> $@
298 @echo '<BODY>' >> $@
299 @echo '<H1>Correspondence between ncurses C and Ada functions</H1>' >>$@
300 @echo '<H2>Sorted by C function name</H2>' >>$@
301 @echo '<TABLE ALIGN=CENTER BORDER>' >>$@
302 @echo '<TR ALIGN=LEFT>' >>$@
303 @echo '<TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>' >>$@
304 @sort < instab.tmp >> $@
305 @echo '</TABLE></BODY></HTML>' >>$@
306 @rm -f instab.tmp
307
308adahtml:
Steve Kondikae271bc2015-11-15 02:50:53 +0100309 test -n "$(GNATHTML)" || exit 1
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530310 @find $(HTML_DIR) -type f -exec rm -f {} \;
311 @mkdir -p $(HTML_DIR)
312 cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb]
Steve Kondikae271bc2015-11-15 02:50:53 +0100313@USE_OLD_MAKERULES@ ln -sf ../src/*.ali .
314@USE_GNAT_PROJECTS@ ln -sf ../static-ali/*.ali .
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530315 @echo "Filtering generated files"
316 @for f in $(GEN_SRC); do \
317 h=`basename $$f` ;\
318 g=`basename $$f .ads.m4` ;\
319 if test "$$g" != "$$h" ; then \
320 $(M4) $(M4FLAGS) -DM4MACRO=html.m4 $$f | $(DEL_ADAMODE) > $$g.ads ;\
321 echo "... $$g.ads" ;\
322 fi \
323 done
324 @-rm -f $(HTML_DIR)/$(ALIB)*.htm*
325 $(GNATHTML) -d -f $(ALIB)*.ads
326 for f in html/$(ALIB)*.htm*; do \
327 a=`basename $$f` ; \
328 sed -e 's/You may also.*body.*//' <$$f |\
329 sed -e 's%GNAT%<A HREF="http://$(GNATHP)">GNAT</A>%g' |\
330 sed -e 's%&lt;A HREF%<A HREF%g' |\
331 sed -e 's%"&gt;%">%g' |\
332 sed -e 's/3X/3x/g' |\
333 sed -e 's/$$\([ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxz0123456789_]*:.*\)\$$/@\1@/' |\
334 sed -e 's%&lt;/A&gt;%</A>%g' > $$a.tmp ;\
335 mv $$a.tmp $$f ;\
336 done
337 @rm -f *.ad[sb] *.ali *.tmp
338 @for f in funcs.htm main.htm ; do \
339 sed -e "\%<A HREF=funcs/ .htm>\[ \]</A>%d" < html/$$f > $$f ;\
340 mv $$f html/$$f ;\
341 done
342 @rm -f "html/funcs/ .htm"
343 @cp -pdrf html/* $(HTML_DIR)/
344 @rm -rf html
345
346html : adahtml $(HTML_DIR)/table.html
347 @echo made $@
348
349###############################################################################
350# The remainder of this file is automatically generated during configuration
351###############################################################################