##############################################################################
-# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
+# Copyright (c) 1998-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"), #
#
# Author: Juergen Pfeifer, 1996
#
-# $Id: Makefile.in,v 1.51 2010/07/03 22:59:03 tom Exp $
+# $Id: Makefile.in,v 1.80 2018/01/15 22:12:07 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@
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@
CC = @CC@
CFLAGS = @CFLAGS@
-CPPFLAGS = @ACPPFLAGS@ \
+CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \
-DHAVE_CONFIG_H -I$(srcdir)
CCFLAGS = $(CPPFLAGS) $(CFLAGS)
LIB_NAME = AdaCurses
SONAME = @ADA_SHAREDLIB@
-GNAT_PROJECT = library.gpr
+GNAT_PROJECT = AdaCurses.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 = \
-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)
$(BUILD_DIR_LIB) :
mkdir -p $@
-sources :
+$(GENERATED_SOURCES) :
+ cd ../gen; $(MAKE) $(ADA_MFLAGS)
+
+sources : $(GENERATED_SOURCES)
@echo made $@
libs \
$(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 $@
@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@ @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 $(srcdir)/library.gpr $(CFLAGS_NORMAL) >$(GNAT_PROJECT)
+@USE_GNAT_PROJECTS@ @echo "Using GNAT Project:"
+@USE_GNAT_PROJECTS@ @-$(SHELL) -c "diff -u $(srcdir)/library.gpr $(GNAT_PROJECT); exit 0"
@USE_GNAT_PROJECTS@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
+@USE_GNAT_PROJECTS@ $(AR) $(ARFLAGS) $@ $(STATIC_C_OBJS)
+@USE_GNAT_PROJECTS@ -rm -f $(GNAT_PROJECT)
@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_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)
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'
+@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 $@
$(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 $(srcdir)/library.gpr $(CFLAGS_SHARED) >$(GNAT_PROJECT)
+@MAKE_ADA_SHAREDLIB@ @echo "Making Ada shared-lib:"
+@MAKE_ADA_SHAREDLIB@ @-$(SHELL) -c "diff -u $(srcdir)/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)
$(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 ::
@MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_LIBNAME)
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)