blob: eb4489b04c85a2cd4d5bdd4238204d5764be989e [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301##############################################################################
micky3879b9f5e72025-07-08 18:04:53 -04002# Copyright 2018-2020,2021 Thomas E. Dickey #
3# Copyright 1999-2016,2018 Free Software Foundation, Inc. #
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05304# #
5# Permission is hereby granted, free of charge, to any person obtaining a #
6# copy of this software and associated documentation files (the "Software"), #
7# to deal in the Software without restriction, including without limitation #
8# the rights to use, copy, modify, merge, publish, distribute, distribute #
9# with modifications, sublicense, and/or sell copies of the Software, and to #
10# permit persons to whom the Software is furnished to do so, subject to the #
11# following conditions: #
12# #
13# The above copyright notice and this permission notice shall be included in #
14# all copies or substantial portions of the Software. #
15# #
16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
17# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
19# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
20# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
21# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
22# DEALINGS IN THE SOFTWARE. #
23# #
24# Except as contained in this notice, the name(s) of the above copyright #
25# holders shall not be used in advertising or otherwise to promote the sale, #
26# use or other dealings in this Software without prior written #
27# authorization. #
28##############################################################################
29#
30# Author: Juergen Pfeifer, 1996
31#
micky3879b9f5e72025-07-08 18:04:53 -040032# $Id: Makefile.in,v 1.96 2021/07/03 15:45:33 tom Exp $
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053033#
34.SUFFIXES:
35
Steve Kondikae271bc2015-11-15 02:50:53 +010036SHELL = @SHELL@
37VPATH = @srcdir@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053038THIS = Makefile
39
micky3879b9f5e72025-07-08 18:04:53 -040040ADA_MFLAGS = @cf_cv_makeflags@
41@SET_MAKE@
42
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053043MODEL = ../../@DFT_OBJ_SUBDIR@
Steve Kondikae271bc2015-11-15 02:50:53 +010044
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053045DESTDIR = @DESTDIR@
Steve Kondikae271bc2015-11-15 02:50:53 +010046
47top_srcdir = @top_srcdir@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053048srcdir = @srcdir@
49prefix = @prefix@
50exec_prefix = @exec_prefix@
Steve Kondikae271bc2015-11-15 02:50:53 +010051includedir = @includedir@
52libdir = @libdir@
53
54LIBDIR = $(DESTDIR)$(libdir)
55ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@
56ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053057
micky3879b9f5e72025-07-08 18:04:53 -040058INSTALL = @INSTALL@ @INSTALL_OPT_O@
Steve Kondikae271bc2015-11-15 02:50:53 +010059INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053060
61AR = @AR@
Steve Kondikae271bc2015-11-15 02:50:53 +010062ARFLAGS = @ARFLAGS@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053063AWK = @AWK@
64LN_S = @LN_S@
65
66CC = @CC@
micky3879b9f5e72025-07-08 18:04:53 -040067CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053068
Steve Kondikae271bc2015-11-15 02:50:53 +010069CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053070 -DHAVE_CONFIG_H -I$(srcdir)
71
72CCFLAGS = $(CPPFLAGS) $(CFLAGS)
73
micky3879b9f5e72025-07-08 18:04:53 -040074CFLAGS_NORMAL = $(CCFLAGS) -DNCURSES_STATIC
75CFLAGS_DEBUG = $(CCFLAGS) -DNCURSES_STATIC @CC_G_OPT@ -DTRACE
76CFLAGS_PROFILE = $(CCFLAGS) -DNCURSES_STATIC -pg
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053077CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
78
79CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
80
81LINK = $(CC)
82LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
83
84RANLIB = @RANLIB@
Steve Kondikae271bc2015-11-15 02:50:53 +010085
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053086################################################################################
micky3879b9f5e72025-07-08 18:04:53 -040087ADA = @cf_ada_compiler@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053088ADAPREP = gnatprep
micky3879b9f5e72025-07-08 18:04:53 -040089ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053090
micky3879b9f5e72025-07-08 18:04:53 -040091LIB_NAME = @ADA_LIBNAME@
Steve Kondikae271bc2015-11-15 02:50:53 +010092SONAME = @ADA_SHAREDLIB@
93
micky3879b9f5e72025-07-08 18:04:53 -040094GNAT_PROJECT = @ADA_LIBNAME@.gpr
Steve Kondikae271bc2015-11-15 02:50:53 +010095
96# build/source are the Ada95 tree
97BUILD_DIR = ..
98SOURCE_DIR = ..
99
100BUILD_DIR_LIB = $(BUILD_DIR)/lib
101SOURCE_DIR_SRC = $(SOURCE_DIR)/src
102
micky3879b9f5e72025-07-08 18:04:53 -0400103ADAMAKE = @cf_ada_make@
104ADAMAKEFLAGS = \
Steve Kondikae271bc2015-11-15 02:50:53 +0100105 -P$(GNAT_PROJECT) \
106 -XBUILD_DIR=`cd $(BUILD_DIR);pwd` \
107 -XSOURCE_DIR=`cd $(SOURCE_DIR);pwd` \
108 -XSOURCE_DIR2=`cd $(srcdir);pwd` \
109 -XLIB_NAME=$(LIB_NAME) \
110 -XSONAME=$(SONAME)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530111
112CARGS = -cargs $(ADAFLAGS)
113LARGS =
114
Steve Kondikae271bc2015-11-15 02:50:53 +0100115STATIC_LIBNAME = lib$(LIB_NAME).a
116SHARED_LIBNAME = $(SONAME)
117SHARED_SYMLINK = lib$(LIB_NAME).so
118
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530119ALIB = @cf_ada_package@
120ABASE = $(ALIB)-curses
Steve Kondikae271bc2015-11-15 02:50:53 +0100121################################################################################
122GENERATED_SOURCES=$(ABASE).ads \
123 $(ABASE).adb \
124 $(ABASE)-aux.ads \
125 $(ABASE)-trace.ads \
126 $(ABASE)-menus.ads \
127 $(ABASE)-forms.ads \
128 $(ABASE)-mouse.ads \
129 $(ABASE)-panels.ads \
130 $(ABASE)-menus-menu_user_data.ads \
131 $(ABASE)-menus-item_user_data.ads \
132 $(ABASE)-forms-form_user_data.ads \
133 $(ABASE)-forms-field_types.ads \
134 $(ABASE)-forms-field_user_data.ads \
135 $(ABASE)-panels-user_data.ads
136################################################################################
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530137LIBOBJS=$(ALIB).o \
138 $(ABASE)-aux.o \
139 $(ABASE).o \
140 $(ABASE)-terminfo.o \
141 $(ABASE)-termcap.o \
142 $(ABASE)-putwin.o \
143 $(ABASE)-trace.o \
144 $(ABASE)-mouse.o \
145 $(ABASE)-panels.o \
146 $(ABASE)-menus.o \
147 $(ABASE)-forms.o \
148 $(ABASE)-forms-field_types.o \
149 $(ABASE)-forms-field_types-alpha.o \
150 $(ABASE)-forms-field_types-alphanumeric.o \
151 $(ABASE)-forms-field_types-intfield.o \
152 $(ABASE)-forms-field_types-numeric.o \
153 $(ABASE)-forms-field_types-regexp.o \
154 $(ABASE)-forms-field_types-enumeration.o \
155 $(ABASE)-forms-field_types-ipv4_address.o \
156 $(ABASE)-forms-field_types-user.o \
157 $(ABASE)-forms-field_types-user-choice.o \
158 $(ABASE)-text_io.o \
159 $(ABASE)-text_io-aux.o
160
161# Ada object files for generic packages. Since gnat 3.10 they are
162# also compiled
163GENOBJS=$(ABASE)-menus-menu_user_data.o \
164 $(ABASE)-menus-item_user_data.o \
165 $(ABASE)-forms-form_user_data.o \
166 $(ABASE)-forms-field_user_data.o \
167 $(ABASE)-forms-field_types-enumeration-ada.o \
168 $(ABASE)-panels-user_data.o \
169 $(ABASE)-text_io-integer_io.o \
170 $(ABASE)-text_io-float_io.o \
171 $(ABASE)-text_io-fixed_io.o \
172 $(ABASE)-text_io-decimal_io.o \
173 $(ABASE)-text_io-enumeration_io.o \
174 $(ABASE)-text_io-modular_io.o \
175 $(ABASE)-text_io-complex_io.o
176
micky3879b9f5e72025-07-08 18:04:53 -0400177################################################################################
178
179@MAKE_PHONY@.PHONY : all
180@MAKE_PHONY@.PHONY : clean
181@MAKE_PHONY@.PHONY : distclean
182@MAKE_PHONY@.PHONY : install
183@MAKE_PHONY@.PHONY : install.libs
184@MAKE_PHONY@.PHONY : libs
185@MAKE_PHONY@.PHONY : mostlyclean
186@MAKE_PHONY@.PHONY : realclean
187@MAKE_PHONY@.PHONY : sources
188@MAKE_PHONY@.PHONY : uninstall
189@MAKE_PHONY@.PHONY : uninstall.libs
190
Steve Kondikae271bc2015-11-15 02:50:53 +0100191all :: $(BUILD_DIR_LIB)/$(STATIC_LIBNAME)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530192 @echo done
193
Steve Kondikae271bc2015-11-15 02:50:53 +0100194$(ADA_INCLUDE) \
195$(ADA_OBJECTS) \
196$(LIBDIR) \
197$(BUILD_DIR_LIB) :
198 mkdir -p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530199
micky3879b9f5e72025-07-08 18:04:53 -0400200$(GENERATED_SOURCES) :
201 ( cd ../gen; $(MAKE) $(ADA_MFLAGS) )
202
203sources : $(GENERATED_SOURCES)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530204 @echo made $@
205
206libs \
207install \
Steve Kondikae271bc2015-11-15 02:50:53 +0100208install.libs :: \
209 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME)
210 @echo made $(STATIC_LIBNAME)
211
micky3879b9f5e72025-07-08 18:04:53 -0400212#OLD:BEGIN
Steve Kondikae271bc2015-11-15 02:50:53 +0100213install \
214install.libs :: \
215 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \
216 $(ADA_OBJECTS)
217 @$(INSTALL_LIB) \
218 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \
219 $(ADA_OBJECTS)
220
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530221uninstall \
222uninstall.libs ::
Steve Kondikae271bc2015-11-15 02:50:53 +0100223 @rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME)
micky3879b9f5e72025-07-08 18:04:53 -0400224#OLD:END
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530225
226mostlyclean ::
227 rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a
228
229clean :: mostlyclean
Steve Kondikae271bc2015-11-15 02:50:53 +0100230 rm -f $(ABASE)-trace.adb
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530231
232distclean :: clean
micky3879b9f5e72025-07-08 18:04:53 -0400233 rm -f Makefile library.gpr
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530234
235realclean :: distclean
236
237BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb
238
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530239$(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p
240 rm -f $@
Steve Kondikae271bc2015-11-15 02:50:53 +0100241 $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ @GNATPREP_OPTS@ $(srcdir)/$(ABASE)-trace.adb_p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530242
Steve Kondikae271bc2015-11-15 02:50:53 +0100243###############################################################################
244# Use these definitions when building a shared library.
245SHARED_C_OBJS = c_varargs_to_ada.o c_threaded_variables.o ncurses_compat.o
246SHARED_OBJS = $(SHARED_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530247
Steve Kondikae271bc2015-11-15 02:50:53 +0100248c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
249 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_varargs_to_ada.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530250
Steve Kondikae271bc2015-11-15 02:50:53 +0100251c_threaded_variables.o : $(srcdir)/c_threaded_variables.c
252 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_threaded_variables.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530253
Steve Kondikae271bc2015-11-15 02:50:53 +0100254ncurses_compat.o : $(srcdir)/ncurses_compat.c
255 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/ncurses_compat.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530256
Steve Kondikae271bc2015-11-15 02:50:53 +0100257###############################################################################
258# Use these definitions when building a static library.
259STATIC_C_OBJS = static_c_varargs_to_ada.o static_c_threaded_variables.o static_ncurses_compat.o
260STATIC_OBJS = $(STATIC_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530261
Steve Kondikae271bc2015-11-15 02:50:53 +0100262static_c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
263 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_varargs_to_ada.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530264
Steve Kondikae271bc2015-11-15 02:50:53 +0100265static_c_threaded_variables.o : $(srcdir)/c_threaded_variables.c
266 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_threaded_variables.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530267
Steve Kondikae271bc2015-11-15 02:50:53 +0100268static_ncurses_compat.o : $(srcdir)/ncurses_compat.c
269 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/ncurses_compat.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530270
Steve Kondikae271bc2015-11-15 02:50:53 +0100271###############################################################################
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530272
Steve Kondikae271bc2015-11-15 02:50:53 +0100273@USE_OLD_MAKERULES@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
274@USE_OLD_MAKERULES@ $(BUILD_DIR_LIB) \
275@USE_OLD_MAKERULES@ $(STATIC_OBJS)
276@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(STATIC_OBJS)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530277
Steve Kondikae271bc2015-11-15 02:50:53 +0100278$(BUILD_DIR)/static-ali : ; mkdir -p $@
279$(BUILD_DIR)/static-obj : ; mkdir -p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530280
Steve Kondikae271bc2015-11-15 02:50:53 +0100281STATIC_DIRS = \
282 $(BUILD_DIR_LIB) \
283 $(BUILD_DIR)/static-ali \
284 $(BUILD_DIR)/static-obj
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530285
Steve Kondikae271bc2015-11-15 02:50:53 +0100286@USE_GNAT_PROJECTS@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
287@USE_GNAT_PROJECTS@ $(ABASE)-trace.adb \
288@USE_GNAT_PROJECTS@ $(STATIC_C_OBJS) \
289@USE_GNAT_PROJECTS@ $(STATIC_DIRS)
micky3879b9f5e72025-07-08 18:04:53 -0400290@USE_GNAT_PROJECTS@ @cf_ada_config@gprconfig --batch --config=Ada --config=C,,,,@cf_ada_config_C@
291@USE_GNAT_PROJECTS@ -rm -f $(GNAT_PROJECT)
292@USE_GNAT_PROJECTS@ $(SHELL) $(srcdir)/library-cfg.sh static library.gpr $(CFLAGS_NORMAL) >$(GNAT_PROJECT)
293@USE_GNAT_PROJECTS@ @echo "Using GNAT Project:"
294@USE_GNAT_MAKE_GPR@ @-$(SHELL) -c "diff -c $(srcdir)/library.gpr $(GNAT_PROJECT); exit 0"
295@USE_GNAT_MAKE_GPR@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
296@USE_GNAT_MAKE_GPR@ $(AR) $(ARFLAGS) $@ $(STATIC_C_OBJS)
297@USE_GNAT_MAKE_GPR@ -rm -f $(GNAT_PROJECT)
298@USE_GNAT_GPRBUILD@ @-$(SHELL) -c "diff -c library.gpr $(GNAT_PROJECT); exit 0"
299@USE_GNAT_GPRBUILD@ gprbuild -p $(ADAMAKEFLAGS) -XLIB_KIND=static
300@USE_GNAT_GPRBUILD@ -rm -f $(GNAT_PROJECT)
301
302#OLD:BEGIN
Steve Kondikae271bc2015-11-15 02:50:53 +0100303@USE_GNAT_LIBRARIES@install \
304@USE_GNAT_LIBRARIES@install.libs :: \
305@USE_GNAT_LIBRARIES@ $(ADA_OBJECTS)
306@USE_GNAT_LIBRARIES@ $(INSTALL_LIB) \
307@USE_GNAT_LIBRARIES@ $(BUILD_DIR)/static-ali/*.ali \
308@USE_GNAT_LIBRARIES@ $(ADA_OBJECTS)
micky3879b9f5e72025-07-08 18:04:53 -0400309#OLD:END
310# While gprinstall is the "recommended" tool, it is rather brittle, with
311# hardcoded assumptions about the use of the install-name which prevent using
312# that tool to make the directory layout of older versions of the AdaCurses
313# package.
314#
315# In principle, one might just do
316# --install-name=""
317# and in dry-run mode, gprinstall pretends to handle it properly (trimming the
318# empty directory level), but without the dry-run option, it fails (tested
319# with gnat 10.1.1).
320#NEW:BEGIN
321#@USE_GNAT_LIBRARIES@install \
322#@USE_GNAT_LIBRARIES@install.libs ::
323#@USE_GNAT_LIBRARIES@ @cf_ada_config@gprconfig --batch --config=Ada --config=C,,,,@cf_ada_config_C@
324#@USE_GNAT_LIBRARIES@ -rm -f $(GNAT_PROJECT)
325#@USE_GNAT_LIBRARIES@ $(SHELL) $(srcdir)/library-cfg.sh static library.gpr $(CFLAGS_NORMAL) >$(GNAT_PROJECT)
326#@USE_GNAT_LIBRARIES@ @echo "Using GNAT Project:"
327#@USE_GNAT_LIBRARIES@ @-$(SHELL) -c "diff -c library.gpr $(GNAT_PROJECT); exit 0"
328#@USE_GNAT_LIBRARIES@
329#@USE_GNAT_LIBRARIES@ gprinstall -m -v -f -p \
330#@USE_GNAT_LIBRARIES@ --prefix="$(DESTDIR)$(prefix)" \
331#@USE_GNAT_LIBRARIES@ $(ADAMAKEFLAGS) -XLIB_KIND=static \
332#@USE_GNAT_LIBRARIES@ --lib-subdir="$(DESTDIR)$(prefix)"/lib \
333#@USE_GNAT_LIBRARIES@ --ali-subdir="$(DESTDIR)$(prefix)"/lib/ada/adalib \
334#@USE_GNAT_LIBRARIES@ --sources-subdir="$(DESTDIR)$(prefix)"/share/ada/adainclude
335#@USE_GNAT_LIBRARIES@
336#@USE_GNAT_LIBRARIES@ -rm -f $(GNAT_PROJECT)
337#NEW:END
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530338
micky3879b9f5e72025-07-08 18:04:53 -0400339#OLD:BEGIN
Steve Kondikae271bc2015-11-15 02:50:53 +0100340uninstall \
341uninstall.libs ::
342 @rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME)
micky3879b9f5e72025-07-08 18:04:53 -0400343#OLD:END
344#NEW:BEGIN
345#@USE_GNAT_LIBRARIES@uninstall \
346#@USE_GNAT_LIBRARIES@uninstall.libs ::
347#@USE_GNAT_LIBRARIES@ @cf_ada_config@gprconfig --batch --config=Ada --config=C,,,,@cf_ada_config_C@
348#@USE_GNAT_LIBRARIES@ -rm -f $(GNAT_PROJECT)
349#@USE_GNAT_LIBRARIES@ $(SHELL) $(srcdir)/library-cfg.sh static library.gpr $(CFLAGS_NORMAL) >$(GNAT_PROJECT)
350#@USE_GNAT_LIBRARIES@ @echo "Using GNAT Project:"
351#@USE_GNAT_LIBRARIES@ @-$(SHELL) -c "diff -c library.gpr $(GNAT_PROJECT); exit 0"
352#@USE_GNAT_LIBRARIES@
353#@USE_GNAT_LIBRARIES@ gprinstall -v -f --prefix="$(DESTDIR)$(prefix)" --uninstall $(ADAMAKEFLAGS) -XLIB_KIND=static
354#@USE_GNAT_LIBRARIES@
355#@USE_GNAT_LIBRARIES@ -rm -f $(GNAT_PROJECT)
356#NEW:END
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530357
Steve Kondikae271bc2015-11-15 02:50:53 +0100358@USE_GNAT_LIBRARIES@uninstall \
359@USE_GNAT_LIBRARIES@uninstall.libs ::
360@USE_GNAT_LIBRARIES@ @$(SHELL) -c 'for name in $(BUILD_DIR)/static-ali/*.ali ; do rm -f $(ADA_OBJECTS)/`basename $$name`; done'
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530361
Steve Kondikae271bc2015-11-15 02:50:53 +0100362$(BUILD_DIR)/dynamic-ali : ; mkdir -p $@
363$(BUILD_DIR)/dynamic-obj : ; mkdir -p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530364
Steve Kondikae271bc2015-11-15 02:50:53 +0100365SHARED_DIRS = \
366 $(BUILD_DIR_LIB) \
367 $(BUILD_DIR)/dynamic-ali \
368 $(BUILD_DIR)/dynamic-obj
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530369
Steve Kondikae271bc2015-11-15 02:50:53 +0100370@MAKE_ADA_SHAREDLIB@all :: $(BUILD_DIR_LIB)/$(SHARED_LIBNAME)
371@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: \
372@MAKE_ADA_SHAREDLIB@ $(ABASE)-trace.adb \
373@MAKE_ADA_SHAREDLIB@ $(SHARED_DIRS) \
374@MAKE_ADA_SHAREDLIB@ $(SHARED_OBJS)
375@MAKE_ADA_SHAREDLIB@ cp $(SHARED_OBJS) $(BUILD_DIR)/dynamic-obj/
micky3879b9f5e72025-07-08 18:04:53 -0400376@MAKE_ADA_SHAREDLIB@ @cf_ada_config@gprconfig --batch --config=Ada --config=C,,,,@cf_ada_config_C@
377@MAKE_ADA_SHAREDLIB@ -rm -f $(GNAT_PROJECT)
378@MAKE_ADA_SHAREDLIB@ $(SHELL) $(srcdir)/library-cfg.sh dynamic library.gpr $(CFLAGS_SHARED) >$(GNAT_PROJECT)
379@MAKE_ADA_SHAREDLIB@ @echo "Making Ada shared-lib:"
380@MAKE_ADA_SHAREDLIB@ @-$(SHELL) -c "diff -c library.gpr $(GNAT_PROJECT); exit 0"
Steve Kondikae271bc2015-11-15 02:50:53 +0100381@MAKE_ADA_SHAREDLIB@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
micky3879b9f5e72025-07-08 18:04:53 -0400382@MAKE_ADA_SHAREDLIB@ -rm -f $(GNAT_PROJECT)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530383
Steve Kondikae271bc2015-11-15 02:50:53 +0100384install \
385install.libs :: $(ADA_INCLUDE)
386 $(INSTALL_LIB) \
387 $(SOURCE_DIR_SRC)/*.ad[sb] \
388 $(ADA_INCLUDE)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530389
Steve Kondikae271bc2015-11-15 02:50:53 +0100390install \
391install.libs :: $(ADA_INCLUDE)
392 $(INSTALL_LIB) \
393 $(GENERATED_SOURCES) \
394 $(ADA_INCLUDE)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530395
Steve Kondikae271bc2015-11-15 02:50:53 +0100396uninstall \
397uninstall.libs ::
398 $(SHELL) -c 'for name in $(SOURCE_DIR_SRC)/*.ad[sb] $(GENERATED_SOURCES); do rm -f $(ADA_INCLUDE)/`basename $$name`; done'
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530399
Steve Kondikae271bc2015-11-15 02:50:53 +0100400@MAKE_ADA_SHAREDLIB@install \
401@MAKE_ADA_SHAREDLIB@install.libs :: $(ADA_OBJECTS) $(LIBDIR)
402@MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \
403@MAKE_ADA_SHAREDLIB@ $(BUILD_DIR)/dynamic-ali/* \
404@MAKE_ADA_SHAREDLIB@ $(ADA_OBJECTS)
405@MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \
406@MAKE_ADA_SHAREDLIB@ $(BUILD_DIR_LIB)/$(SHARED_LIBNAME) \
407@MAKE_ADA_SHAREDLIB@ $(LIBDIR)
micky3879b9f5e72025-07-08 18:04:53 -0400408@MAKE_ADA_SHAREDLIB@ ( cd $(LIBDIR) && $(LN_S) $(SHARED_LIBNAME) $(SHARED_SYMLINK) )
Steve Kondikae271bc2015-11-15 02:50:53 +0100409@MAKE_ADA_SHAREDLIB@
410@MAKE_ADA_SHAREDLIB@uninstall \
411@MAKE_ADA_SHAREDLIB@uninstall.libs ::
412@MAKE_ADA_SHAREDLIB@ $(SHELL) -c 'for name in $(BUILD_DIR)/dynamic-ali/* ; do rm -f $(ADA_OBJECTS)/`basename $$name`; done'
413@MAKE_ADA_SHAREDLIB@
414@MAKE_ADA_SHAREDLIB@uninstall \
415@MAKE_ADA_SHAREDLIB@uninstall.libs ::
416@MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_SYMLINK)
417@MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_LIBNAME)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530418
micky3879b9f5e72025-07-08 18:04:53 -0400419#rm-docs :
420# gnatdoc --enable-build $(ADAMAKEFLAGS) -XLIB_KIND=static
421
Steve Kondikae271bc2015-11-15 02:50:53 +0100422clean ::
micky3879b9f5e72025-07-08 18:04:53 -0400423 -rm -f default.cgpr
424 -rm -rf $(BUILD_DIR)/*-ali
425 -rm -rf $(BUILD_DIR)/*-obj
426 -rm -rf $(BUILD_DIR_LIB)
427#@USE_GNAT_PROJECTS@ gprclean $(ADAMAKEFLAGS) -XLIB_KIND=static
428#@MAKE_ADA_SHAREDLIB@ gprclean $(ADAMAKEFLAGS) -XLIB_KIND=dynamic