##############################################################################
-# Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. #
+# Copyright (c) 1998-2009,2010 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.30 2004/08/21 21:29:50 tom Exp $
+# $Id: Makefile.in,v 1.42 2010/06/12 19:44:58 tom Exp $
#
.SUFFIXES:
THIS = Makefile
MODEL = ../../@DFT_OBJ_SUBDIR@
+
DESTDIR = @DESTDIR@
+
+top_srcdir = @top_srcdir@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
-ADA_INCLUDE = @ADA_INCLUDE@
+libdir = ${exec_prefix}/lib
+
+ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@
+ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@
INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
+INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
AR = @AR@
-AR_OPTS = @AR_OPTS@
+ARFLAGS = @ARFLAGS@
AWK = @AWK@
LN_S = @LN_S@
LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
RANLIB = @RANLIB@
+
################################################################################
ADA = @cf_ada_compiler@
ADAPREP = gnatprep
ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir)
+LIB_NAME = AdaCurses
+SONAME = lib$(LIB_NAME).so.1
+
+GNAT_PROJECT = library.gpr
+
+# build/source are the Ada95 tree
+BUILD_DIR = @srcdir@/..
+SOURCE_DIR = @srcdir@/..
+
+BUILD_DIR_LIB = $(BUILD_DIR)/lib
+SOURCE_DIR_SRC = $(SOURCE_DIR)/src
+
ADAMAKE = @cf_ada_make@
-ADAMAKEFLAGS =
+ADAMAKEFLAGS = \
+ -p \
+ -P$(GNAT_PROJECT) \
+ -XBUILD_DIR=$(BUILD_DIR) \
+ -XSOURCE_DIR=$(SOURCE_DIR) \
+ -XLIB_NAME=$(LIB_NAME) \
+ -XSONAME=$(SONAME)
CARGS = -cargs $(ADAFLAGS)
LARGS =
+MY_STATIC_LIB = $(BUILD_DIR_LIB)/lib$(LIB_NAME).a
+MY_SHARED_LIB = $(BUILD_DIR_LIB)/$(SONAME)
+
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
+################################################################################
LIBALIS=$(ALIB).ali \
$(ABASE)-aux.ali \
$(ABASE).ali \
$(ABASE)-text_io-modular_io.o \
$(ABASE)-text_io-complex_io.o
-
-all :: libAdaCurses.a
+all :: $(MY_STATIC_LIB)
@echo done
-libAdaCurses.a :: dotouch $(LIBOBJS) @cf_generic_objects@
- $(AR) $(AR_OPTS) $@ $(LIBOBJS) @cf_generic_objects@
+$(BUILD_DIR_LIB) :
+ mkdir -p $@
-dotouch :
- @sh -c 'for f in $(LIBALIS) $(GENALIS); do test -f $$f || touch $$f; done'
+$(MY_STATIC_LIB) :: $(BUILD_DIR_LIB) $(LIBOBJS) @cf_generic_objects@
+ $(AR) $(ARFLAGS) $@ $(LIBOBJS) @cf_generic_objects@
sources :
@echo made $@
libs \
install \
-install.libs \
+install.libs :: $(MY_STATIC_LIB)
+ @echo made $(MY_STATIC_LIB)
+
+install \
+install.libs :: $(MY_STATIC_LIB)
+ @$(INSTALL_LIB) $(MY_STATIC_LIB) $(ADA_OBJECTS)
+ @echo made $@
+
uninstall \
uninstall.libs ::
@echo made $@
realclean :: distclean
-BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(srcdir)/$(ABASE).adb
+BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb
$(ALIB).o: $(srcdir)/$(ALIB).ads
$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ALIB).ads
$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-aux.adb
-$(ABASE).o: $(srcdir)/$(ABASE).adb $(BASEDEPS)
- $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE).adb
+$(ABASE).o: $(ABASE).adb $(BASEDEPS)
+ $(ADA) $(ADAFLAGS) -c -o $@ $(ABASE).adb
$(ABASE)-terminfo.o: \
$(srcdir)/$(ABASE)-text_io-complex_io.ads \
$(srcdir)/$(ABASE)-text_io-complex_io.adb $(BASEDEPS)
$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-complex_io.adb
+
+# in-progress rewrite to use gnatmake library project files
+
+test_make: $(ABASE)-trace.adb
+ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
+# $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
+
+test_install:
+ install --directory $(ADA_INCLUDE)
+ $(INSTALL_LIB) \
+ $(SOURCE_DIR_SRC)/*.ad[sb] \
+ $(GENERATED_SOURCES) \
+ $(ADA_INCLUDE)
+ install --directory $(ADA_OBJECTS)
+# $(INSTALL_LIB) \
+# $(BUILD_DIR)/dynamic-ali/* \
+# $(ADA_OBJECTS)
+ $(INSTALL_LIB) \
+ $(MY_STATIC_LIB) \
+ $(DESTDIR)/usr/lib
+# $(INSTALL_LIB) \
+# $(BUILD_DIR_LIB)/$(SONAME) \
+# $(DESTDIR)/usr/lib
+# cd $(DESTDIR)/usr/lib && ln -s $(SONAME) lib$(LIB_NAME).so
+
+test_uninstall:
+ rm -rf \
+ $(ADA_INCLUDE) \
+ $(ADA_OBJECTS) \
+ rm -f \
+ $(DESTDIR)/usr/lib/lib$(LIB_NAME).a
+# rm -f \
+# $(DESTDIR)/usr/lib/$(SONAME) \
+# $(DESTDIR)/usr/lib/lib$(LIB_NAME).so
+
+test_clean:
+ rm -rf $(BUILD_DIR)/*-ali
+ rm -rf $(BUILD_DIR)/*-obj
+ rm -rf $(BUILD_DIR_LIB)