mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2024-12-21 07:39:06 +08:00
e331504109
+ build-fix in picsmap.c for stdint.h existence. + add --disable-stripping option to configure scripts. + modify ncurses-examples to install test-scripts in the data directory. + work around tool-breakage in Debian 9 and later by invoking gprconfig to specify the C compiler to be used by gnatmake, and conditionally suppressing Library_Options line for static libraries. + bump the compat level for test-packages to 7, i.e., Debian 5.
352 lines
12 KiB
Makefile
352 lines
12 KiB
Makefile
##############################################################################
|
|
# Copyright (c) 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"), #
|
|
# to deal in the Software without restriction, including without limitation #
|
|
# the rights to use, copy, modify, merge, publish, distribute, distribute #
|
|
# with modifications, sublicense, and/or sell copies of the Software, and to #
|
|
# permit persons to whom the Software is furnished to do so, subject to the #
|
|
# following conditions: #
|
|
# #
|
|
# The above copyright notice and this permission notice shall be included in #
|
|
# all copies or substantial portions of the Software. #
|
|
# #
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
|
|
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
|
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
|
|
# DEALINGS IN THE SOFTWARE. #
|
|
# #
|
|
# Except as contained in this notice, the name(s) of the above copyright #
|
|
# holders shall not be used in advertising or otherwise to promote the sale, #
|
|
# use or other dealings in this Software without prior written #
|
|
# authorization. #
|
|
##############################################################################
|
|
#
|
|
# Author: Juergen Pfeifer, 1996
|
|
#
|
|
# $Id: Makefile.in,v 1.87 2018/01/16 00:12:53 tom Exp $
|
|
#
|
|
.SUFFIXES:
|
|
|
|
SHELL = @SHELL@
|
|
VPATH = @srcdir@
|
|
THIS = Makefile
|
|
|
|
x = @EXEEXT@
|
|
|
|
top_srcdir = @top_srcdir@
|
|
DESTDIR = @DESTDIR@
|
|
srcdir = @srcdir@
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
bindir = @bindir@
|
|
includedir = @includedir@
|
|
|
|
INSTALL = @INSTALL@ @INSTALL_OPT_O@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
INSTALL_DATA = @INSTALL_DATA@
|
|
|
|
AWK = @AWK@
|
|
LN_S = @LN_S@
|
|
|
|
CC = @CC@
|
|
HOST_CC = @BUILD_CC@
|
|
|
|
CFLAGS = @CFLAGS@
|
|
HOST_CFLAGS = @BUILD_CFLAGS@
|
|
|
|
CPPFLAGS = @CPPFLAGS@
|
|
HOST_CPPFLAGS = @ACPPFLAGS@ @BUILD_CPPFLAGS@ \
|
|
-DHAVE_CONFIG_H -I$(srcdir)
|
|
|
|
CCFLAGS = $(HOST_CPPFLAGS) $(HOST_CFLAGS)
|
|
CFLAGS_NORMAL = $(CCFLAGS)
|
|
CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
|
|
CFLAGS_PROFILE = $(CCFLAGS) -pg
|
|
CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
|
|
|
|
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
|
|
|
|
REL_VERSION = @cf_cv_rel_version@
|
|
ABI_VERSION = @cf_cv_abi_version@
|
|
LOCAL_LIBDIR = @top_builddir@/lib
|
|
|
|
LINK = $(HOST_CC)
|
|
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@USE_CFG_SUFFIX@-config
|
|
|
|
WRAPPER = @NCURSES_SHLIB2@
|
|
|
|
PROG_GENERATE = ./generate$x
|
|
GENERATE = $(PROG_GENERATE) '@DFT_ARG_SUFFIX@'
|
|
DEL_ADAMODE = sed -e '/^\-\-\ \ \-\*\-\ ada\ \-\*\-.*/d'
|
|
|
|
GNATHTML = `type -p gnathtml || type -p gnathtml.pl 2>/dev/null`
|
|
GNATHP = www.gnat.com
|
|
|
|
################################################################################
|
|
ALIB = @cf_ada_package@
|
|
ABASE = $(ALIB)-curses
|
|
|
|
ADA_SRCDIR = ../src
|
|
|
|
GEN_TARGETS = $(ADA_SRCDIR)/$(ABASE).ads \
|
|
$(ADA_SRCDIR)/$(ABASE).adb \
|
|
$(ADA_SRCDIR)/$(ABASE)-aux.ads \
|
|
$(ADA_SRCDIR)/$(ABASE)-trace.ads \
|
|
$(ADA_SRCDIR)/$(ABASE)-menus.ads \
|
|
$(ADA_SRCDIR)/$(ABASE)-forms.ads \
|
|
$(ADA_SRCDIR)/$(ABASE)-mouse.ads \
|
|
$(ADA_SRCDIR)/$(ABASE)-panels.ads \
|
|
$(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads \
|
|
$(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.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)_constants.ads
|
|
|
|
GEN_SRC = $(srcdir)/$(ABASE).ads.m4 \
|
|
$(srcdir)/$(ABASE).adb.m4 \
|
|
$(srcdir)/$(ABASE)-aux.ads.m4 \
|
|
$(srcdir)/$(ABASE)-trace.ads.m4 \
|
|
$(srcdir)/$(ABASE)-menus.ads.m4 \
|
|
$(srcdir)/$(ABASE)-forms.ads.m4 \
|
|
$(srcdir)/$(ABASE)-mouse.ads.m4 \
|
|
$(srcdir)/$(ABASE)-panels.ads.m4 \
|
|
$(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \
|
|
$(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \
|
|
$(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \
|
|
$(srcdir)/$(ABASE)-forms-field_types.ads.m4 \
|
|
$(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \
|
|
$(srcdir)/$(ABASE)-panels-user_data.ads.m4
|
|
|
|
|
|
all \
|
|
libs : $(GEN_TARGETS)
|
|
@echo made $@
|
|
|
|
sources:
|
|
|
|
$(DESTDIR)$(bindir) :
|
|
mkdir -p $@
|
|
|
|
install \
|
|
install.libs :: $(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_LD@ $(LINK) $(CFLAGS_NORMAL) gen.o $(ACTUAL_LDFLAGS) -o $@
|
|
|
|
gen.o: $(srcdir)/gen.c
|
|
$(HOST_CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/gen.c
|
|
|
|
$(ADA_SRCDIR)/$(ABASE)_constants.ads: $(PROG_GENERATE)
|
|
$(WRAPPER) "$(GENERATE)" >$@
|
|
################################################################################
|
|
$(ADA_SRCDIR)/$(ABASE).ads: $(srcdir)/$(ABASE).ads.m4 \
|
|
$(srcdir)/normal.m4
|
|
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
|
|
$(srcdir)/$(ABASE).ads.m4 |\
|
|
$(DEL_ADAMODE) >$@
|
|
|
|
$(ADA_SRCDIR)/$(ABASE).adb: $(srcdir)/$(ABASE).adb.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 \
|
|
$(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 \
|
|
$(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 \
|
|
$(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 \
|
|
$(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 \
|
|
$(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 \
|
|
$(srcdir)/normal.m4
|
|
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
|
|
$(srcdir)/$(ABASE)-panels.ads.m4 |\
|
|
$(DEL_ADAMODE) >$@
|
|
|
|
$(ADA_SRCDIR)/$(ABASE)-menus-menu_user_data.ads: \
|
|
$(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 \
|
|
$(srcdir)/normal.m4
|
|
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
|
|
$(srcdir)/$(ABASE)-menus-menu_user_data.ads.m4 |\
|
|
$(DEL_ADAMODE) >$@
|
|
|
|
$(ADA_SRCDIR)/$(ABASE)-menus-item_user_data.ads: \
|
|
$(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 \
|
|
$(srcdir)/normal.m4
|
|
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
|
|
$(srcdir)/$(ABASE)-menus-item_user_data.ads.m4 |\
|
|
$(DEL_ADAMODE) >$@
|
|
|
|
$(ADA_SRCDIR)/$(ABASE)-forms-form_user_data.ads: \
|
|
$(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 \
|
|
$(srcdir)/normal.m4
|
|
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
|
|
$(srcdir)/$(ABASE)-forms-form_user_data.ads.m4 |\
|
|
$(DEL_ADAMODE) >$@
|
|
|
|
$(ADA_SRCDIR)/$(ABASE)-forms-field_types.ads: \
|
|
$(srcdir)/$(ABASE)-forms-field_types.ads.m4 \
|
|
$(srcdir)/normal.m4
|
|
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
|
|
$(srcdir)/$(ABASE)-forms-field_types.ads.m4 |\
|
|
$(DEL_ADAMODE) >$@
|
|
|
|
$(ADA_SRCDIR)/$(ABASE)-forms-field_user_data.ads: \
|
|
$(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 \
|
|
$(srcdir)/normal.m4
|
|
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
|
|
$(srcdir)/$(ABASE)-forms-field_user_data.ads.m4 |\
|
|
$(DEL_ADAMODE) >$@
|
|
|
|
$(ADA_SRCDIR)/$(ABASE)-panels-user_data.ads: \
|
|
$(srcdir)/$(ABASE)-panels-user_data.ads.m4 \
|
|
$(srcdir)/normal.m4
|
|
$(M4) $(M4FLAGS) -DM4MACRO=$(srcdir)/normal.m4 \
|
|
$(srcdir)/$(ABASE)-panels-user_data.ads.m4 |\
|
|
$(DEL_ADAMODE) >$@
|
|
|
|
install.progs ::
|
|
|
|
tags:
|
|
ctags *.[ch]
|
|
|
|
@MAKE_UPPER_TAGS@TAGS:
|
|
@MAKE_UPPER_TAGS@ etags *.[ch]
|
|
|
|
mostlyclean ::
|
|
-rm -f a.out core $(PROG_GENERATE) *.o
|
|
|
|
clean :: mostlyclean
|
|
-rm -f $(GEN_TARGETS) instab.tmp *.ad[bs] *.html *.ali *.tmp
|
|
|
|
distclean :: clean
|
|
-rm -f $(ADACURSES_CONFIG)
|
|
-rm -f Makefile
|
|
|
|
realclean :: distclean
|
|
|
|
HTML_DIR = @ADAHTML_DIR@
|
|
|
|
instab.tmp : table.m4 $(GEN_SRC)
|
|
@rm -f $@
|
|
@for f in $(GEN_SRC) ; do \
|
|
$(M4) $(M4FLAGS) -DM4MACRO=table.m4 $$f | $(DEL_ADAMODE) >> $@ ;\
|
|
done;
|
|
|
|
$(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>' >>$@
|
|
@sort < instab.tmp >> $@
|
|
@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]
|
|
@USE_OLD_MAKERULES@ ln -sf ../src/*.ali .
|
|
@USE_GNAT_PROJECTS@ ln -sf ../static-ali/*.ali .
|
|
@echo "Filtering generated files"
|
|
@for f in $(GEN_SRC); do \
|
|
h=`basename $$f` ;\
|
|
g=`basename $$f .ads.m4` ;\
|
|
if test "$$g" != "$$h" ; then \
|
|
$(M4) $(M4FLAGS) -DM4MACRO=html.m4 $$f | $(DEL_ADAMODE) > $$g.ads ;\
|
|
echo "... $$g.ads" ;\
|
|
fi \
|
|
done
|
|
@-rm -f $(HTML_DIR)/$(ALIB)*.htm*
|
|
$(GNATHTML) -d -f $(ALIB)*.ads
|
|
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%<A HREF%<A HREF%g' |\
|
|
sed -e 's%">%">%g' |\
|
|
sed -e 's/3X/3x/g' |\
|
|
sed -e 's/$$\([ABCDEFGHIJKLMNOPQRSTUVWXZabcdefghijklmnopqrstuvwxz0123456789_]*:.*\)\$$/@\1@/' |\
|
|
sed -e 's%</A>%</A>%g' > $$a.tmp ;\
|
|
mv $$a.tmp $$f ;\
|
|
done
|
|
@rm -f *.ad[sb] *.ali *.tmp
|
|
@for f in funcs.htm main.htm ; do \
|
|
sed -e "\%<A HREF=funcs/ .htm>\[ \]</A>%d" < html/$$f > $$f ;\
|
|
mv $$f html/$$f ;\
|
|
done
|
|
@rm -f "html/funcs/ .htm"
|
|
@cp -pdrf html/* $(HTML_DIR)/
|
|
@rm -rf html
|
|
|
|
html : adahtml $(HTML_DIR)/table.html
|
|
@echo made $@
|
|
|
|
###############################################################################
|
|
# The remainder of this file is automatically generated during configuration
|
|
###############################################################################
|