X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Fsrc%2FMakefile.in;h=8360779ec8308044986740c9b083e1f4540657ea;hp=1c70bf90fba25b70356a6a373ea0414f9c4814fe;hb=d30f99439fcc8d4bb4c38e5c4afb4f6555fc6ad4;hpb=43f75d22e281b6230678008b72621a76696f45ba diff --git a/Ada95/src/Makefile.in b/Ada95/src/Makefile.in index 1c70bf90..8360779e 100644 --- a/Ada95/src/Makefile.in +++ b/Ada95/src/Makefile.in @@ -1,5 +1,6 @@ ############################################################################## -# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. # +# Copyright 2018-2020,2021 Thomas E. Dickey # +# Copyright 1999-2016,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"), # @@ -28,13 +29,17 @@ # # Author: Juergen Pfeifer, 1996 # -# $Id: Makefile.in,v 1.51 2010/07/03 22:59:03 tom Exp $ +# $Id: Makefile.in,v 1.95 2021/01/23 20:42:08 tom Exp $ # .SUFFIXES: -SHELL = /bin/sh +SHELL = @SHELL@ +VPATH = @srcdir@ THIS = Makefile +ADA_MFLAGS = @cf_cv_makeflags@ +@SET_MAKE@ + MODEL = ../../@DFT_OBJ_SUBDIR@ DESTDIR = @DESTDIR@ @@ -43,13 +48,14 @@ top_srcdir = @top_srcdir@ srcdir = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ -libdir = ${exec_prefix}/lib +includedir = @includedir@ +libdir = @libdir@ LIBDIR = $(DESTDIR)$(libdir) ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@ ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@ -INSTALL = @INSTALL@ +INSTALL = @INSTALL@ @INSTALL_OPT_O@ INSTALL_LIB = @INSTALL@ @INSTALL_LIB@ AR = @AR@ @@ -58,16 +64,16 @@ AWK = @AWK@ LN_S = @LN_S@ CC = @CC@ -CFLAGS = @CFLAGS@ +CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@ -CPPFLAGS = @ACPPFLAGS@ \ +CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \ -DHAVE_CONFIG_H -I$(srcdir) CCFLAGS = $(CPPFLAGS) $(CFLAGS) -CFLAGS_NORMAL = $(CCFLAGS) -CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE -CFLAGS_PROFILE = $(CCFLAGS) -pg +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@) @@ -78,27 +84,28 @@ LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ RANLIB = @RANLIB@ ################################################################################ -ADA = @cf_ada_compiler@ +ADA = @cf_ada_compiler@ ADAPREP = gnatprep -ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir) +ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir) -LIB_NAME = AdaCurses +LIB_NAME = @ADA_LIBNAME@ SONAME = @ADA_SHAREDLIB@ -GNAT_PROJECT = library.gpr +GNAT_PROJECT = @ADA_LIBNAME@.gpr # build/source are the Ada95 tree -BUILD_DIR = @srcdir@/.. -SOURCE_DIR = @srcdir@/.. +BUILD_DIR = .. +SOURCE_DIR = .. BUILD_DIR_LIB = $(BUILD_DIR)/lib SOURCE_DIR_SRC = $(SOURCE_DIR)/src -ADAMAKE = @cf_ada_make@ -ADAMAKEFLAGS = \ +ADAMAKE = @cf_ada_make@ +ADAMAKEFLAGS = \ -P$(GNAT_PROJECT) \ - -XBUILD_DIR=$(BUILD_DIR) \ - -XSOURCE_DIR=$(SOURCE_DIR) \ + -XBUILD_DIR=`cd $(BUILD_DIR);pwd` \ + -XSOURCE_DIR=`cd $(SOURCE_DIR);pwd` \ + -XSOURCE_DIR2=`cd $(srcdir);pwd` \ -XLIB_NAME=$(LIB_NAME) \ -XSONAME=$(SONAME) @@ -176,7 +183,10 @@ $(LIBDIR) \ $(BUILD_DIR_LIB) : mkdir -p $@ -sources : +$(GENERATED_SOURCES) : + ( cd ../gen; $(MAKE) $(ADA_MFLAGS) ) + +sources : $(GENERATED_SOURCES) @echo made $@ libs \ @@ -185,6 +195,7 @@ install.libs :: \ $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) @echo made $(STATIC_LIBNAME) +#OLD:BEGIN install \ install.libs :: \ $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \ @@ -196,6 +207,7 @@ install.libs :: \ uninstall \ uninstall.libs :: @rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME) +#OLD:END mostlyclean :: rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a @@ -204,7 +216,7 @@ clean :: mostlyclean rm -f $(ABASE)-trace.adb distclean :: clean - rm -f Makefile + rm -f Makefile library.gpr realclean :: distclean @@ -212,14 +224,42 @@ BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb $(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p rm -f $@ - $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@ + $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ @GNATPREP_OPTS@ $(srcdir)/$(ABASE)-trace.adb_p $@ + +############################################################################### +# Use these definitions when building a shared library. +SHARED_C_OBJS = c_varargs_to_ada.o c_threaded_variables.o ncurses_compat.o +SHARED_OBJS = $(SHARED_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@ + +c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c + $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_varargs_to_ada.c + +c_threaded_variables.o : $(srcdir)/c_threaded_variables.c + $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_threaded_variables.c + +ncurses_compat.o : $(srcdir)/ncurses_compat.c + $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/ncurses_compat.c + +############################################################################### +# Use these definitions when building a static library. +STATIC_C_OBJS = static_c_varargs_to_ada.o static_c_threaded_variables.o static_ncurses_compat.o +STATIC_OBJS = $(STATIC_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@ + +static_c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c + $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_varargs_to_ada.c + +static_c_threaded_variables.o : $(srcdir)/c_threaded_variables.c + $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_threaded_variables.c + +static_ncurses_compat.o : $(srcdir)/ncurses_compat.c + $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/ncurses_compat.c ############################################################################### @USE_OLD_MAKERULES@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \ @USE_OLD_MAKERULES@ $(BUILD_DIR_LIB) \ -@USE_OLD_MAKERULES@ $(LIBOBJS) @cf_generic_objects@ -@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(LIBOBJS) @cf_generic_objects@ +@USE_OLD_MAKERULES@ $(STATIC_OBJS) +@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(STATIC_OBJS) $(BUILD_DIR)/static-ali : ; mkdir -p $@ $(BUILD_DIR)/static-obj : ; mkdir -p $@ @@ -231,23 +271,79 @@ STATIC_DIRS = \ @USE_GNAT_PROJECTS@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \ @USE_GNAT_PROJECTS@ $(ABASE)-trace.adb \ +@USE_GNAT_PROJECTS@ $(STATIC_C_OBJS) \ @USE_GNAT_PROJECTS@ $(STATIC_DIRS) -@USE_GNAT_PROJECTS@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static -@USE_GNAT_PROJECTS@ -@USE_GNAT_PROJECTS@install \ -@USE_GNAT_PROJECTS@install.libs :: \ -@USE_GNAT_PROJECTS@ $(ADA_OBJECTS) -@USE_GNAT_PROJECTS@ $(INSTALL_LIB) \ -@USE_GNAT_PROJECTS@ $(BUILD_DIR)/static-ali/*.ali \ -@USE_GNAT_PROJECTS@ $(ADA_OBJECTS) - +@USE_GNAT_PROJECTS@ @cf_ada_config@gprconfig --batch --config=Ada --config=C,,,,@cf_ada_config_C@ +@USE_GNAT_PROJECTS@ -rm -f $(GNAT_PROJECT) +@USE_GNAT_PROJECTS@ $(SHELL) $(srcdir)/library-cfg.sh static library.gpr $(CFLAGS_NORMAL) >$(GNAT_PROJECT) +@USE_GNAT_PROJECTS@ @echo "Using GNAT Project:" +@USE_GNAT_MAKE_GPR@ @-$(SHELL) -c "diff -c $(srcdir)/library.gpr $(GNAT_PROJECT); exit 0" +@USE_GNAT_MAKE_GPR@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static +@USE_GNAT_MAKE_GPR@ $(AR) $(ARFLAGS) $@ $(STATIC_C_OBJS) +@USE_GNAT_MAKE_GPR@ -rm -f $(GNAT_PROJECT) +@USE_GNAT_GPRBUILD@ @-$(SHELL) -c "diff -c library.gpr $(GNAT_PROJECT); exit 0" +@USE_GNAT_GPRBUILD@ gprbuild -p $(ADAMAKEFLAGS) -XLIB_KIND=static +@USE_GNAT_GPRBUILD@ -rm -f $(GNAT_PROJECT) + +#OLD:BEGIN +@USE_GNAT_LIBRARIES@install \ +@USE_GNAT_LIBRARIES@install.libs :: \ +@USE_GNAT_LIBRARIES@ $(ADA_OBJECTS) +@USE_GNAT_LIBRARIES@ $(INSTALL_LIB) \ +@USE_GNAT_LIBRARIES@ $(BUILD_DIR)/static-ali/*.ali \ +@USE_GNAT_LIBRARIES@ $(ADA_OBJECTS) +#OLD:END +# While gprinstall is the "recommended" tool, it is rather brittle, with +# hardcoded assumptions about the use of the install-name which prevent using +# that tool to make the directory layout of older versions of the AdaCurses +# package. +# +# In principle, one might just do +# --install-name="" +# and in dry-run mode, gprinstall pretends to handle it properly (trimming the +# empty directory level), but without the dry-run option, it fails (tested +# with gnat 10.1.1). +#NEW:BEGIN +#@USE_GNAT_LIBRARIES@install \ +#@USE_GNAT_LIBRARIES@install.libs :: +#@USE_GNAT_LIBRARIES@ @cf_ada_config@gprconfig --batch --config=Ada --config=C,,,,@cf_ada_config_C@ +#@USE_GNAT_LIBRARIES@ -rm -f $(GNAT_PROJECT) +#@USE_GNAT_LIBRARIES@ $(SHELL) $(srcdir)/library-cfg.sh static library.gpr $(CFLAGS_NORMAL) >$(GNAT_PROJECT) +#@USE_GNAT_LIBRARIES@ @echo "Using GNAT Project:" +#@USE_GNAT_LIBRARIES@ @-$(SHELL) -c "diff -c library.gpr $(GNAT_PROJECT); exit 0" +#@USE_GNAT_LIBRARIES@ +#@USE_GNAT_LIBRARIES@ gprinstall -m -v -f -p \ +#@USE_GNAT_LIBRARIES@ --prefix="$(DESTDIR)$(prefix)" \ +#@USE_GNAT_LIBRARIES@ $(ADAMAKEFLAGS) -XLIB_KIND=static \ +#@USE_GNAT_LIBRARIES@ --lib-subdir="$(DESTDIR)$(prefix)"/lib \ +#@USE_GNAT_LIBRARIES@ --ali-subdir="$(DESTDIR)$(prefix)"/lib/ada/adalib \ +#@USE_GNAT_LIBRARIES@ --sources-subdir="$(DESTDIR)$(prefix)"/share/ada/adainclude +#@USE_GNAT_LIBRARIES@ +#@USE_GNAT_LIBRARIES@ -rm -f $(GNAT_PROJECT) +#NEW:END + +#OLD:BEGIN uninstall \ uninstall.libs :: @rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME) - -@USE_GNAT_PROJECTS@uninstall \ -@USE_GNAT_PROJECTS@uninstall.libs :: -@USE_GNAT_PROJECTS@ @$(SHELL) -c 'for name in $(BUILD_DIR)/static-ali/*.ali ; do rm -f $(ADA_OBJECTS)/`basename $$name`; done' +#OLD:END +#NEW:BEGIN +#@USE_GNAT_LIBRARIES@uninstall \ +#@USE_GNAT_LIBRARIES@uninstall.libs :: +#@USE_GNAT_LIBRARIES@ @cf_ada_config@gprconfig --batch --config=Ada --config=C,,,,@cf_ada_config_C@ +#@USE_GNAT_LIBRARIES@ -rm -f $(GNAT_PROJECT) +#@USE_GNAT_LIBRARIES@ $(SHELL) $(srcdir)/library-cfg.sh static library.gpr $(CFLAGS_NORMAL) >$(GNAT_PROJECT) +#@USE_GNAT_LIBRARIES@ @echo "Using GNAT Project:" +#@USE_GNAT_LIBRARIES@ @-$(SHELL) -c "diff -c library.gpr $(GNAT_PROJECT); exit 0" +#@USE_GNAT_LIBRARIES@ +#@USE_GNAT_LIBRARIES@ gprinstall -v -f --prefix="$(DESTDIR)$(prefix)" --uninstall $(ADAMAKEFLAGS) -XLIB_KIND=static +#@USE_GNAT_LIBRARIES@ +#@USE_GNAT_LIBRARIES@ -rm -f $(GNAT_PROJECT) +#NEW:END + +@USE_GNAT_LIBRARIES@uninstall \ +@USE_GNAT_LIBRARIES@uninstall.libs :: +@USE_GNAT_LIBRARIES@ @$(SHELL) -c 'for name in $(BUILD_DIR)/static-ali/*.ali ; do rm -f $(ADA_OBJECTS)/`basename $$name`; done' $(BUILD_DIR)/dynamic-ali : ; mkdir -p $@ $(BUILD_DIR)/dynamic-obj : ; mkdir -p $@ @@ -257,9 +353,19 @@ SHARED_DIRS = \ $(BUILD_DIR)/dynamic-ali \ $(BUILD_DIR)/dynamic-obj -@MAKE_ADA_SHAREDLIB@all \ -@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: $(ABASE)-trace.adb $(SHARED_DIRS) +@MAKE_ADA_SHAREDLIB@all :: $(BUILD_DIR_LIB)/$(SHARED_LIBNAME) +@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: \ +@MAKE_ADA_SHAREDLIB@ $(ABASE)-trace.adb \ +@MAKE_ADA_SHAREDLIB@ $(SHARED_DIRS) \ +@MAKE_ADA_SHAREDLIB@ $(SHARED_OBJS) +@MAKE_ADA_SHAREDLIB@ cp $(SHARED_OBJS) $(BUILD_DIR)/dynamic-obj/ +@MAKE_ADA_SHAREDLIB@ @cf_ada_config@gprconfig --batch --config=Ada --config=C,,,,@cf_ada_config_C@ +@MAKE_ADA_SHAREDLIB@ -rm -f $(GNAT_PROJECT) +@MAKE_ADA_SHAREDLIB@ $(SHELL) $(srcdir)/library-cfg.sh dynamic library.gpr $(CFLAGS_SHARED) >$(GNAT_PROJECT) +@MAKE_ADA_SHAREDLIB@ @echo "Making Ada shared-lib:" +@MAKE_ADA_SHAREDLIB@ @-$(SHELL) -c "diff -c library.gpr $(GNAT_PROJECT); exit 0" @MAKE_ADA_SHAREDLIB@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic +@MAKE_ADA_SHAREDLIB@ -rm -f $(GNAT_PROJECT) install \ install.libs :: $(ADA_INCLUDE) @@ -278,14 +384,14 @@ uninstall.libs :: $(SHELL) -c 'for name in $(SOURCE_DIR_SRC)/*.ad[sb] $(GENERATED_SOURCES); do rm -f $(ADA_INCLUDE)/`basename $$name`; done' @MAKE_ADA_SHAREDLIB@install \ -@MAKE_ADA_SHAREDLIB@install.libs :: $(ADA_OBJECTS) +@MAKE_ADA_SHAREDLIB@install.libs :: $(ADA_OBJECTS) $(LIBDIR) @MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \ @MAKE_ADA_SHAREDLIB@ $(BUILD_DIR)/dynamic-ali/* \ @MAKE_ADA_SHAREDLIB@ $(ADA_OBJECTS) @MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \ @MAKE_ADA_SHAREDLIB@ $(BUILD_DIR_LIB)/$(SHARED_LIBNAME) \ @MAKE_ADA_SHAREDLIB@ $(LIBDIR) -@MAKE_ADA_SHAREDLIB@ cd $(LIBDIR) && ln -s $(SHARED_LIBNAME) $(SHARED_SYMLINK) +@MAKE_ADA_SHAREDLIB@ ( cd $(LIBDIR) && $(LN_S) $(SHARED_LIBNAME) $(SHARED_SYMLINK) ) @MAKE_ADA_SHAREDLIB@ @MAKE_ADA_SHAREDLIB@uninstall \ @MAKE_ADA_SHAREDLIB@uninstall.libs :: @@ -296,7 +402,13 @@ uninstall.libs :: @MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_SYMLINK) @MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_LIBNAME) +#rm-docs : +# gnatdoc --enable-build $(ADAMAKEFLAGS) -XLIB_KIND=static + clean :: - rm -rf $(BUILD_DIR)/*-ali - rm -rf $(BUILD_DIR)/*-obj - rm -rf $(BUILD_DIR_LIB) + -rm -f default.cgpr + -rm -rf $(BUILD_DIR)/*-ali + -rm -rf $(BUILD_DIR)/*-obj + -rm -rf $(BUILD_DIR_LIB) +#@USE_GNAT_PROJECTS@ gprclean $(ADAMAKEFLAGS) -XLIB_KIND=static +#@MAKE_ADA_SHAREDLIB@ gprclean $(ADAMAKEFLAGS) -XLIB_KIND=dynamic