##############################################################################
-# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
+# Copyright 2019-2022,2024 Thomas E. Dickey #
+# Copyright 1998-2015,2018 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
##############################################################################
#
# Author: Juergen Pfeifer, 1996
+# and: Thomas E. Dickey, 1997
#
-# $Id: Makefile.in,v 1.74 2011/03/26 23:36:30 tom Exp $
+# $Id: Makefile.in,v 1.103 2024/01/19 16:51:56 tom Exp $
#
.SUFFIXES:
-SHELL = /bin/sh
+SHELL = @SHELL@
VPATH = @srcdir@
THIS = Makefile
-x = @PROG_EXT@
+x = @EXEEXT@
top_srcdir = @top_srcdir@
DESTDIR = @DESTDIR@
bindir = @bindir@
includedir = @includedir@
-INSTALL = @INSTALL@
-INSTALL_PROG = @INSTALL_PROGRAM@
+INSTALL = @INSTALL@ @INSTALL_OPT_O@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_DATA = @INSTALL_DATA@
AWK = @AWK@
CC = @CC@
HOST_CC = @BUILD_CC@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \
+CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
+HOST_CFLAGS = @BUILD_CFLAGS@
+
+CPPFLAGS = @CPPFLAGS@
+HOST_CPPFLAGS = @ACPPFLAGS@ @BUILD_CPPFLAGS@ \
-DHAVE_CONFIG_H -I$(srcdir)
-CCFLAGS = $(CPPFLAGS) $(CFLAGS)
-CFLAGS_NORMAL = $(CCFLAGS)
-CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
-CFLAGS_PROFILE = $(CCFLAGS) -pg
+CCFLAGS = $(HOST_CPPFLAGS) $(HOST_CFLAGS)
+CFLAGS_NORMAL = $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG = $(CCFLAGS) -DNCURSES_STATIC @CC_G_OPT@ -DTRACE
+CFLAGS_PROFILE = $(CCFLAGS) -DNCURSES_STATIC -pg
CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
LOCAL_LIBDIR = @top_builddir@/lib
LINK = $(HOST_CC)
-LD_FLAGS = @LD_MODEL@ $(LOCAL_LIBS) @LDFLAGS@ @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_ARGS2@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+
+# For the wide-character configuration combined with broken_linker, we need
+# addresses of ACS_xxx constants, which requires linking with the newly built
+# ncurses library. If cross-compiling, the developer has to fill in a workable
+# native library for this purpose.
+NATIVE_LDFLAGS = @LD_MODEL@ $(LOCAL_LIBS) @TINFO_LDFLAGS2@ $(LDFLAGS) @LIBS@ @LOCAL_LDFLAGS2@ $(LDFLAGS) @TINFO_LIBS@
+CROSS_LDFLAGS = @BUILD_LDFLAGS@ @BUILD_LIBS@
+
+ACTUAL_LDFLAGS = @ADAGEN_LDFLAGS@
RANLIB = @RANLIB@
M4 = m4
M4FLAGS = -DNCURSES_EXT_FUNCS=@NCURSES_EXT_FUNCS@
-ADACURSES_CONFIG = adacurses@DFT_ARG_SUFFIX@-config
+ADACURSES_CONFIG = adacurses@USE_CFG_SUFFIX@-config
WRAPPER = @NCURSES_SHLIB2@
PROG_GENERATE = ./generate$x
-GENERATE = $(PROG_GENERATE) '@DFT_ARG_SUFFIX@'
+GENERATE = $(PROG_GENERATE) '@USE_ARG_SUFFIX@'
DEL_ADAMODE = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
-GNATHTML = `type -p gnathtml || type -p gnathtml.pl 2>/dev/null`
-GNATHP = www.gnat.com
+GNATHTML = `command -v gnathtml || command -v gnathtml.pl`
################################################################################
ALIB = @cf_ada_package@
ADA_SRCDIR = ../src
-GEN_FILES0 = Base_Defs
-
-GEN_FILES1 = ACS_Map \
- AC_Rep \
- Base_Defs \
- Character_Attribute_Set_Rep \
- Color_Defs \
- Key_Definitions \
- Linker_Options \
- Old_Keys \
- Public_Variables \
- Trace_Defs \
- Version_Info \
- Window_Offsets
-
-GEN_FILES2 = Menu_Opt_Rep \
- Menu_Base_Defs \
- Menu_Linker_Options \
- Item_Rep
-
-GEN_FILES3 = Form_Opt_Rep \
- Form_Base_Defs \
- Form_Linker_Options \
- Field_Rep
-
-GEN_FILES4 = Mouse_Base_Defs \
- Mouse_Event_Rep \
- Mouse_Events \
- Panel_Linker_Options
-
-GEN_FILES5 = Chtype_Def \
- Eti_Defs
-
GEN_TARGETS = $(ADA_SRCDIR)/$(ABASE).ads \
$(ADA_SRCDIR)/$(ABASE).adb \
$(ADA_SRCDIR)/$(ABASE)-aux.ads \
$(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads \
$(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads \
$(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads \
- $(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads
+ $(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads \
+ $(ADA_SRCDIR)/$(ABASE)_constants.ads
GEN_SRC = $(srcdir)/$(ABASE).ads.m4 \
$(srcdir)/$(ABASE).adb.m4 \
$(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \
$(srcdir)/$(ABASE)-panels-user_data.ads.m4
+################################################################################
+
+@MAKE_PHONY@.PHONY : all
+@MAKE_PHONY@.PHONY : clean
+@MAKE_PHONY@.PHONY : distclean
+@MAKE_PHONY@.PHONY : install
+@MAKE_PHONY@.PHONY : install.libs
+@MAKE_PHONY@.PHONY : libs
+@MAKE_PHONY@.PHONY : mostlyclean
+@MAKE_PHONY@.PHONY : realclean
+@MAKE_PHONY@.PHONY : sources
+@MAKE_PHONY@.PHONY : uninstall
+@MAKE_PHONY@.PHONY : uninstall.libs
all \
libs : $(GEN_TARGETS)
install \
install.libs :: $(DESTDIR)$(bindir) $(ADACURSES_CONFIG)
- $(INSTALL_PROG) $(ADACURSES_CONFIG) $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
+ $(INSTALL_SCRIPT) $(ADACURSES_CONFIG) $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
uninstall \
uninstall.libs ::
-rm -f $(DESTDIR)$(bindir)/$(ADACURSES_CONFIG)
$(PROG_GENERATE): gen.o
- @ECHO_LINK@ $(LINK) $(CFLAGS_NORMAL) gen.o $(LD_FLAGS) -o $@
+ @ECHO_LD@ $(LINK) $(CFLAGS_NORMAL) gen.o $(ACTUAL_LDFLAGS) -o $@
gen.o: $(srcdir)/gen.c
$(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
-################################################################################
-Character_Attribute_Set_Rep: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B A" >$@
-
-Base_Defs: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B B" >$@
-
-Color_Defs: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B C" >$@
-
-Window_Offsets: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B D" >$@
-
-Key_Definitions: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B K" >$@
-
-Linker_Options: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B L" >$@
-
-ACS_Map: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B M" >$@
-
-Old_Keys: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B O" >$@
-
-Public_Variables: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B P" >$@
-
-AC_Rep: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B R" >$@
-
-Version_Info: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B V" >$@
-Trace_Defs: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B T" >$@
-################################################################################
-Menu_Opt_Rep: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) M R" >$@
-
-Menu_Base_Defs: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) M B" >$@
-
-Menu_Linker_Options: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) M L" >$@
-
-Item_Rep: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) M I" >$@
-################################################################################
-Form_Opt_Rep: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) F R" >$@
-
-Form_Base_Defs: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) F B" >$@
-
-Form_Linker_Options: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) F L" >$@
-
-Field_Rep: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) F I" >$@
-################################################################################
-Mouse_Base_Defs: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) P B" >$@
-
-Mouse_Event_Rep: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) P M" >$@
-
-Mouse_Events: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) B E" >$@
-
-Panel_Linker_Options: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) P L" >$@
-
-Chtype_Def: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) E C" >$@
-
-Eti_Defs: $(PROG_GENERATE)
- $(WRAPPER) "$(GENERATE) E E" >$@
+$(ADA_SRCDIR)/$(ABASE)_constants.ads: $(PROG_GENERATE)
+ $(WRAPPER) "$(GENERATE) $@"
################################################################################
$(ADA_SRCDIR)/$(ABASE).ads: $(srcdir)/$(ABASE).ads.m4 \
- $(GEN_FILES1) $(srcdir)/normal.m4
+ $(srcdir)/normal.m4 \
+ options.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE).ads.m4 |\
$(DEL_ADAMODE) >$@
$(ADA_SRCDIR)/$(ABASE).adb: $(srcdir)/$(ABASE).adb.m4 \
- $(GEN_FILES1) $(srcdir)/normal.m4
+ $(srcdir)/normal.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE).adb.m4 |\
$(DEL_ADAMODE) >$@
$(ADA_SRCDIR)/$(ABASE)-aux.ads: $(srcdir)/$(ABASE)-aux.ads.m4 \
- $(GEN_FILES5) $(srcdir)/normal.m4
+ $(srcdir)/normal.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE)-aux.ads.m4 |\
$(DEL_ADAMODE) >$@
$(ADA_SRCDIR)/$(ABASE)-trace.ads: $(srcdir)/$(ABASE)-trace.ads.m4 \
- $(GEN_FILES5) $(srcdir)/normal.m4
+ $(srcdir)/normal.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE)-trace.ads.m4 |\
$(DEL_ADAMODE) >$@
$(ADA_SRCDIR)/$(ABASE)-menus.ads: $(srcdir)/$(ABASE)-menus.ads.m4 \
- $(GEN_FILES2) $(srcdir)/normal.m4
+ $(srcdir)/normal.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE)-menus.ads.m4 |\
$(DEL_ADAMODE) >$@
$(ADA_SRCDIR)/$(ABASE)-forms.ads: $(srcdir)/$(ABASE)-forms.ads.m4 \
- $(GEN_FILES3) $(srcdir)/normal.m4
+ $(srcdir)/normal.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE)-forms.ads.m4 |\
$(DEL_ADAMODE) >$@
$(ADA_SRCDIR)/$(ABASE)-mouse.ads: $(srcdir)/$(ABASE)-mouse.ads.m4 \
- $(GEN_FILES4) $(srcdir)/normal.m4
+ $(srcdir)/normal.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE)-mouse.ads.m4 |\
$(DEL_ADAMODE) >$@
$(ADA_SRCDIR)/$(ABASE)-panels.ads: $(srcdir)/$(ABASE)-panels.ads.m4 \
- $(GEN_FILES4) \
$(srcdir)/normal.m4
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
$(srcdir)/$(ABASE)-panels.ads.m4 |\
mostlyclean ::
-rm -f a.out core $(PROG_GENERATE) *.o
- -rm -f $(GEN_FILES1)
- -rm -f $(GEN_FILES2)
- -rm -f $(GEN_FILES3)
- -rm -f $(GEN_FILES4)
- -rm -f $(GEN_FILES5)
clean :: mostlyclean
+ -rm -f options.m4
-rm -f $(GEN_TARGETS) instab.tmp *.ad[bs] *.html *.ali *.tmp
distclean :: clean
HTML_DIR = @ADAHTML_DIR@
+options.m4 :
+ $(SHELL) -c "if [ @cf_cv_enable_sigwinch@ = 0 ]; \
+ then \
+ dashes=' --'; \
+ else \
+ dashes='';\
+ fi; \
+ echo \"define(OPT_KEY_RESIZE,\\\`\$$dashes')dnl\" > $@"
+
instab.tmp : table.m4 $(GEN_SRC)
@rm -f $@
@for f in $(GEN_SRC) ; do \
$(M4) $(M4FLAGS) -DM4MACRO=table.m4 $$f | $(DEL_ADAMODE) >> $@ ;\
done;
+TABLE_TITLE=Correspondence between ncurses C and Ada functions
+
$(HTML_DIR)/table.html : instab.tmp
@-touch $@
@-chmod +w $@
- @echo '<!DOCTYPE HTML' > $@
- @echo 'PUBLIC "-//IETF//DTD HTML 3.0//EN">' >> $@
- @echo '<HTML>' >> $@
- @echo '<HEAD>' >> $@
- @echo '<TITLE>Correspondence between ncurses C and Ada functions</TITLE>' >>$@
- @echo '</HEAD>' >> $@
- @echo '<BODY>' >> $@
- @echo '<H1>Correspondence between ncurses C and Ada functions</H1>' >>$@
- @echo '<H2>Sorted by C function name</H2>' >>$@
- @echo '<TABLE ALIGN=CENTER BORDER>' >>$@
- @echo '<TR ALIGN=LEFT>' >>$@
- @echo '<TH>C name</TH><TH>Ada name</TH><TH>man page</TH></TR>' >>$@
+ @echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">' > $@
+ @echo '<html>' >> $@
+ @echo '<head>' >> $@
+ @echo '<title>$(TABLE_TITLE)</title>' >>$@
+ @echo '</head>' >> $@
+ @echo '<body>' >> $@
+ @echo '<h1>$(TABLE_TITLE)</h1>' >>$@
+ @echo '<h2>Sorted by C function name</h2>' >>$@
+ @echo '<table align="center" border summary="$(TABLE_TITLE)">' >>$@
+ @echo '<tr align="left">' >>$@
+ @echo '<th>C name</th><th>Ada name</th><th>man page</th></tr>' >>$@
@sort < instab.tmp >> $@
- @echo '</TABLE></BODY></HTML>' >>$@
+ @echo '</table></body></html>' >>$@
@rm -f instab.tmp
adahtml:
test -n "$(GNATHTML)" || exit 1
@find $(HTML_DIR) -type f -exec rm -f {} \;
@mkdir -p $(HTML_DIR)
- cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb]
+ ( cp -p ../src/*.ad[sb] . && chmod +w *.ad[sb] )
@USE_OLD_MAKERULES@ ln -sf ../src/*.ali .
-@USE_GNAT_PROJECTS@ ln -sf ../static-ali/*.ali .
+@USE_GNAT_PROJECTS@ ln -sf ../static-ali/*.ali .
@echo "Filtering generated files"
@for f in $(GEN_SRC); do \
h=`basename $$f` ;\
for f in html/$(ALIB)*.htm*; do \
a=`basename $$f` ; \
sed -e 's/You may also.*body.*//' <$$f |\
- sed -e 's%GNAT%<A HREF="http://$(GNATHP)">GNAT</A>%g' |\
+ sed -e 's%\<GNAT\>%<strong>GNAT</strong>%g' |\
sed -e 's%<A HREF%<A HREF%g' |\
sed -e 's%">%">%g' |\
+ sed -e 's%#1A\([[:space:]]*NAME="[^"]*"\)#2%<A\1>%' |\
+ sed -e 's%#1/A#2%</A>%' |\
sed -e 's/3X/3x/g' |\
sed -e 's/$$\([ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxz0123456789_]*:.*\)\$$/@\1@/' |\
sed -e 's%</A>%</A>%g' > $$a.tmp ;\