X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=Ada95%2Fsrc%2FMakefile.in;h=b0e80de52af13855a3c79b80cca9c05956a73dcb;hp=6149e3a14e91cae6eb06149c72d5cc88c06ab36e;hb=def73dda3feef55f48cc205a763c06ba1ea70e78;hpb=3b18e0dcb8788afe80d6cdda05171669e3db0068 diff --git a/Ada95/src/Makefile.in b/Ada95/src/Makefile.in index 6149e3a1..b0e80de5 100644 --- a/Ada95/src/Makefile.in +++ b/Ada95/src/Makefile.in @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. # +# 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"), # @@ -28,11 +28,12 @@ # # Author: Juergen Pfeifer, 1996 # -# $Id: Makefile.in,v 1.46 2010/06/26 21:28:56 tom Exp $ +# $Id: Makefile.in,v 1.71 2015/08/05 23:15:41 tom Exp $ # .SUFFIXES: -SHELL = /bin/sh +SHELL = @SHELL@ +VPATH = @srcdir@ THIS = Makefile MODEL = ../../@DFT_OBJ_SUBDIR@ @@ -43,8 +44,10 @@ 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@ @@ -59,7 +62,7 @@ LN_S = @LN_S@ CC = @CC@ CFLAGS = @CFLAGS@ -CPPFLAGS = @ACPPFLAGS@ \ +CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \ -DHAVE_CONFIG_H -I$(srcdir) CCFLAGS = $(CPPFLAGS) $(CFLAGS) @@ -84,11 +87,11 @@ ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir) LIB_NAME = AdaCurses SONAME = @ADA_SHAREDLIB@ -GNAT_PROJECT = library.gpr +GNAT_PROJECT = $(srcdir)/library.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 @@ -96,16 +99,18 @@ 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) CARGS = -cargs $(ADAFLAGS) LARGS = -MY_STATIC_LIB = $(BUILD_DIR_LIB)/lib$(LIB_NAME).a -MY_SHARED_LIB = $(BUILD_DIR_LIB)/$(SONAME) +STATIC_LIBNAME = lib$(LIB_NAME).a +SHARED_LIBNAME = $(SONAME) +SHARED_SYMLINK = lib$(LIB_NAME).so ALIB = @cf_ada_package@ ABASE = $(ALIB)-curses @@ -165,31 +170,35 @@ GENOBJS=$(ABASE)-menus-menu_user_data.o \ $(ABASE)-text_io-modular_io.o \ $(ABASE)-text_io-complex_io.o -all :: $(MY_STATIC_LIB) +all :: $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) @echo done +$(ADA_INCLUDE) \ +$(ADA_OBJECTS) \ +$(LIBDIR) \ $(BUILD_DIR_LIB) : mkdir -p $@ -$(MY_STATIC_LIB) :: $(BUILD_DIR_LIB) $(LIBOBJS) @cf_generic_objects@ - $(AR) $(ARFLAGS) $@ $(LIBOBJS) @cf_generic_objects@ - sources : @echo made $@ libs \ install \ -install.libs :: $(MY_STATIC_LIB) - @echo made $(MY_STATIC_LIB) +install.libs :: \ + $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) + @echo made $(STATIC_LIBNAME) install \ -install.libs :: $(MY_STATIC_LIB) - @$(INSTALL_LIB) $(MY_STATIC_LIB) $(ADA_OBJECTS) - @echo made $@ +install.libs :: \ + $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \ + $(ADA_OBJECTS) + @$(INSTALL_LIB) \ + $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \ + $(ADA_OBJECTS) uninstall \ uninstall.libs :: - @echo made $@ + @rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME) mostlyclean :: rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a @@ -206,10 +215,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 ############################################################################### -# in-progress rewrite to use gnatmake library project files +# 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 $@ @@ -219,8 +260,27 @@ STATIC_DIRS = \ $(BUILD_DIR)/static-ali \ $(BUILD_DIR)/static-obj -test_make :: $(ABASE)-trace.adb $(STATIC_DIRS) - $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static +@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 $@ @@ -230,42 +290,50 @@ SHARED_DIRS = \ $(BUILD_DIR)/dynamic-ali \ $(BUILD_DIR)/dynamic-obj -@MAKE_ADA_SHAREDLIB@test_make :: $(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@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic -test_install :: - install --directory $(ADA_INCLUDE) +install \ +install.libs :: $(ADA_INCLUDE) $(INSTALL_LIB) \ $(SOURCE_DIR_SRC)/*.ad[sb] \ - $(GENERATED_SOURCES) \ $(ADA_INCLUDE) - install --directory $(ADA_OBJECTS) + +install \ +install.libs :: $(ADA_INCLUDE) $(INSTALL_LIB) \ - $(MY_STATIC_LIB) \ - $(DESTDIR)/usr/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@test_install :: +@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)/$(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@test_uninstall :: -@MAKE_ADA_SHAREDLIB@ rm -f \ -@MAKE_ADA_SHAREDLIB@ $(DESTDIR)/usr/lib/$(SONAME) \ -@MAKE_ADA_SHAREDLIB@ $(DESTDIR)/usr/lib/lib$(LIB_NAME).so - -test_clean: +@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)