1##############################################################################
2# Copyright (c) 1998-2003,2004 Free Software Foundation, Inc.                #
3#                                                                            #
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#
31#  $Id: Makefile.in,v 1.31 2007/09/15 18:22:24 tom Exp $
32#
33.SUFFIXES:
34
35SHELL		= /bin/sh
36THIS		= Makefile
37
38MODEL		= ../../@DFT_OBJ_SUBDIR@
39DESTDIR		= @DESTDIR@
40srcdir		= @srcdir@
41prefix		= @prefix@
42exec_prefix	= @exec_prefix@
43ADA_INCLUDE	= @ADA_INCLUDE@
44
45INSTALL		= @INSTALL@
46INSTALL_DATA	= @INSTALL_DATA@
47
48AR		= @AR@
49AR_OPTS		= @AR_OPTS@
50AWK		= @AWK@
51LN_S		= @LN_S@
52
53CC		= @CC@
54CFLAGS		= @CFLAGS@
55
56CPPFLAGS	= @ACPPFLAGS@ \
57		  -DHAVE_CONFIG_H -I$(srcdir)
58
59CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
60
61CFLAGS_NORMAL	= $(CCFLAGS)
62CFLAGS_DEBUG	= $(CCFLAGS) @CC_G_OPT@ -DTRACE
63CFLAGS_PROFILE	= $(CCFLAGS) -pg
64CFLAGS_SHARED	= $(CCFLAGS) @CC_SHARED_OPTS@
65
66CFLAGS_DEFAULT	= $(CFLAGS_@DFT_UPR_MODEL@)
67
68LINK		= $(CC)
69LDFLAGS		= @LDFLAGS@ @LD_MODEL@ @LIBS@
70
71RANLIB		= @RANLIB@
72################################################################################
73ADA             = @cf_ada_compiler@
74ADAPREP		= gnatprep
75ADAFLAGS        = @ADAFLAGS@ -I. -I$(srcdir)
76
77ADAMAKE         = @cf_ada_make@
78ADAMAKEFLAGS    = 
79
80CARGS           = -cargs $(ADAFLAGS)
81LARGS           =
82
83ALIB            = @cf_ada_package@
84ABASE           = $(ALIB)-curses
85
86LIBALIS=$(ALIB).ali              			\
87	$(ABASE)-aux.ali         			\
88	$(ABASE).ali             		        \
89	$(ABASE)-terminfo.ali				\
90	$(ABASE)-termcap.ali				\
91	$(ABASE)-putwin.ali				\
92	$(ABASE)-trace.ali				\
93	$(ABASE)-mouse.ali       			\
94	$(ABASE)-panels.ali      			\
95	$(ABASE)-menus.ali       			\
96	$(ABASE)-forms.ali       			\
97	$(ABASE)-forms-field_types.ali	        	\
98	$(ABASE)-forms-field_types-alpha.ali      	\
99	$(ABASE)-forms-field_types-alphanumeric.ali     \
100	$(ABASE)-forms-field_types-intfield.ali      	\
101	$(ABASE)-forms-field_types-numeric.ali      	\
102	$(ABASE)-forms-field_types-regexp.ali      	\
103	$(ABASE)-forms-field_types-enumeration.ali      \
104	$(ABASE)-forms-field_types-ipv4_address.ali     \
105	$(ABASE)-forms-field_types-user.ali	      	\
106	$(ABASE)-forms-field_types-user-choice.ali     	\
107	$(ABASE)-text_io.ali     			\
108	$(ABASE)-text_io-aux.ali
109
110# Ada Library files for generic packages. Since gnat 3.10 they are
111# also compiled
112GENALIS=$(ABASE)-menus-menu_user_data.ali		\
113	$(ABASE)-menus-item_user_data.ali		\
114	$(ABASE)-forms-form_user_data.ali		\
115	$(ABASE)-forms-field_user_data.ali		\
116	$(ABASE)-forms-field_types-enumeration-ada.ali	\
117	$(ABASE)-panels-user_data.ali			\
118	$(ABASE)-text_io-integer_io.ali			\
119	$(ABASE)-text_io-float_io.ali			\
120	$(ABASE)-text_io-fixed_io.ali			\
121	$(ABASE)-text_io-decimal_io.ali			\
122	$(ABASE)-text_io-enumeration_io.ali		\
123	$(ABASE)-text_io-modular_io.ali			\
124	$(ABASE)-text_io-complex_io.ali
125
126LIBOBJS=$(ALIB).o                			\
127	$(ABASE)-aux.o           			\
128	$(ABASE).o               			\
129	$(ABASE)-terminfo.o				\
130	$(ABASE)-termcap.o				\
131	$(ABASE)-putwin.o				\
132	$(ABASE)-trace.o				\
133	$(ABASE)-mouse.o         			\
134	$(ABASE)-panels.o        			\
135	$(ABASE)-menus.o         			\
136	$(ABASE)-forms.o         			\
137	$(ABASE)-forms-field_types.o      		\
138	$(ABASE)-forms-field_types-alpha.o      	\
139	$(ABASE)-forms-field_types-alphanumeric.o	\
140	$(ABASE)-forms-field_types-intfield.o     	\
141	$(ABASE)-forms-field_types-numeric.o     	\
142	$(ABASE)-forms-field_types-regexp.o       	\
143	$(ABASE)-forms-field_types-enumeration.o	\
144	$(ABASE)-forms-field_types-ipv4_address.o	\
145	$(ABASE)-forms-field_types-user.o 		\
146	$(ABASE)-forms-field_types-user-choice.o 	\
147	$(ABASE)-text_io.o       			\
148	$(ABASE)-text_io-aux.o
149
150# Ada object files for generic packages. Since gnat 3.10 they are
151# also compiled
152GENOBJS=$(ABASE)-menus-menu_user_data.o			\
153	$(ABASE)-menus-item_user_data.o			\
154	$(ABASE)-forms-form_user_data.o			\
155	$(ABASE)-forms-field_user_data.o		\
156	$(ABASE)-forms-field_types-enumeration-ada.o	\
157	$(ABASE)-panels-user_data.o			\
158	$(ABASE)-text_io-integer_io.o			\
159	$(ABASE)-text_io-float_io.o			\
160	$(ABASE)-text_io-fixed_io.o			\
161	$(ABASE)-text_io-decimal_io.o			\
162	$(ABASE)-text_io-enumeration_io.o		\
163	$(ABASE)-text_io-modular_io.o			\
164	$(ABASE)-text_io-complex_io.o
165
166
167all ::  libAdaCurses.a
168	@echo done
169
170libAdaCurses.a :: dotouch $(LIBOBJS) @cf_generic_objects@
171	$(AR) $(AR_OPTS) $@ $(LIBOBJS) @cf_generic_objects@
172
173dotouch :
174	@sh -c 'for f in $(LIBALIS) $(GENALIS); do test -f $$f || touch $$f; done'
175
176sources :
177	@echo made $@
178
179libs \
180install \
181install.libs \
182uninstall \
183uninstall.libs ::
184	@echo made $@
185
186generics: $(GENALIS)
187	@echo made $@
188
189mostlyclean ::
190	rm -f *.o *.ali b_t*.* *.s $(PROGS) a.out core b_*_test.c *.xr[bs] *.a
191
192clean :: mostlyclean
193	rm -f $(LIBALIS) $(GENALIS) $(LIBOBJS) $(GENOBJS) $(ABASE)-trace.adb
194
195distclean :: clean
196	rm -f Makefile
197
198realclean :: distclean
199
200BASEDEPS=$(ABASE).ads $(ABASE)-aux.ads $(ABASE).adb
201
202$(ALIB).o: $(srcdir)/$(ALIB).ads
203	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ALIB).ads
204
205
206$(ABASE)-aux.o: $(srcdir)/$(ABASE)-aux.adb $(BASEDEPS)
207	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-aux.adb
208
209
210$(ABASE).o: $(ABASE).adb $(BASEDEPS)
211	$(ADA) $(ADAFLAGS) -c -o $@ $(ABASE).adb
212
213
214$(ABASE)-terminfo.o: \
215		$(srcdir)/$(ABASE)-terminfo.ads \
216		$(srcdir)/$(ABASE)-terminfo.adb $(BASEDEPS)
217	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-terminfo.adb
218
219
220$(ABASE)-termcap.o: \
221		$(srcdir)/$(ABASE)-termcap.ads \
222		$(srcdir)/$(ABASE)-termcap.adb $(BASEDEPS)
223	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-termcap.adb
224
225
226$(ABASE)-putwin.o: \
227		$(srcdir)/$(ABASE)-putwin.ads \
228		$(srcdir)/$(ABASE)-putwin.adb $(BASEDEPS)
229	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-putwin.adb
230
231
232$(ABASE)-trace.adb : $(srcdir)/$(ABASE)-trace.adb_p
233	rm -f $@
234	$(ADAPREP) -DADA_TRACE=@ADA_TRACE@ -DPRAGMA_UNREF=@PRAGMA_UNREF@ $(srcdir)/$(ABASE)-trace.adb_p $@
235
236$(ABASE)-trace.o: \
237		$(ABASE)-trace.ads \
238		$(ABASE)-trace.adb $(BASEDEPS)
239	$(ADA) $(ADAFLAGS) -c -o $@ $(ABASE)-trace.adb
240
241
242$(ABASE)-mouse.o: \
243		$(ABASE)-mouse.ads \
244		$(srcdir)/$(ABASE)-mouse.adb $(BASEDEPS)
245	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-mouse.adb
246
247
248$(ABASE)-panels.o: \
249		$(ABASE)-panels.ads \
250		$(srcdir)/$(ABASE)-panels.adb $(BASEDEPS)
251	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-panels.adb
252
253
254$(ABASE)-menus.o: \
255		$(ABASE)-menus.ads \
256		$(srcdir)/$(ABASE)-menus.adb $(BASEDEPS)
257	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus.adb
258
259
260$(ABASE)-forms.o: \
261		$(ABASE)-forms.ads \
262		$(srcdir)/$(ABASE)-forms.adb $(BASEDEPS)
263	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms.adb
264
265$(ABASE)-forms-field_types.o: \
266		$(ABASE)-forms-field_types.ads \
267		$(srcdir)/$(ABASE)-forms-field_types.adb $(BASEDEPS)
268	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types.adb
269
270$(ABASE)-forms-field_types-alpha.o: \
271		$(srcdir)/$(ABASE)-forms-field_types-alpha.ads \
272		$(srcdir)/$(ABASE)-forms-field_types-alpha.adb $(BASEDEPS)
273	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-alpha.adb
274
275$(ABASE)-forms-field_types-alphanumeric.o: \
276		$(srcdir)/$(ABASE)-forms-field_types-alphanumeric.ads \
277		$(srcdir)/$(ABASE)-forms-field_types-alphanumeric.adb $(BASEDEPS)
278	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-alphanumeric.adb
279
280$(ABASE)-forms-field_types-intfield.o: \
281		$(srcdir)/$(ABASE)-forms-field_types-intfield.ads \
282		$(srcdir)/$(ABASE)-forms-field_types-intfield.adb $(BASEDEPS)
283	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-intfield.adb
284
285$(ABASE)-forms-field_types-numeric.o: \
286		$(srcdir)/$(ABASE)-forms-field_types-numeric.ads \
287		$(srcdir)/$(ABASE)-forms-field_types-numeric.adb $(BASEDEPS)
288	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-numeric.adb
289
290$(ABASE)-forms-field_types-regexp.o: \
291		$(srcdir)/$(ABASE)-forms-field_types-regexp.ads \
292		$(srcdir)/$(ABASE)-forms-field_types-regexp.adb $(BASEDEPS)
293	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-regexp.adb
294
295$(ABASE)-forms-field_types-enumeration.o: \
296		$(srcdir)/$(ABASE)-forms-field_types-enumeration.ads \
297		$(srcdir)/$(ABASE)-forms-field_types-enumeration.adb $(BASEDEPS)
298	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-enumeration.adb
299
300$(ABASE)-forms-field_types-ipv4_address.o: \
301		$(srcdir)/$(ABASE)-forms-field_types-ipv4_address.ads \
302		$(srcdir)/$(ABASE)-forms-field_types-ipv4_address.adb $(BASEDEPS)
303	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-ipv4_address.adb
304
305$(ABASE)-forms-field_types-user.o: \
306		$(srcdir)/$(ABASE)-forms-field_types-user.ads \
307		$(srcdir)/$(ABASE)-forms-field_types-user.adb $(BASEDEPS)
308	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-user.adb
309
310$(ABASE)-forms-field_types-user-choice.o: \
311		$(srcdir)/$(ABASE)-forms-field_types-user-choice.ads \
312		$(srcdir)/$(ABASE)-forms-field_types-user-choice.adb $(BASEDEPS)
313	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-user-choice.adb
314
315$(ABASE)-text_io.o: \
316		$(srcdir)/$(ABASE)-text_io.ads \
317		$(srcdir)/$(ABASE)-text_io.adb $(BASEDEPS)
318	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io.adb
319
320$(ABASE)-text_io-aux.o: \
321		$(srcdir)/$(ABASE)-text_io-aux.ads \
322		$(srcdir)/$(ABASE)-text_io-aux.adb $(BASEDEPS)
323	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-aux.adb
324
325$(ABASE)-menus-menu_user_data.o: \
326		$(ABASE)-menus-menu_user_data.ads \
327		$(srcdir)/$(ABASE)-menus-menu_user_data.adb $(BASEDEPS)
328	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus-menu_user_data.adb
329
330$(ABASE)-menus-item_user_data.o: \
331		$(ABASE)-menus-item_user_data.ads \
332		$(srcdir)/$(ABASE)-menus-item_user_data.adb $(BASEDEPS)
333	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-menus-item_user_data.adb
334
335$(ABASE)-forms-form_user_data.o: \
336		$(ABASE)-forms-form_user_data.ads \
337		$(srcdir)/$(ABASE)-forms-form_user_data.adb $(BASEDEPS)
338	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-form_user_data.adb
339
340$(ABASE)-forms-field_user_data.o: \
341		$(ABASE)-forms-field_user_data.ads \
342		$(srcdir)/$(ABASE)-forms-field_user_data.adb $(BASEDEPS)
343	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_user_data.adb
344
345$(ABASE)-forms-field_types-enumeration-ada.o: \
346		$(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.ads \
347		$(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.adb $(BASEDEPS)
348	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-forms-field_types-enumeration-ada.adb
349
350$(ABASE)-panels-user_data.o: \
351		$(ABASE)-panels-user_data.ads \
352		$(srcdir)/$(ABASE)-panels-user_data.adb $(BASEDEPS)
353	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-panels-user_data.adb
354
355$(ABASE)-text_io-integer_io.o: \
356		$(srcdir)/$(ABASE)-text_io-integer_io.ads \
357		$(srcdir)/$(ABASE)-text_io-integer_io.adb $(BASEDEPS)
358	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-integer_io.adb
359
360$(ABASE)-text_io-float_io.o: \
361		$(srcdir)/$(ABASE)-text_io-float_io.ads \
362		$(srcdir)/$(ABASE)-text_io-float_io.adb $(BASEDEPS)
363	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-float_io.adb
364
365$(ABASE)-text_io-fixed_io.o: \
366		$(srcdir)/$(ABASE)-text_io-fixed_io.ads \
367		$(srcdir)/$(ABASE)-text_io-fixed_io.adb $(BASEDEPS)
368	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-fixed_io.adb
369
370$(ABASE)-text_io-decimal_io.o: \
371		$(srcdir)/$(ABASE)-text_io-decimal_io.ads \
372		$(srcdir)/$(ABASE)-text_io-decimal_io.adb $(BASEDEPS)
373	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-decimal_io.adb
374
375$(ABASE)-text_io-enumeration_io.o: \
376		$(srcdir)/$(ABASE)-text_io-enumeration_io.ads \
377		$(srcdir)/$(ABASE)-text_io-enumeration_io.adb $(BASEDEPS)
378	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-enumeration_io.adb
379
380$(ABASE)-text_io-modular_io.o: \
381		$(srcdir)/$(ABASE)-text_io-modular_io.ads \
382		$(srcdir)/$(ABASE)-text_io-modular_io.adb $(BASEDEPS)
383	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-modular_io.adb
384
385$(ABASE)-text_io-complex_io.o: \
386		$(srcdir)/$(ABASE)-text_io-complex_io.ads \
387		$(srcdir)/$(ABASE)-text_io-complex_io.adb $(BASEDEPS)
388	$(ADA) $(ADAFLAGS) -c -o $@ $(srcdir)/$(ABASE)-text_io-complex_io.adb
389