blob: b0e80de52af13855a3c79b80cca9c05956a73dcb [file] [log] [blame] [edit]
##############################################################################
# Copyright (c) 1998-2014,2015 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.71 2015/08/05 23:15:41 tom Exp $
#
.SUFFIXES:
SHELL = @SHELL@
VPATH = @srcdir@
THIS = Makefile
MODEL = ../../@DFT_OBJ_SUBDIR@
DESTDIR = @DESTDIR@
top_srcdir = @top_srcdir@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
includedir = @includedir@
libdir = @libdir@
LIBDIR = $(DESTDIR)$(libdir)
ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@
ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@
INSTALL = @INSTALL@
INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
AR = @AR@
ARFLAGS = @ARFLAGS@
AWK = @AWK@
LN_S = @LN_S@
CC = @CC@
CFLAGS = @CFLAGS@
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_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
LINK = $(CC)
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
RANLIB = @RANLIB@
################################################################################
ADA = @cf_ada_compiler@
ADAPREP = gnatprep
ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir)
LIB_NAME = AdaCurses
SONAME = @ADA_SHAREDLIB@
GNAT_PROJECT = $(srcdir)/library.gpr
# build/source are the Ada95 tree
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=`cd $(BUILD_DIR);pwd` \
-XSOURCE_DIR=`cd $(SOURCE_DIR);pwd` \
-XSOURCE_DIR2=`cd $(srcdir);pwd` \
-XLIB_NAME=$(LIB_NAME) \
-XSONAME=$(SONAME)
CARGS = -cargs $(ADAFLAGS)
LARGS =
STATIC_LIBNAME = lib$(LIB_NAME).a
SHARED_LIBNAME = $(SONAME)
SHARED_SYMLINK = lib$(LIB_NAME).so
ALIB = @cf_ada_package@
ABASE = $(ALIB)-curses
################################################################################
GENERATED_SOURCES=$(ABASE).ads \
$(ABASE).adb \
$(ABASE)-aux.ads \
$(ABASE)-trace.ads \
$(ABASE)-menus.ads \
$(ABASE)-forms.ads \
$(ABASE)-mouse.ads \
$(ABASE)-panels.ads \
$(ABASE)-menus-menu_user_data.ads \
$(ABASE)-menus-item_user_data.ads \
$(ABASE)-forms-form_user_data.ads \
$(ABASE)-forms-field_types.ads \
$(ABASE)-forms-field_user_data.ads \
$(ABASE)-panels-user_data.ads
################################################################################
LIBOBJS=$(ALIB).o \
$(ABASE)-aux.o \
$(ABASE).o \
$(ABASE)-terminfo.o \
$(ABASE)-termcap.o \
$(ABASE)-putwin.o \
$(ABASE)-trace.o \
$(ABASE)-mouse.o \
$(ABASE)-panels.o \
$(ABASE)-menus.o \
$(ABASE)-forms.o \
$(ABASE)-forms-field_types.o \
$(ABASE)-forms-field_types-alpha.o \
$(ABASE)-forms-field_types-alphanumeric.o \
$(ABASE)-forms-field_types-intfield.o \
$(ABASE)-forms-field_types-numeric.o \
$(ABASE)-forms-field_types-regexp.o \
$(ABASE)-forms-field_types-enumeration.o \
$(ABASE)-forms-field_types-ipv4_address.o \
$(ABASE)-forms-field_types-user.o \
$(ABASE)-forms-field_types-user-choice.o \
$(ABASE)-text_io.o \
$(ABASE)-text_io-aux.o
# Ada object files for generic packages. Since gnat 3.10 they are
# also compiled
GENOBJS=$(ABASE)-menus-menu_user_data.o \
$(ABASE)-menus-item_user_data.o \
$(ABASE)-forms-form_user_data.o \
$(ABASE)-forms-field_user_data.o \
$(ABASE)-forms-field_types-enumeration-ada.o \
$(ABASE)-panels-user_data.o \
$(ABASE)-text_io-integer_io.o \
$(ABASE)-text_io-float_io.o \
$(ABASE)-text_io-fixed_io.o \
$(ABASE)-text_io-decimal_io.o \
$(ABASE)-text_io-enumeration_io.o \
$(ABASE)-text_io-modular_io.o \
$(ABASE)-text_io-complex_io.o
all :: $(BUILD_DIR_LIB)/$(STATIC_LIBNAME)
@echo done
$(ADA_INCLUDE) \
$(ADA_OBJECTS) \
$(LIBDIR) \
$(BUILD_DIR_LIB) :
mkdir -p $@
sources :
@echo made $@
libs \
install \
install.libs :: \
$(BUILD_DIR_LIB)/$(STATIC_LIBNAME)
@echo made $(STATIC_LIBNAME)
install \
install.libs :: \
$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \
$(ADA_OBJECTS)
@$(INSTALL_LIB) \
$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \
$(ADA_OBJECTS)
uninstall \
uninstall.libs ::
@rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME)
mostlyclean ::
rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a
clean :: mostlyclean
rm -f $(ABASE)-trace.adb
distclean :: clean
rm -f Makefile
realclean :: distclean
BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb
$(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p
rm -f $@
$(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@ $(STATIC_OBJS)
@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(STATIC_OBJS)
$(BUILD_DIR)/static-ali : ; mkdir -p $@
$(BUILD_DIR)/static-obj : ; mkdir -p $@
STATIC_DIRS = \
$(BUILD_DIR_LIB) \
$(BUILD_DIR)/static-ali \
$(BUILD_DIR)/static-obj
@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@ $(AR) $(ARFLAGS) $@ $(STATIC_C_OBJS)
@USE_GNAT_PROJECTS@
@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_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 $@
SHARED_DIRS = \
$(BUILD_DIR_LIB) \
$(BUILD_DIR)/dynamic-ali \
$(BUILD_DIR)/dynamic-obj
@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@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
install \
install.libs :: $(ADA_INCLUDE)
$(INSTALL_LIB) \
$(SOURCE_DIR_SRC)/*.ad[sb] \
$(ADA_INCLUDE)
install \
install.libs :: $(ADA_INCLUDE)
$(INSTALL_LIB) \
$(GENERATED_SOURCES) \
$(ADA_INCLUDE)
uninstall \
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) $(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@
@MAKE_ADA_SHAREDLIB@uninstall \
@MAKE_ADA_SHAREDLIB@uninstall.libs ::
@MAKE_ADA_SHAREDLIB@ $(SHELL) -c 'for name in $(BUILD_DIR)/dynamic-ali/* ; do rm -f $(ADA_OBJECTS)/`basename $$name`; done'
@MAKE_ADA_SHAREDLIB@
@MAKE_ADA_SHAREDLIB@uninstall \
@MAKE_ADA_SHAREDLIB@uninstall.libs ::
@MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_SYMLINK)
@MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_LIBNAME)
clean ::
rm -rf $(BUILD_DIR)/*-ali
rm -rf $(BUILD_DIR)/*-obj
rm -rf $(BUILD_DIR_LIB)