blob: b0e80de52af13855a3c79b80cca9c05956a73dcb [file] [log] [blame]
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05301##############################################################################
Steve Kondikae271bc2015-11-15 02:50:53 +01002# Copyright (c) 1998-2014,2015 Free Software Foundation, Inc. #
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +05303# #
4# Permission is hereby granted, free of charge, to any person obtaining a #
5# copy of this software and associated documentation files (the "Software"), #
6# to deal in the Software without restriction, including without limitation #
7# the rights to use, copy, modify, merge, publish, distribute, distribute #
8# with modifications, sublicense, and/or sell copies of the Software, and to #
9# permit persons to whom the Software is furnished to do so, subject to the #
10# following conditions: #
11# #
12# The above copyright notice and this permission notice shall be included in #
13# all copies or substantial portions of the Software. #
14# #
15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
16# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
17# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
18# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
19# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
20# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
21# DEALINGS IN THE SOFTWARE. #
22# #
23# Except as contained in this notice, the name(s) of the above copyright #
24# holders shall not be used in advertising or otherwise to promote the sale, #
25# use or other dealings in this Software without prior written #
26# authorization. #
27##############################################################################
28#
29# Author: Juergen Pfeifer, 1996
30#
Steve Kondikae271bc2015-11-15 02:50:53 +010031# $Id: Makefile.in,v 1.71 2015/08/05 23:15:41 tom Exp $
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053032#
33.SUFFIXES:
34
Steve Kondikae271bc2015-11-15 02:50:53 +010035SHELL = @SHELL@
36VPATH = @srcdir@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053037THIS = Makefile
38
39MODEL = ../../@DFT_OBJ_SUBDIR@
Steve Kondikae271bc2015-11-15 02:50:53 +010040
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053041DESTDIR = @DESTDIR@
Steve Kondikae271bc2015-11-15 02:50:53 +010042
43top_srcdir = @top_srcdir@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053044srcdir = @srcdir@
45prefix = @prefix@
46exec_prefix = @exec_prefix@
Steve Kondikae271bc2015-11-15 02:50:53 +010047includedir = @includedir@
48libdir = @libdir@
49
50LIBDIR = $(DESTDIR)$(libdir)
51ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@
52ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053053
54INSTALL = @INSTALL@
Steve Kondikae271bc2015-11-15 02:50:53 +010055INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053056
57AR = @AR@
Steve Kondikae271bc2015-11-15 02:50:53 +010058ARFLAGS = @ARFLAGS@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053059AWK = @AWK@
60LN_S = @LN_S@
61
62CC = @CC@
63CFLAGS = @CFLAGS@
64
Steve Kondikae271bc2015-11-15 02:50:53 +010065CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053066 -DHAVE_CONFIG_H -I$(srcdir)
67
68CCFLAGS = $(CPPFLAGS) $(CFLAGS)
69
70CFLAGS_NORMAL = $(CCFLAGS)
71CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
72CFLAGS_PROFILE = $(CCFLAGS) -pg
73CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
74
75CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
76
77LINK = $(CC)
78LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
79
80RANLIB = @RANLIB@
Steve Kondikae271bc2015-11-15 02:50:53 +010081
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053082################################################################################
83ADA = @cf_ada_compiler@
84ADAPREP = gnatprep
85ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir)
86
Steve Kondikae271bc2015-11-15 02:50:53 +010087LIB_NAME = AdaCurses
88SONAME = @ADA_SHAREDLIB@
89
90GNAT_PROJECT = $(srcdir)/library.gpr
91
92# build/source are the Ada95 tree
93BUILD_DIR = ..
94SOURCE_DIR = ..
95
96BUILD_DIR_LIB = $(BUILD_DIR)/lib
97SOURCE_DIR_SRC = $(SOURCE_DIR)/src
98
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +053099ADAMAKE = @cf_ada_make@
Steve Kondikae271bc2015-11-15 02:50:53 +0100100ADAMAKEFLAGS = \
101 -P$(GNAT_PROJECT) \
102 -XBUILD_DIR=`cd $(BUILD_DIR);pwd` \
103 -XSOURCE_DIR=`cd $(SOURCE_DIR);pwd` \
104 -XSOURCE_DIR2=`cd $(srcdir);pwd` \
105 -XLIB_NAME=$(LIB_NAME) \
106 -XSONAME=$(SONAME)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530107
108CARGS = -cargs $(ADAFLAGS)
109LARGS =
110
Steve Kondikae271bc2015-11-15 02:50:53 +0100111STATIC_LIBNAME = lib$(LIB_NAME).a
112SHARED_LIBNAME = $(SONAME)
113SHARED_SYMLINK = lib$(LIB_NAME).so
114
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530115ALIB = @cf_ada_package@
116ABASE = $(ALIB)-curses
Steve Kondikae271bc2015-11-15 02:50:53 +0100117################################################################################
118GENERATED_SOURCES=$(ABASE).ads \
119 $(ABASE).adb \
120 $(ABASE)-aux.ads \
121 $(ABASE)-trace.ads \
122 $(ABASE)-menus.ads \
123 $(ABASE)-forms.ads \
124 $(ABASE)-mouse.ads \
125 $(ABASE)-panels.ads \
126 $(ABASE)-menus-menu_user_data.ads \
127 $(ABASE)-menus-item_user_data.ads \
128 $(ABASE)-forms-form_user_data.ads \
129 $(ABASE)-forms-field_types.ads \
130 $(ABASE)-forms-field_user_data.ads \
131 $(ABASE)-panels-user_data.ads
132################################################################################
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530133LIBOBJS=$(ALIB).o \
134 $(ABASE)-aux.o \
135 $(ABASE).o \
136 $(ABASE)-terminfo.o \
137 $(ABASE)-termcap.o \
138 $(ABASE)-putwin.o \
139 $(ABASE)-trace.o \
140 $(ABASE)-mouse.o \
141 $(ABASE)-panels.o \
142 $(ABASE)-menus.o \
143 $(ABASE)-forms.o \
144 $(ABASE)-forms-field_types.o \
145 $(ABASE)-forms-field_types-alpha.o \
146 $(ABASE)-forms-field_types-alphanumeric.o \
147 $(ABASE)-forms-field_types-intfield.o \
148 $(ABASE)-forms-field_types-numeric.o \
149 $(ABASE)-forms-field_types-regexp.o \
150 $(ABASE)-forms-field_types-enumeration.o \
151 $(ABASE)-forms-field_types-ipv4_address.o \
152 $(ABASE)-forms-field_types-user.o \
153 $(ABASE)-forms-field_types-user-choice.o \
154 $(ABASE)-text_io.o \
155 $(ABASE)-text_io-aux.o
156
157# Ada object files for generic packages. Since gnat 3.10 they are
158# also compiled
159GENOBJS=$(ABASE)-menus-menu_user_data.o \
160 $(ABASE)-menus-item_user_data.o \
161 $(ABASE)-forms-form_user_data.o \
162 $(ABASE)-forms-field_user_data.o \
163 $(ABASE)-forms-field_types-enumeration-ada.o \
164 $(ABASE)-panels-user_data.o \
165 $(ABASE)-text_io-integer_io.o \
166 $(ABASE)-text_io-float_io.o \
167 $(ABASE)-text_io-fixed_io.o \
168 $(ABASE)-text_io-decimal_io.o \
169 $(ABASE)-text_io-enumeration_io.o \
170 $(ABASE)-text_io-modular_io.o \
171 $(ABASE)-text_io-complex_io.o
172
Steve Kondikae271bc2015-11-15 02:50:53 +0100173all :: $(BUILD_DIR_LIB)/$(STATIC_LIBNAME)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530174 @echo done
175
Steve Kondikae271bc2015-11-15 02:50:53 +0100176$(ADA_INCLUDE) \
177$(ADA_OBJECTS) \
178$(LIBDIR) \
179$(BUILD_DIR_LIB) :
180 mkdir -p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530181
182sources :
183 @echo made $@
184
185libs \
186install \
Steve Kondikae271bc2015-11-15 02:50:53 +0100187install.libs :: \
188 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME)
189 @echo made $(STATIC_LIBNAME)
190
191install \
192install.libs :: \
193 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \
194 $(ADA_OBJECTS)
195 @$(INSTALL_LIB) \
196 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \
197 $(ADA_OBJECTS)
198
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530199uninstall \
200uninstall.libs ::
Steve Kondikae271bc2015-11-15 02:50:53 +0100201 @rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530202
203mostlyclean ::
204 rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a
205
206clean :: mostlyclean
Steve Kondikae271bc2015-11-15 02:50:53 +0100207 rm -f $(ABASE)-trace.adb
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530208
209distclean :: clean
210 rm -f Makefile
211
212realclean :: distclean
213
214BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb
215
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530216$(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p
217 rm -f $@
Steve Kondikae271bc2015-11-15 02:50:53 +0100218 $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ @GNATPREP_OPTS@ $(srcdir)/$(ABASE)-trace.adb_p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530219
Steve Kondikae271bc2015-11-15 02:50:53 +0100220###############################################################################
221# Use these definitions when building a shared library.
222SHARED_C_OBJS = c_varargs_to_ada.o c_threaded_variables.o ncurses_compat.o
223SHARED_OBJS = $(SHARED_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530224
Steve Kondikae271bc2015-11-15 02:50:53 +0100225c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
226 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_varargs_to_ada.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530227
Steve Kondikae271bc2015-11-15 02:50:53 +0100228c_threaded_variables.o : $(srcdir)/c_threaded_variables.c
229 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_threaded_variables.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530230
Steve Kondikae271bc2015-11-15 02:50:53 +0100231ncurses_compat.o : $(srcdir)/ncurses_compat.c
232 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/ncurses_compat.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530233
Steve Kondikae271bc2015-11-15 02:50:53 +0100234###############################################################################
235# Use these definitions when building a static library.
236STATIC_C_OBJS = static_c_varargs_to_ada.o static_c_threaded_variables.o static_ncurses_compat.o
237STATIC_OBJS = $(STATIC_C_OBJS) @USE_OLD_MAKERULES@$(LIBOBJS) @cf_generic_objects@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530238
Steve Kondikae271bc2015-11-15 02:50:53 +0100239static_c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
240 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_varargs_to_ada.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530241
Steve Kondikae271bc2015-11-15 02:50:53 +0100242static_c_threaded_variables.o : $(srcdir)/c_threaded_variables.c
243 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_threaded_variables.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530244
Steve Kondikae271bc2015-11-15 02:50:53 +0100245static_ncurses_compat.o : $(srcdir)/ncurses_compat.c
246 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/ncurses_compat.c
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530247
Steve Kondikae271bc2015-11-15 02:50:53 +0100248###############################################################################
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530249
Steve Kondikae271bc2015-11-15 02:50:53 +0100250@USE_OLD_MAKERULES@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
251@USE_OLD_MAKERULES@ $(BUILD_DIR_LIB) \
252@USE_OLD_MAKERULES@ $(STATIC_OBJS)
253@USE_OLD_MAKERULES@ $(AR) $(ARFLAGS) $@ $(STATIC_OBJS)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530254
Steve Kondikae271bc2015-11-15 02:50:53 +0100255$(BUILD_DIR)/static-ali : ; mkdir -p $@
256$(BUILD_DIR)/static-obj : ; mkdir -p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530257
Steve Kondikae271bc2015-11-15 02:50:53 +0100258STATIC_DIRS = \
259 $(BUILD_DIR_LIB) \
260 $(BUILD_DIR)/static-ali \
261 $(BUILD_DIR)/static-obj
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530262
Steve Kondikae271bc2015-11-15 02:50:53 +0100263@USE_GNAT_PROJECTS@$(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
264@USE_GNAT_PROJECTS@ $(ABASE)-trace.adb \
265@USE_GNAT_PROJECTS@ $(STATIC_C_OBJS) \
266@USE_GNAT_PROJECTS@ $(STATIC_DIRS)
267@USE_GNAT_PROJECTS@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
268@USE_GNAT_PROJECTS@ $(AR) $(ARFLAGS) $@ $(STATIC_C_OBJS)
269@USE_GNAT_PROJECTS@
270@USE_GNAT_LIBRARIES@install \
271@USE_GNAT_LIBRARIES@install.libs :: \
272@USE_GNAT_LIBRARIES@ $(ADA_OBJECTS)
273@USE_GNAT_LIBRARIES@ $(INSTALL_LIB) \
274@USE_GNAT_LIBRARIES@ $(BUILD_DIR)/static-ali/*.ali \
275@USE_GNAT_LIBRARIES@ $(ADA_OBJECTS)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530276
Steve Kondikae271bc2015-11-15 02:50:53 +0100277uninstall \
278uninstall.libs ::
279 @rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530280
Steve Kondikae271bc2015-11-15 02:50:53 +0100281@USE_GNAT_LIBRARIES@uninstall \
282@USE_GNAT_LIBRARIES@uninstall.libs ::
283@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 +0530284
Steve Kondikae271bc2015-11-15 02:50:53 +0100285$(BUILD_DIR)/dynamic-ali : ; mkdir -p $@
286$(BUILD_DIR)/dynamic-obj : ; mkdir -p $@
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530287
Steve Kondikae271bc2015-11-15 02:50:53 +0100288SHARED_DIRS = \
289 $(BUILD_DIR_LIB) \
290 $(BUILD_DIR)/dynamic-ali \
291 $(BUILD_DIR)/dynamic-obj
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530292
Steve Kondikae271bc2015-11-15 02:50:53 +0100293@MAKE_ADA_SHAREDLIB@all :: $(BUILD_DIR_LIB)/$(SHARED_LIBNAME)
294@MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: \
295@MAKE_ADA_SHAREDLIB@ $(ABASE)-trace.adb \
296@MAKE_ADA_SHAREDLIB@ $(SHARED_DIRS) \
297@MAKE_ADA_SHAREDLIB@ $(SHARED_OBJS)
298@MAKE_ADA_SHAREDLIB@ cp $(SHARED_OBJS) $(BUILD_DIR)/dynamic-obj/
299@MAKE_ADA_SHAREDLIB@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530300
Steve Kondikae271bc2015-11-15 02:50:53 +0100301install \
302install.libs :: $(ADA_INCLUDE)
303 $(INSTALL_LIB) \
304 $(SOURCE_DIR_SRC)/*.ad[sb] \
305 $(ADA_INCLUDE)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530306
Steve Kondikae271bc2015-11-15 02:50:53 +0100307install \
308install.libs :: $(ADA_INCLUDE)
309 $(INSTALL_LIB) \
310 $(GENERATED_SOURCES) \
311 $(ADA_INCLUDE)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530312
Steve Kondikae271bc2015-11-15 02:50:53 +0100313uninstall \
314uninstall.libs ::
315 $(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 +0530316
Steve Kondikae271bc2015-11-15 02:50:53 +0100317@MAKE_ADA_SHAREDLIB@install \
318@MAKE_ADA_SHAREDLIB@install.libs :: $(ADA_OBJECTS) $(LIBDIR)
319@MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \
320@MAKE_ADA_SHAREDLIB@ $(BUILD_DIR)/dynamic-ali/* \
321@MAKE_ADA_SHAREDLIB@ $(ADA_OBJECTS)
322@MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \
323@MAKE_ADA_SHAREDLIB@ $(BUILD_DIR_LIB)/$(SHARED_LIBNAME) \
324@MAKE_ADA_SHAREDLIB@ $(LIBDIR)
325@MAKE_ADA_SHAREDLIB@ cd $(LIBDIR) && $(LN_S) $(SHARED_LIBNAME) $(SHARED_SYMLINK)
326@MAKE_ADA_SHAREDLIB@
327@MAKE_ADA_SHAREDLIB@uninstall \
328@MAKE_ADA_SHAREDLIB@uninstall.libs ::
329@MAKE_ADA_SHAREDLIB@ $(SHELL) -c 'for name in $(BUILD_DIR)/dynamic-ali/* ; do rm -f $(ADA_OBJECTS)/`basename $$name`; done'
330@MAKE_ADA_SHAREDLIB@
331@MAKE_ADA_SHAREDLIB@uninstall \
332@MAKE_ADA_SHAREDLIB@uninstall.libs ::
333@MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_SYMLINK)
334@MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_LIBNAME)
Amit Daniel Kachhape6a01f52011-07-20 11:45:59 +0530335
Steve Kondikae271bc2015-11-15 02:50:53 +0100336clean ::
337 rm -rf $(BUILD_DIR)/*-ali
338 rm -rf $(BUILD_DIR)/*-obj
339 rm -rf $(BUILD_DIR_LIB)