1 ##############################################################################
2 # Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
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: #
12 # The above copyright notice and this permission notice shall be included in #
13 # all copies or substantial portions of the Software. #
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. #
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 #
27 ##############################################################################
29 # Author: Juergen Pfeifer, 1996
31 # $Id: Makefile.in,v 1.67 2010/06/12 16:32:02 tom Exp $
40 top_srcdir = @top_srcdir@
44 exec_prefix = @exec_prefix@
46 includedir = @includedir@
48 ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@
49 ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@
52 INSTALL_PROG = @INSTALL_PROGRAM@
53 INSTALL_DATA = @INSTALL_DATA@
62 CPPFLAGS = @ACPPFLAGS@ \
63 -DHAVE_CONFIG_H -I$(srcdir)
65 CCFLAGS = $(CPPFLAGS) $(CFLAGS)
66 CFLAGS_NORMAL = $(CCFLAGS)
67 CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
68 CFLAGS_PROFILE = $(CCFLAGS) -pg
69 CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
71 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
73 REL_VERSION = @cf_cv_rel_version@
74 ABI_VERSION = @cf_cv_abi_version@
75 LOCAL_LIBDIR = @top_builddir@/lib
78 LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_ARGS2@
83 M4FLAGS = -DNCURSES_EXT_FUNCS=@NCURSES_EXT_FUNCS@
85 ADACURSES_CONFIG = adacurses@DFT_ARG_SUFFIX@-config
87 WRAPPER = @NCURSES_SHLIB2@
88 TAR_COPY = @NCURSES_COPY2@
90 PROG_GENERATE = ./generate$x
91 GENERATE = $(PROG_GENERATE) '@DFT_ARG_SUFFIX@'
92 DEL_ADAMODE = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
94 GNATHTML = `type -p gnathtml || type -p gnathtml.pl`
97 ################################################################################
98 ALIB = @cf_ada_package@
99 ABASE = $(ALIB)-curses
103 GEN_FILES0 = Base_Defs
105 GEN_FILES1 = ACS_Map \
108 Character_Attribute_Set_Rep \
118 GEN_FILES2 = Menu_Opt_Rep \
120 Menu_Linker_Options \
123 GEN_FILES3 = Form_Opt_Rep \
125 Form_Linker_Options \
128 GEN_FILES4 = Mouse_Base_Defs \
133 GEN_FILES5 = Chtype_Def \
136 GEN_TARGETS = $(ADA_SRCDIR)/$(ABASE).ads \
137 $(ADA_SRCDIR)/$(ABASE).adb \
138 $(ADA_SRCDIR)/$(ABASE)-aux.ads \
139 $(ADA_SRCDIR)/$(ABASE)-trace.ads \
140 $(ADA_SRCDIR)/$(ABASE)-menus.ads \
141 $(ADA_SRCDIR)/$(ABASE)-forms.ads \
142 $(ADA_SRCDIR)/$(ABASE)-mouse.ads \
143 $(ADA_SRCDIR)/$(ABASE)-panels.ads \
144 $(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads \
145 $(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads \
146 $(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads \
147 $(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads \
148 $(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads \
149 $(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads
151 GEN_SRC = $(srcdir)/$(ABASE).ads.m4 \
152 $(srcdir)/$(ABASE).adb.m4 \
153 $(srcdir)/$(ABASE)-aux.ads.m4 \
154 $(srcdir)/$(ABASE)-trace.ads.m4 \
155 $(srcdir)/$(ABASE)-menus.ads.m4 \
156 $(srcdir)/$(ABASE)-forms.ads.m4 \
157 $(srcdir)/$(ABASE)-mouse.ads.m4 \
158 $(srcdir)/$(ABASE)-panels.ads.m4 \
159 $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \
160 $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \
161 $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \
162 $(srcdir)/$(ABASE)-forms-field_types.ads.m4 \
163 $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \
164 $(srcdir)/$(ABASE)-panels-user_data.ads.m4
168 libs : $(GEN_TARGETS)
173 $(DESTDIR)$(bindir) \
179 install.libs :: $(ADA_INCLUDE)
180 @echo installing package $(ALIB) in $(ADA_INCLUDE)
181 @$(TAR_COPY) '$(ALIB)*.ad?' $(ADA_SRCDIR) $(ADA_INCLUDE)
182 @$(TAR_COPY) '$(ALIB)[-.]*.ad?' $(ADA_SRCDIR) $(ADA_INCLUDE)
183 @test $(srcdir) != ./ && $(TAR_COPY) '$(ALIB)*.ad?' $(srcdir)/../src $(ADA_INCLUDE)
184 @test $(srcdir) != ./ && $(TAR_COPY) '$(ALIB)[-.]*.ad?' $(srcdir)/../src $(ADA_INCLUDE)
187 install.libs :: $(ADA_OBJECTS)
188 @echo installing package $(ALIB) in $(ADA_OBJECTS)
189 @-chmod a-wx $(ADA_SRCDIR)/*.ali
190 @$(TAR_COPY) '$(ALIB)*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS)
191 @$(TAR_COPY) '$(ALIB)[-.]*.ali' $(ADA_SRCDIR) $(ADA_OBJECTS)
192 @-chmod u+x $(ADA_SRCDIR)/*.ali
195 install.libs :: $(DESTDIR)$(bindir) $(ADACURSES_CONFIG)
196 $(INSTALL_PROG) $(ADACURSES_CONFIG) $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
200 @echo removing package $(ALIB) from $(ADA_INCLUDE)
201 -@cd $(ADA_INCLUDE) && rm -f $(ALIB)[-.]*
205 @echo removing package $(ALIB) from $(ADA_OBJECTS)
206 -@cd $(ADA_OBJECTS) && rm -f $(ALIB)[-.]*
210 -rm -f $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
212 $(PROG_GENERATE): gen.o
213 @ECHO_LINK@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@
215 gen.o: $(srcdir)/gen.c
216 $(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
217 ################################################################################
218 Character_Attribute_Set_Rep: $(PROG_GENERATE)
219 $(WRAPPER) "$(GENERATE) B A" >$@
221 Base_Defs: $(PROG_GENERATE)
222 $(WRAPPER) "$(GENERATE) B B" >$@
224 Color_Defs: $(PROG_GENERATE)
225 $(WRAPPER) "$(GENERATE) B C" >$@
227 Window_Offsets: $(PROG_GENERATE)
228 $(WRAPPER) "$(GENERATE) B D" >$@
230 Key_Definitions: $(PROG_GENERATE)
231 $(WRAPPER) "$(GENERATE) B K" >$@
233 Linker_Options: $(PROG_GENERATE)
234 $(WRAPPER) "$(GENERATE) B L" >$@
236 ACS_Map: $(PROG_GENERATE)
237 $(WRAPPER) "$(GENERATE) B M" >$@
239 Old_Keys: $(PROG_GENERATE)
240 $(WRAPPER) "$(GENERATE) B O" >$@
242 Public_Variables: $(PROG_GENERATE)
243 $(WRAPPER) "$(GENERATE) B P" >$@
245 AC_Rep: $(PROG_GENERATE)
246 $(WRAPPER) "$(GENERATE) B R" >$@
248 Version_Info: $(PROG_GENERATE)
249 $(WRAPPER) "$(GENERATE) B V" >$@
251 Trace_Defs: $(PROG_GENERATE)
252 $(WRAPPER) "$(GENERATE) B T" >$@
253 ################################################################################
254 Menu_Opt_Rep: $(PROG_GENERATE)
255 $(WRAPPER) "$(GENERATE) M R" >$@
257 Menu_Base_Defs: $(PROG_GENERATE)
258 $(WRAPPER) "$(GENERATE) M B" >$@
260 Menu_Linker_Options: $(PROG_GENERATE)
261 $(WRAPPER) "$(GENERATE) M L" >$@
263 Item_Rep: $(PROG_GENERATE)
264 $(WRAPPER) "$(GENERATE) M I" >$@
265 ################################################################################
266 Form_Opt_Rep: $(PROG_GENERATE)
267 $(WRAPPER) "$(GENERATE) F R" >$@
269 Form_Base_Defs: $(PROG_GENERATE)
270 $(WRAPPER) "$(GENERATE) F B" >$@
272 Form_Linker_Options: $(PROG_GENERATE)
273 $(WRAPPER) "$(GENERATE) F L" >$@
275 Field_Rep: $(PROG_GENERATE)
276 $(WRAPPER) "$(GENERATE) F I" >$@
277 ################################################################################
278 Mouse_Base_Defs: $(PROG_GENERATE)
279 $(WRAPPER) "$(GENERATE) P B" >$@
281 Mouse_Event_Rep: $(PROG_GENERATE)
282 $(WRAPPER) "$(GENERATE) P M" >$@
284 Mouse_Events: $(PROG_GENERATE)
285 $(WRAPPER) "$(GENERATE) B E" >$@
287 Panel_Linker_Options: $(PROG_GENERATE)
288 $(WRAPPER) "$(GENERATE) P L" >$@
290 Chtype_Def: $(PROG_GENERATE)
291 $(WRAPPER) "$(GENERATE) E C" >$@
293 Eti_Defs: $(PROG_GENERATE)
294 $(WRAPPER) "$(GENERATE) E E" >$@
295 ################################################################################
296 $(ADA_SRCDIR)/$(ABASE).ads: $(srcdir)/$(ABASE).ads.m4 \
297 $(GEN_FILES1) $(srcdir)/normal.m4
298 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
299 $(srcdir)/$(ABASE).ads.m4 |\
302 $(ADA_SRCDIR)/$(ABASE).adb: $(srcdir)/$(ABASE).adb.m4 \
303 $(GEN_FILES1) $(srcdir)/normal.m4
304 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
305 $(srcdir)/$(ABASE).adb.m4 |\
308 $(ADA_SRCDIR)/$(ABASE)-aux.ads: $(srcdir)/$(ABASE)-aux.ads.m4 \
309 $(GEN_FILES5) $(srcdir)/normal.m4
310 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
311 $(srcdir)/$(ABASE)-aux.ads.m4 |\
314 $(ADA_SRCDIR)/$(ABASE)-trace.ads: $(srcdir)/$(ABASE)-trace.ads.m4 \
315 $(GEN_FILES5) $(srcdir)/normal.m4
316 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
317 $(srcdir)/$(ABASE)-trace.ads.m4 |\
320 $(ADA_SRCDIR)/$(ABASE)-menus.ads: $(srcdir)/$(ABASE)-menus.ads.m4 \
321 $(GEN_FILES2) $(srcdir)/normal.m4
322 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
323 $(srcdir)/$(ABASE)-menus.ads.m4 |\
326 $(ADA_SRCDIR)/$(ABASE)-forms.ads: $(srcdir)/$(ABASE)-forms.ads.m4 \
327 $(GEN_FILES3) $(srcdir)/normal.m4
328 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
329 $(srcdir)/$(ABASE)-forms.ads.m4 |\
332 $(ADA_SRCDIR)/$(ABASE)-mouse.ads: $(srcdir)/$(ABASE)-mouse.ads.m4 \
333 $(GEN_FILES4) $(srcdir)/normal.m4
334 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
335 $(srcdir)/$(ABASE)-mouse.ads.m4 |\
338 $(ADA_SRCDIR)/$(ABASE)-panels.ads: $(srcdir)/$(ABASE)-panels.ads.m4 \
340 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
341 $(srcdir)/$(ABASE)-panels.ads.m4 |\
344 $(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads: \
345 $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \
347 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
348 $(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 |\
351 $(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads: \
352 $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \
354 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
355 $(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 |\
358 $(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads: \
359 $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \
361 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
362 $(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 |\
365 $(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads: \
366 $(srcdir)/$(ABASE)-forms-field_types.ads.m4 \
368 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
369 $(srcdir)/$(ABASE)-forms-field_types.ads.m4 |\
372 $(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads: \
373 $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \
375 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
376 $(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 |\
379 $(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads: \
380 $(srcdir)/$(ABASE)-panels-user_data.ads.m4 \
382 $(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
383 $(srcdir)/$(ABASE)-panels-user_data.ads.m4 |\
391 @MAKE_UPPER_TAGS@TAGS:
392 @MAKE_UPPER_TAGS@ etags *.[ch]
395 -rm -f a.out core $(PROG_GENERATE) *.o
403 -rm -f $(GEN_TARGETS) instab.tmp *.ad[bs] *.html *.ali *.tmp
406 -rm -f $(ADACURSES_CONFIG)
409 realclean :: distclean
411 HTML_DIR = ../../doc/html/ada
413 instab.tmp : table.m4 $(GEN_SRC)
415 @for f in $(GEN_SRC) ; do \
416 $(M4) $(M4FLAGS) -DM4MACRO=table.m4 $$f | $(DEL_ADAMODE) >> $@ ;\
419 $(HTML_DIR)/table.html : instab.tmp
422 @echo '<!DOCTYPE HTML' > $@
423 @echo 'PUBLIC "-//IETF//DTD HTML 3.0//EN">' >> $@
426 @echo '<TITLE>Correspondence between ncurses C and Ada functions</TITLE>' >>$@
427 @echo '</HEAD>' >> $@
429 @echo '<H1>Correspondence between ncurses C and Ada functions</H1>' >>$@
430 @echo '<H2>Sorted by C function name</H2>' >>$@
431 @echo '<TABLE ALIGN=CENTER BORDER>' >>$@
432 @echo '<TR ALIGN=LEFT>' >>$@
433 @echo '<TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>' >>$@
434 @sort < instab.tmp >> $@
435 @echo '</TABLE></BODY></HTML>' >>$@
439 @find $(HTML_DIR) -type f -exec rm -f {} \;
440 @mkdir -p $(HTML_DIR)
441 cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb]
442 ln -sf ../src/*.ali .
443 @echo "Filtering generated files"
444 @for f in $(GEN_SRC); do \
446 g=`basename $$f .ads.m4` ;\
447 if test "$$g" != "$$h" ; then \
448 $(M4) $(M4FLAGS) -DM4MACRO=html.m4 $$f | $(DEL_ADAMODE) > $$g.ads ;\
449 echo "... $$g.ads" ;\
452 @-rm -f $(HTML_DIR)/$(ALIB)*.htm*
453 $(GNATHTML) -d -f $(ALIB)*.ads
454 for f in html/$(ALIB)*.htm*; do \
456 sed -e 's/You may also.*body.*//' <$$f |\
457 sed -e 's%GNAT%<A HREF="http://$(GNATHP)">GNAT</A>%g' |\
458 sed -e 's%<A HREF%<A HREF%g' |\
459 sed -e 's%">%">%g' |\
460 sed -e 's/3X/3x/g' |\
461 sed -e 's/$$\([ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxz0123456789_]*:.*\)\$$/@\1@/' |\
462 sed -e 's%</A>%</A>%g' > $$a.tmp ;\
465 @rm -f *.ad[sb] *.ali *.tmp
466 @for f in funcs.htm main.htm ; do \
467 sed -e "\%<A HREF=funcs/ .htm>\[ \]</A>%d" < html/$$f > $$f ;\
470 @rm -f "html/funcs/ .htm"
471 @cp -pdrf html/* $(HTML_DIR)/
474 html : adahtml $(HTML_DIR)/table.html
477 ###############################################################################
478 # The remainder of this file is automatically generated during configuration
479 ###############################################################################