]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - Ada95/src/Makefile.in
ncurses 5.7 - patch 20100619
[ncurses.git] / Ada95 / src / Makefile.in
index a9c7081782a83129952b146f8a1637c8a95c4fa0..163697c50f5d923e497d649915e19aa510b0bd47 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
-# Copyright (c) 1998 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
-#  Contact: http://www.familiepfeifer.de/Contact.aspx?Lang=en
 #
-#  Version Control
-#  $Revision: 1.26 $
+#  $Id: Makefile.in,v 1.43 2010/06/19 20:25:18 tom Exp $
 #
 .SUFFIXES:
 
@@ -38,17 +36,23 @@ SHELL               = /bin/sh
 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@
 
@@ -71,20 +75,57 @@ 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   = 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                                    \
@@ -165,28 +206,34 @@ GENOBJS=$(ABASE)-menus-menu_user_data.o                   \
        $(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 $@
 
 generics: $(GENALIS)
-       @
+       @echo made $@
 
 mostlyclean ::
        rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a
@@ -199,7 +246,7 @@ distclean :: clean
 
 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
@@ -209,31 +256,31 @@ $(ABASE)-aux.o: $(srcdir)/$(ABASE)-aux.adb $(BASEDEPS)
        $(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: \
-               $(ABASE)-terminfo.ads \
+               $(srcdir)/$(ABASE)-terminfo.ads \
                $(srcdir)/$(ABASE)-terminfo.adb $(BASEDEPS)
        $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-terminfo.adb
 
 
 $(ABASE)-termcap.o: \
-               $(ABASE)-termcap.ads \
+               $(srcdir)/$(ABASE)-termcap.ads \
                $(srcdir)/$(ABASE)-termcap.adb $(BASEDEPS)
        $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-termcap.adb
 
 
 $(ABASE)-putwin.o: \
-               $(ABASE)-putwin.ads \
+               $(srcdir)/$(ABASE)-putwin.ads \
                $(srcdir)/$(ABASE)-putwin.adb $(BASEDEPS)
        $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-putwin.adb
 
 
 $(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p
        rm -f $@
-       $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ $(srcdir)/$(ABASE)-trace.adb_p $@
+       $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@
 
 $(ABASE)-trace.o: \
                $(ABASE)-trace.ads \
@@ -388,3 +435,42 @@ $(ABASE)-text_io-complex_io.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
+@MAKE_ADA_SHAREDLIB@   $(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)
+@MAKE_ADA_SHAREDLIB@   $(INSTALL_LIB) \
+@MAKE_ADA_SHAREDLIB@           $(BUILD_DIR)/dynamic-ali/* \
+@MAKE_ADA_SHAREDLIB@           $(ADA_OBJECTS)
+       $(INSTALL_LIB) \
+               $(MY_STATIC_LIB) \
+               $(DESTDIR)/usr/lib
+@MAKE_ADA_SHAREDLIB@   $(INSTALL_LIB) \
+@MAKE_ADA_SHAREDLIB@           $(BUILD_DIR_LIB)/$(SONAME) \
+@MAKE_ADA_SHAREDLIB@           $(DESTDIR)/usr/lib
+@MAKE_ADA_SHAREDLIB@   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
+@MAKE_ADA_SHAREDLIB@   rm -f \
+@MAKE_ADA_SHAREDLIB@           $(DESTDIR)/usr/lib/$(SONAME) \
+@MAKE_ADA_SHAREDLIB@           $(DESTDIR)/usr/lib/lib$(LIB_NAME).so
+
+test_clean:
+       rm -rf $(BUILD_DIR)/*-ali
+       rm -rf $(BUILD_DIR)/*-obj
+       rm -rf $(BUILD_DIR_LIB)