1 ##############################################################################
2 # Copyright (c) 1998-2011,2014 Free Software Foundation, Inc. #
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: #
12 # The above copyright notice and this permission notice shall be included in #
13 # all copies or substantial portions of the Software. #
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. #
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 #
27 ##############################################################################
29 # Author: Juergen Pfeifer, 1996
31 # $Id: Makefile.in,v 1.68 2014/05/24 21:29:11 tom Exp $
39 MODEL = ../../@DFT_OBJ_SUBDIR@
43 top_srcdir = @top_srcdir@
46 exec_prefix = @exec_prefix@
47 includedir = @includedir@
50 LIBDIR = $(DESTDIR)$(libdir)
51 ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@
52 ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@
55 INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
65 CPPFLAGS = @ACPPFLAGS@ @CPPFLAGS@ \
66 -DHAVE_CONFIG_H -I$(srcdir)
68 CCFLAGS = $(CPPFLAGS) $(CFLAGS)
70 CFLAGS_NORMAL = $(CCFLAGS)
71 CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
72 CFLAGS_PROFILE = $(CCFLAGS) -pg
73 CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
75 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
78 LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
82 ################################################################################
83 ADA = @cf_ada_compiler@
85 ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir)
88 SONAME = @ADA_SHAREDLIB@
90 GNAT_PROJECT = $(srcdir)/library.gpr
92 # build/source are the Ada95 tree
96 BUILD_DIR_LIB = $(BUILD_DIR)/lib
97 SOURCE_DIR_SRC = $(SOURCE_DIR)/src
99 ADAMAKE = @cf_ada_make@
101 STATIC_LIBNAME = lib$(LIB_NAME).a
102 SHARED_LIBNAME = $(SONAME)
103 SHARED_SYMLINK = lib$(LIB_NAME).so
105 ALIB = @cf_ada_package@
106 ABASE = $(ALIB)-curses
107 ################################################################################
108 GENERATED_SOURCES=$(ABASE).ads \
115 $(ABASE)-panels.ads \
116 $(ABASE)-menus-menu_user_data.ads \
117 $(ABASE)-menus-item_user_data.ads \
118 $(ABASE)-forms-form_user_data.ads \
119 $(ABASE)-forms-field_types.ads \
120 $(ABASE)-forms-field_user_data.ads \
121 $(ABASE)-panels-user_data.ads
122 ################################################################################
126 $(ABASE)-terminfo.o \
134 $(ABASE)-forms-field_types.o \
135 $(ABASE)-forms-field_types-alpha.o \
136 $(ABASE)-forms-field_types-alphanumeric.o \
137 $(ABASE)-forms-field_types-intfield.o \
138 $(ABASE)-forms-field_types-numeric.o \
139 $(ABASE)-forms-field_types-regexp.o \
140 $(ABASE)-forms-field_types-enumeration.o \
141 $(ABASE)-forms-field_types-ipv4_address.o \
142 $(ABASE)-forms-field_types-user.o \
143 $(ABASE)-forms-field_types-user-choice.o \
145 $(ABASE)-text_io-aux.o
147 # Ada object files for generic packages. Since gnat 3.10 they are
149 GENOBJS=$(ABASE)-menus-menu_user_data.o \
150 $(ABASE)-menus-item_user_data.o \
151 $(ABASE)-forms-form_user_data.o \
152 $(ABASE)-forms-field_user_data.o \
153 $(ABASE)-forms-field_types-enumeration-ada.o \
154 $(ABASE)-panels-user_data.o \
155 $(ABASE)-text_io-integer_io.o \
156 $(ABASE)-text_io-float_io.o \
157 $(ABASE)-text_io-fixed_io.o \
158 $(ABASE)-text_io-decimal_io.o \
159 $(ABASE)-text_io-enumeration_io.o \
160 $(ABASE)-text_io-modular_io.o \
161 $(ABASE)-text_io-complex_io.o
163 all :: $(BUILD_DIR_LIB)/$(STATIC_LIBNAME)
178 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME)
179 @echo made $(STATIC_LIBNAME)
183 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \
186 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) \
191 @rm -f $(ADA_OBJECTS)/$(STATIC_LIBNAME)
194 rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a
197 rm -f $(ABASE)-trace.adb
202 realclean :: distclean
204 BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb
206 $(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p
208 $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ $(srcdir)/$(ABASE)-trace.adb_p $@
210 ###############################################################################
211 # Use these definitions when building a shared library.
212 SHARED_C_OBJS = c_varargs_to_ada.o c_threaded_variables.o ncurses_compat.o
213 SHARED_OBJS = $(SHARED_C_OBJS) $(LIBOBJS) @cf_generic_objects@
215 c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
216 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_varargs_to_ada.c
218 c_threaded_variables.o : $(srcdir)/c_threaded_variables.c
219 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/c_threaded_variables.c
221 ncurses_compat.o : $(srcdir)/ncurses_compat.c
222 $(CC) $(CFLAGS_DEFAULT) -c -o $@ $(srcdir)/ncurses_compat.c
224 ###############################################################################
225 # Use these definitions when building a static library.
226 STATIC_C_OBJS = static_c_varargs_to_ada.o static_c_threaded_variables.o static_ncurses_compat.o
227 STATIC_OBJS = $(STATIC_C_OBJS) $(LIBOBJS) @cf_generic_objects@
229 static_c_varargs_to_ada.o : $(srcdir)/c_varargs_to_ada.c
230 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_varargs_to_ada.c
232 static_c_threaded_variables.o : $(srcdir)/c_threaded_variables.c
233 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/c_threaded_variables.c
235 static_ncurses_compat.o : $(srcdir)/ncurses_compat.c
236 $(CC) $(CFLAGS_NORMAL) -c -o $@ $(srcdir)/ncurses_compat.c
238 ###############################################################################
240 $(BUILD_DIR_LIB)/$(STATIC_LIBNAME) :: \
243 $(AR) $(ARFLAGS) $@ $(STATIC_OBJS)
245 $(BUILD_DIR)/dynamic-ali : ; mkdir -p $@
246 $(BUILD_DIR)/dynamic-obj : ; mkdir -p $@
250 $(BUILD_DIR)/dynamic-ali \
251 $(BUILD_DIR)/dynamic-obj
254 GPR_SPACE := $(GPR_EMPTY) $(GPR_EMPTY)
256 GPR_LIST = ("$(subst $(GPR_SPACE),"$(GPR_COMMA) ",$(strip $(1)))")
257 $(GNAT_PROJECT) : $(GNAT_PROJECT).sed
259 -e "s|External (\"BUILD_DIR\")|\"`cd $(BUILD_DIR);pwd`\"|" \
260 -e 's/External ("LIB_NAME")/"$(LIB_NAME)"/' \
261 -e 's/External ("SONAME")/"$(SONAME)"/' \
262 -e 's/External_As_List\ ("ADAFLAGS", " ")/$(call GPR_LIST,$(ADAFLAGS))/' \
263 -e 's/External_As_List\ ("LDFLAGS", " ")/$(call GPR_LIST,$(LDFLAGS))/' \
266 rm -rf $(GNAT_PROJECT)
268 @MAKE_ADA_SHAREDLIB@all :: $(BUILD_DIR_LIB)/$(SHARED_LIBNAME)
269 @MAKE_ADA_SHAREDLIB@$(BUILD_DIR_LIB)/$(SHARED_LIBNAME) :: \
270 @MAKE_ADA_SHAREDLIB@ $(GNAT_PROJECT) \
271 @MAKE_ADA_SHAREDLIB@ $(ABASE)-trace.adb \
272 @MAKE_ADA_SHAREDLIB@ $(SHARED_DIRS) \
273 @MAKE_ADA_SHAREDLIB@ $(SHARED_OBJS)
274 @MAKE_ADA_SHAREDLIB@ cp $(SHARED_OBJS) $(BUILD_DIR)/dynamic-obj/
275 @MAKE_ADA_SHAREDLIB@ $(ADAMAKE) -P$(GNAT_PROJECT)
278 install.libs :: $(ADA_INCLUDE)
280 $(SOURCE_DIR_SRC)/*.ad[sb] \
284 install.libs :: $(ADA_INCLUDE)
286 $(GENERATED_SOURCES) \
291 $(SHELL) -c 'for name in $(SOURCE_DIR_SRC)/*.ad[sb] $(GENERATED_SOURCES); do rm -f $(ADA_INCLUDE)/`basename $$name`; done'
293 @MAKE_ADA_SHAREDLIB@install \
294 @MAKE_ADA_SHAREDLIB@install.libs :: $(ADA_OBJECTS) $(LIBDIR)
295 @MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \
296 @MAKE_ADA_SHAREDLIB@ $(BUILD_DIR)/dynamic-ali/* \
297 @MAKE_ADA_SHAREDLIB@ $(ADA_OBJECTS)
298 @MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \
299 @MAKE_ADA_SHAREDLIB@ $(BUILD_DIR_LIB)/$(SHARED_LIBNAME) \
300 @MAKE_ADA_SHAREDLIB@ $(LIBDIR)
301 @MAKE_ADA_SHAREDLIB@ cd $(LIBDIR) && $(LN_S) $(SHARED_LIBNAME) $(SHARED_SYMLINK)
303 @MAKE_ADA_SHAREDLIB@uninstall \
304 @MAKE_ADA_SHAREDLIB@uninstall.libs ::
305 @MAKE_ADA_SHAREDLIB@ $(SHELL) -c 'for name in $(BUILD_DIR)/dynamic-ali/* ; do rm -f $(ADA_OBJECTS)/`basename $$name`; done'
307 @MAKE_ADA_SHAREDLIB@uninstall \
308 @MAKE_ADA_SHAREDLIB@uninstall.libs ::
309 @MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_SYMLINK)
310 @MAKE_ADA_SHAREDLIB@ rm -f $(LIBDIR)/$(SHARED_LIBNAME)
313 rm -rf $(BUILD_DIR)/dynamic-ali
314 rm -rf $(BUILD_DIR)/dynamic-obj
315 rm -rf $(BUILD_DIR_LIB)