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.42 2010/06/12 19:44:58 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 = lib$(LIB_NAME).so.1
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@
100 -XBUILD_DIR=$(BUILD_DIR) \
101 -XSOURCE_DIR=$(SOURCE_DIR) \
102 -XLIB_NAME=$(LIB_NAME) \
105 CARGS = -cargs $(ADAFLAGS)
108 MY_STATIC_LIB = $(BUILD_DIR_LIB)/lib$(LIB_NAME).a
109 MY_SHARED_LIB = $(BUILD_DIR_LIB)/$(SONAME)
111 ALIB = @cf_ada_package@
112 ABASE = $(ALIB)-curses
113 ################################################################################
114 GENERATED_SOURCES=$(ABASE).ads \
121 $(ABASE)-panels.ads \
122 $(ABASE)-menus-menu_user_data.ads \
123 $(ABASE)-menus-item_user_data.ads \
124 $(ABASE)-forms-form_user_data.ads \
125 $(ABASE)-forms-field_types.ads \
126 $(ABASE)-forms-field_user_data.ads \
127 $(ABASE)-panels-user_data.ads
128 ################################################################################
129 LIBALIS=$(ALIB).ali \
132 $(ABASE)-terminfo.ali \
133 $(ABASE)-termcap.ali \
134 $(ABASE)-putwin.ali \
137 $(ABASE)-panels.ali \
140 $(ABASE)-forms-field_types.ali \
141 $(ABASE)-forms-field_types-alpha.ali \
142 $(ABASE)-forms-field_types-alphanumeric.ali \
143 $(ABASE)-forms-field_types-intfield.ali \
144 $(ABASE)-forms-field_types-numeric.ali \
145 $(ABASE)-forms-field_types-regexp.ali \
146 $(ABASE)-forms-field_types-enumeration.ali \
147 $(ABASE)-forms-field_types-ipv4_address.ali \
148 $(ABASE)-forms-field_types-user.ali \
149 $(ABASE)-forms-field_types-user-choice.ali \
150 $(ABASE)-text_io.ali \
151 $(ABASE)-text_io-aux.ali
153 # Ada Library files for generic packages. Since gnat 3.10 they are
155 GENALIS=$(ABASE)-menus-menu_user_data.ali \
156 $(ABASE)-menus-item_user_data.ali \
157 $(ABASE)-forms-form_user_data.ali \
158 $(ABASE)-forms-field_user_data.ali \
159 $(ABASE)-forms-field_types-enumeration-ada.ali \
160 $(ABASE)-panels-user_data.ali \
161 $(ABASE)-text_io-integer_io.ali \
162 $(ABASE)-text_io-float_io.ali \
163 $(ABASE)-text_io-fixed_io.ali \
164 $(ABASE)-text_io-decimal_io.ali \
165 $(ABASE)-text_io-enumeration_io.ali \
166 $(ABASE)-text_io-modular_io.ali \
167 $(ABASE)-text_io-complex_io.ali
172 $(ABASE)-terminfo.o \
180 $(ABASE)-forms-field_types.o \
181 $(ABASE)-forms-field_types-alpha.o \
182 $(ABASE)-forms-field_types-alphanumeric.o \
183 $(ABASE)-forms-field_types-intfield.o \
184 $(ABASE)-forms-field_types-numeric.o \
185 $(ABASE)-forms-field_types-regexp.o \
186 $(ABASE)-forms-field_types-enumeration.o \
187 $(ABASE)-forms-field_types-ipv4_address.o \
188 $(ABASE)-forms-field_types-user.o \
189 $(ABASE)-forms-field_types-user-choice.o \
191 $(ABASE)-text_io-aux.o
193 # Ada object files for generic packages. Since gnat 3.10 they are
195 GENOBJS=$(ABASE)-menus-menu_user_data.o \
196 $(ABASE)-menus-item_user_data.o \
197 $(ABASE)-forms-form_user_data.o \
198 $(ABASE)-forms-field_user_data.o \
199 $(ABASE)-forms-field_types-enumeration-ada.o \
200 $(ABASE)-panels-user_data.o \
201 $(ABASE)-text_io-integer_io.o \
202 $(ABASE)-text_io-float_io.o \
203 $(ABASE)-text_io-fixed_io.o \
204 $(ABASE)-text_io-decimal_io.o \
205 $(ABASE)-text_io-enumeration_io.o \
206 $(ABASE)-text_io-modular_io.o \
207 $(ABASE)-text_io-complex_io.o
209 all :: $(MY_STATIC_LIB)
215 $(MY_STATIC_LIB) :: $(BUILD_DIR_LIB) $(LIBOBJS) @cf_generic_objects@
216 $(AR) $(ARFLAGS) $@ $(LIBOBJS) @cf_generic_objects@
223 install.libs :: $(MY_STATIC_LIB)
224 @echo made $(MY_STATIC_LIB)
227 install.libs :: $(MY_STATIC_LIB)
228 @$(INSTALL_LIB) $(MY_STATIC_LIB) $(ADA_OBJECTS)
239 rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a
242 rm -f $(LIBALIS) $(GENALIS) $(LIBOBJS) $(GENOBJS) $(ABASE)-trace.adb
247 realclean :: distclean
249 BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb
251 $(ALIB).o: $(srcdir)/$(ALIB).ads
252 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ALIB).ads
255 $(ABASE)-aux.o: $(srcdir)/$(ABASE)-aux.adb $(BASEDEPS)
256 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-aux.adb
259 $(ABASE).o: $(ABASE).adb $(BASEDEPS)
260 $(ADA) $(ADAFLAGS) -c -o $@ $(ABASE).adb
263 $(ABASE)-terminfo.o: \
264 $(srcdir)/$(ABASE)-terminfo.ads \
265 $(srcdir)/$(ABASE)-terminfo.adb $(BASEDEPS)
266 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-terminfo.adb
269 $(ABASE)-termcap.o: \
270 $(srcdir)/$(ABASE)-termcap.ads \
271 $(srcdir)/$(ABASE)-termcap.adb $(BASEDEPS)
272 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-termcap.adb
276 $(srcdir)/$(ABASE)-putwin.ads \
277 $(srcdir)/$(ABASE)-putwin.adb $(BASEDEPS)
278 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-putwin.adb
281 $(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p
283 $(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@
287 $(ABASE)-trace.adb $(BASEDEPS)
288 $(ADA) $(ADAFLAGS) -c -o $@ $(ABASE)-trace.adb
293 $(srcdir)/$(ABASE)-mouse.adb $(BASEDEPS)
294 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-mouse.adb
298 $(ABASE)-panels.ads \
299 $(srcdir)/$(ABASE)-panels.adb $(BASEDEPS)
300 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-panels.adb
305 $(srcdir)/$(ABASE)-menus.adb $(BASEDEPS)
306 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus.adb
311 $(srcdir)/$(ABASE)-forms.adb $(BASEDEPS)
312 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms.adb
314 $(ABASE)-forms-field_types.o: \
315 $(ABASE)-forms-field_types.ads \
316 $(srcdir)/$(ABASE)-forms-field_types.adb $(BASEDEPS)
317 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types.adb
319 $(ABASE)-forms-field_types-alpha.o: \
320 $(srcdir)/$(ABASE)-forms-field_types-alpha.ads \
321 $(srcdir)/$(ABASE)-forms-field_types-alpha.adb $(BASEDEPS)
322 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-alpha.adb
324 $(ABASE)-forms-field_types-alphanumeric.o: \
325 $(srcdir)/$(ABASE)-forms-field_types-alphanumeric.ads \
326 $(srcdir)/$(ABASE)-forms-field_types-alphanumeric.adb $(BASEDEPS)
327 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-alphanumeric.adb
329 $(ABASE)-forms-field_types-intfield.o: \
330 $(srcdir)/$(ABASE)-forms-field_types-intfield.ads \
331 $(srcdir)/$(ABASE)-forms-field_types-intfield.adb $(BASEDEPS)
332 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-intfield.adb
334 $(ABASE)-forms-field_types-numeric.o: \
335 $(srcdir)/$(ABASE)-forms-field_types-numeric.ads \
336 $(srcdir)/$(ABASE)-forms-field_types-numeric.adb $(BASEDEPS)
337 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-numeric.adb
339 $(ABASE)-forms-field_types-regexp.o: \
340 $(srcdir)/$(ABASE)-forms-field_types-regexp.ads \
341 $(srcdir)/$(ABASE)-forms-field_types-regexp.adb $(BASEDEPS)
342 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-regexp.adb
344 $(ABASE)-forms-field_types-enumeration.o: \
345 $(srcdir)/$(ABASE)-forms-field_types-enumeration.ads \
346 $(srcdir)/$(ABASE)-forms-field_types-enumeration.adb $(BASEDEPS)
347 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-enumeration.adb
349 $(ABASE)-forms-field_types-ipv4_address.o: \
350 $(srcdir)/$(ABASE)-forms-field_types-ipv4_address.ads \
351 $(srcdir)/$(ABASE)-forms-field_types-ipv4_address.adb $(BASEDEPS)
352 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-ipv4_address.adb
354 $(ABASE)-forms-field_types-user.o: \
355 $(srcdir)/$(ABASE)-forms-field_types-user.ads \
356 $(srcdir)/$(ABASE)-forms-field_types-user.adb $(BASEDEPS)
357 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-user.adb
359 $(ABASE)-forms-field_types-user-choice.o: \
360 $(srcdir)/$(ABASE)-forms-field_types-user-choice.ads \
361 $(srcdir)/$(ABASE)-forms-field_types-user-choice.adb $(BASEDEPS)
362 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-user-choice.adb
364 $(ABASE)-text_io.o: \
365 $(srcdir)/$(ABASE)-text_io.ads \
366 $(srcdir)/$(ABASE)-text_io.adb $(BASEDEPS)
367 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io.adb
369 $(ABASE)-text_io-aux.o: \
370 $(srcdir)/$(ABASE)-text_io-aux.ads \
371 $(srcdir)/$(ABASE)-text_io-aux.adb $(BASEDEPS)
372 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-aux.adb
374 $(ABASE)-menus-menu_user_data.o: \
375 $(ABASE)-menus-menu_user_data.ads \
376 $(srcdir)/$(ABASE)-menus-menu_user_data.adb $(BASEDEPS)
377 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus-menu_user_data.adb
379 $(ABASE)-menus-item_user_data.o: \
380 $(ABASE)-menus-item_user_data.ads \
381 $(srcdir)/$(ABASE)-menus-item_user_data.adb $(BASEDEPS)
382 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus-item_user_data.adb
384 $(ABASE)-forms-form_user_data.o: \
385 $(ABASE)-forms-form_user_data.ads \
386 $(srcdir)/$(ABASE)-forms-form_user_data.adb $(BASEDEPS)
387 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-form_user_data.adb
389 $(ABASE)-forms-field_user_data.o: \
390 $(ABASE)-forms-field_user_data.ads \
391 $(srcdir)/$(ABASE)-forms-field_user_data.adb $(BASEDEPS)
392 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_user_data.adb
394 $(ABASE)-forms-field_types-enumeration-ada.o: \
395 $(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.ads \
396 $(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.adb $(BASEDEPS)
397 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.adb
399 $(ABASE)-panels-user_data.o: \
400 $(ABASE)-panels-user_data.ads \
401 $(srcdir)/$(ABASE)-panels-user_data.adb $(BASEDEPS)
402 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-panels-user_data.adb
404 $(ABASE)-text_io-integer_io.o: \
405 $(srcdir)/$(ABASE)-text_io-integer_io.ads \
406 $(srcdir)/$(ABASE)-text_io-integer_io.adb $(BASEDEPS)
407 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-integer_io.adb
409 $(ABASE)-text_io-float_io.o: \
410 $(srcdir)/$(ABASE)-text_io-float_io.ads \
411 $(srcdir)/$(ABASE)-text_io-float_io.adb $(BASEDEPS)
412 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-float_io.adb
414 $(ABASE)-text_io-fixed_io.o: \
415 $(srcdir)/$(ABASE)-text_io-fixed_io.ads \
416 $(srcdir)/$(ABASE)-text_io-fixed_io.adb $(BASEDEPS)
417 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-fixed_io.adb
419 $(ABASE)-text_io-decimal_io.o: \
420 $(srcdir)/$(ABASE)-text_io-decimal_io.ads \
421 $(srcdir)/$(ABASE)-text_io-decimal_io.adb $(BASEDEPS)
422 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-decimal_io.adb
424 $(ABASE)-text_io-enumeration_io.o: \
425 $(srcdir)/$(ABASE)-text_io-enumeration_io.ads \
426 $(srcdir)/$(ABASE)-text_io-enumeration_io.adb $(BASEDEPS)
427 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-enumeration_io.adb
429 $(ABASE)-text_io-modular_io.o: \
430 $(srcdir)/$(ABASE)-text_io-modular_io.ads \
431 $(srcdir)/$(ABASE)-text_io-modular_io.adb $(BASEDEPS)
432 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-modular_io.adb
434 $(ABASE)-text_io-complex_io.o: \
435 $(srcdir)/$(ABASE)-text_io-complex_io.ads \
436 $(srcdir)/$(ABASE)-text_io-complex_io.adb $(BASEDEPS)
437 $(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-complex_io.adb
439 # in-progress rewrite to use gnatmake library project files
441 test_make: $(ABASE)-trace.adb
442 $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=static
443 # $(ADAMAKE) $(ADAMAKEFLAGS) -XLIB_KIND=dynamic
446 install --directory $(ADA_INCLUDE)
448 $(SOURCE_DIR_SRC)/*.ad[sb] \
449 $(GENERATED_SOURCES) \
451 install --directory $(ADA_OBJECTS)
453 # $(BUILD_DIR)/dynamic-ali/* \
459 # $(BUILD_DIR_LIB)/$(SONAME) \
461 # cd $(DESTDIR)/usr/lib && ln -s $(SONAME) lib$(LIB_NAME).so
468 $(DESTDIR)/usr/lib/lib$(LIB_NAME).a
470 # $(DESTDIR)/usr/lib/$(SONAME) \
471 # $(DESTDIR)/usr/lib/lib$(LIB_NAME).so
474 rm -rf $(BUILD_DIR)/*-ali
475 rm -rf $(BUILD_DIR)/*-obj
476 rm -rf $(BUILD_DIR_LIB)