1 ##############################################################################
2 # Copyright (c) 1998-2009,2010 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.46 2010/06/26 21:28:56 tom Exp $
38 MODEL = ../../@DFT_OBJ_SUBDIR@
42 top_srcdir = @top_srcdir@
45 exec_prefix = @exec_prefix@
46 libdir = ${exec_prefix}/lib
48 ADA_INCLUDE = $(DESTDIR)@ADA_INCLUDE@
49 ADA_OBJECTS = $(DESTDIR)@ADA_OBJECTS@
52 INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
62 CPPFLAGS = @ACPPFLAGS@ \
63 -DHAVE_CONFIG_H -I$(srcdir)
65 CCFLAGS = $(CPPFLAGS) $(CFLAGS)
67 CFLAGS_NORMAL = $(CCFLAGS)
68 CFLAGS_DEBUG = $(CCFLAGS) @CC_G_OPT@ -DTRACE
69 CFLAGS_PROFILE = $(CCFLAGS) -pg
70 CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
72 CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
75 LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@
79 ################################################################################
80 ADA = @cf_ada_compiler@
82 ADAFLAGS = @ADAFLAGS@ -I. -I$(srcdir)
85 SONAME = @ADA_SHAREDLIB@
87 GNAT_PROJECT = library.gpr
89 # build/source are the Ada95 tree
90 BUILD_DIR = @srcdir@/..
91 SOURCE_DIR = @srcdir@/..
93 BUILD_DIR_LIB = $(BUILD_DIR)/lib
94 SOURCE_DIR_SRC = $(SOURCE_DIR)/src
96 ADAMAKE = @cf_ada_make@
99 -XBUILD_DIR=$(BUILD_DIR) \
100 -XSOURCE_DIR=$(SOURCE_DIR) \
101 -XLIB_NAME=$(LIB_NAME) \
104 CARGS = -cargs $(ADAFLAGS)
107 MY_STATIC_LIB = $(BUILD_DIR_LIB)/lib$(LIB_NAME).a
108 MY_SHARED_LIB = $(BUILD_DIR_LIB)/$(SONAME)
110 ALIB = @cf_ada_package@
111 ABASE = $(ALIB)-curses
112 ################################################################################
113 GENERATED_SOURCES=$(ABASE).ads \
120 $(ABASE)-panels.ads \
121 $(ABASE)-menus-menu_user_data.ads \
122 $(ABASE)-menus-item_user_data.ads \
123 $(ABASE)-forms-form_user_data.ads \
124 $(ABASE)-forms-field_types.ads \
125 $(ABASE)-forms-field_user_data.ads \
126 $(ABASE)-panels-user_data.ads
127 ################################################################################
131 $(ABASE)-terminfo.o \
139 $(ABASE)-forms-field_types.o \
140 $(ABASE)-forms-field_types-alpha.o \
141 $(ABASE)-forms-field_types-alphanumeric.o \
142 $(ABASE)-forms-field_types-intfield.o \
143 $(ABASE)-forms-field_types-numeric.o \
144 $(ABASE)-forms-field_types-regexp.o \
145 $(ABASE)-forms-field_types-enumeration.o \
146 $(ABASE)-forms-field_types-ipv4_address.o \
147 $(ABASE)-forms-field_types-user.o \
148 $(ABASE)-forms-field_types-user-choice.o \
150 $(ABASE)-text_io-aux.o
152 # Ada object files for generic packages. Since gnat 3.10 they are
154 GENOBJS=$(ABASE)-menus-menu_user_data.o \
155 $(ABASE)-menus-item_user_data.o \
156 $(ABASE)-forms-form_user_data.o \
157 $(ABASE)-forms-field_user_data.o \
158 $(ABASE)-forms-field_types-enumeration-ada.o \
159 $(ABASE)-panels-user_data.o \
160 $(ABASE)-text_io-integer_io.o \
161 $(ABASE)-text_io-float_io.o \
162 $(ABASE)-text_io-fixed_io.o \
163 $(ABASE)-text_io-decimal_io.o \
164 $(ABASE)-text_io-enumeration_io.o \
165 $(ABASE)-text_io-modular_io.o \
166 $(ABASE)-text_io-complex_io.o
168 all :: $(MY_STATIC_LIB)
174 $(MY_STATIC_LIB) :: $(BUILD_DIR_LIB) $(LIBOBJS) @cf_generic_objects@
175 $(AR) $(ARFLAGS) $@ $(LIBOBJS) @cf_generic_objects@
182 install.libs :: $(MY_STATIC_LIB)
183 @echo made $(MY_STATIC_LIB)
186 install.libs :: $(MY_STATIC_LIB)
187 @$(INSTALL_LIB) $(MY_STATIC_LIB) $(ADA_OBJECTS)
195 rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a
198 rm -f $(ABASE)-trace.adb
203 realclean :: distclean
205 BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb
207 $(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p
209 $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@
211 ###############################################################################
212 # in-progress rewrite to use gnatmake library project files
214 $(BUILD_DIR)/static-ali : ; mkdir -p $@
215 $(BUILD_DIR)/static-obj : ; mkdir -p $@
219 $(BUILD_DIR)/static-ali \
220 $(BUILD_DIR)/static-obj
222 test_make :: $(ABASE)-trace.adb $(STATIC_DIRS)
223 $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
225 $(BUILD_DIR)/dynamic-ali : ; mkdir -p $@
226 $(BUILD_DIR)/dynamic-obj : ; mkdir -p $@
230 $(BUILD_DIR)/dynamic-ali \
231 $(BUILD_DIR)/dynamic-obj
233 @MAKE_ADA_SHAREDLIB@test_make :: $(ABASE)-trace.adb $(SHARED_DIRS)
234 @MAKE_ADA_SHAREDLIB@ $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
237 install --directory $(ADA_INCLUDE)
239 $(SOURCE_DIR_SRC)/*.ad[sb] \
240 $(GENERATED_SOURCES) \
242 install --directory $(ADA_OBJECTS)
247 @MAKE_ADA_SHAREDLIB@test_install ::
248 @MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \
249 @MAKE_ADA_SHAREDLIB@ $(BUILD_DIR)/dynamic-ali/* \
250 @MAKE_ADA_SHAREDLIB@ $(ADA_OBJECTS)
251 @MAKE_ADA_SHAREDLIB@ $(INSTALL_LIB) \
252 @MAKE_ADA_SHAREDLIB@ $(BUILD_DIR_LIB)/$(SONAME) \
253 @MAKE_ADA_SHAREDLIB@ $(DESTDIR)/usr/lib
254 @MAKE_ADA_SHAREDLIB@ cd $(DESTDIR)/usr/lib && ln -s $(SONAME) lib$(LIB_NAME).so
261 $(DESTDIR)/usr/lib/lib$(LIB_NAME).a
263 @MAKE_ADA_SHAREDLIB@test_uninstall ::
264 @MAKE_ADA_SHAREDLIB@ rm -f \
265 @MAKE_ADA_SHAREDLIB@ $(DESTDIR)/usr/lib/$(SONAME) \
266 @MAKE_ADA_SHAREDLIB@ $(DESTDIR)/usr/lib/lib$(LIB_NAME).so
269 rm -rf $(BUILD_DIR)/*-ali
270 rm -rf $(BUILD_DIR)/*-obj
271 rm -rf $(BUILD_DIR_LIB)