1#    Makefile template for Configure for the sim library.
2#    Copyright (C) 1993-2020 Free Software Foundation, Inc.
3#    Written by Cygnus Support.
4# 
5# This file is part of BFD, the Binary File Descriptor library.
6# 
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 3 of the License, or
10# (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20VPATH = @srcdir@
21srcdir = @srcdir@
22
23prefix = @prefix@
24exec_prefix = @exec_prefix@
25
26host_alias = @host_alias@
27target_alias = @target_alias@
28program_transform_name = @program_transform_name@
29bindir = @bindir@
30libdir = @libdir@
31tooldir = $(libdir)/$(target_alias)
32
33datarootdir = @datarootdir@
34datadir = @datadir@
35mandir = @mandir@
36man1dir = $(mandir)/man1
37man2dir = $(mandir)/man2
38man3dir = $(mandir)/man3
39man4dir = $(mandir)/man4
40man5dir = $(mandir)/man5
41man6dir = $(mandir)/man6
42man7dir = $(mandir)/man7
43man8dir = $(mandir)/man8
44man9dir = $(mandir)/man9
45infodir = @infodir@
46includedir = @includedir@
47
48SHELL = @SHELL@
49
50INSTALL = @INSTALL@
51INSTALL_PROGRAM = @INSTALL_PROGRAM@
52INSTALL_DATA = @INSTALL_DATA@
53
54AR = @AR@
55AR_FLAGS = rc
56CC = @CC@
57CFLAGS = @CFLAGS@
58CC_FOR_BUILD = @CC_FOR_BUILD@
59CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
60MAKEINFO = makeinfo
61RANLIB = @RANLIB@
62
63SUBDIRS = @subdirs@
64
65INCDIR = $(srcdir)/../include
66CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
67DEP = mkdep
68
69#### Makefile fragments come in here.
70# @target_makefile_frag@
71###
72
73# Name of the ChangeLog file.
74ChangeLog = ChangeLog
75
76
77RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \
78		echo $${srcdir}/../dejagnu/runtest ; else echo runtest; \
79	   fi`
80RUNTESTFLAGS=
81
82FLAGS_TO_PASS = \
83	"prefix=$(prefix)" \
84	"exec_prefix=$(exec_prefix)" \
85	"bindir=$(bindir)" \
86	"mandir=$(mandir)" \
87	"libdir=$(libdir)" \
88	"against=$(against)" \
89	"AR=$(AR)" \
90	"AR_FLAGS=$(AR_FLAGS)" \
91	"CC=$(CC)" \
92	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
93	"CFLAGS=$(CFLAGS)" \
94	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
95	"RANLIB=$(RANLIB)" \
96	"MAKEINFO=$(MAKEINFO)" \
97	"INSTALL=$(INSTALL)" \
98	"INSTALL_DATA=$(INSTALL_DATA)" \
99	"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
100	"RUNTEST=$(RUNTEST)" \
101	"RUNTESTFLAGS=$(RUNTESTFLAGS)" \
102	"SHELL=$(SHELL)"
103
104# The use of $$(x_FOR_TARGET) reduces the command line length by not
105# duplicating the lengthy definition.
106TARGET_FLAGS_TO_PASS = \
107	"prefix=$(prefix)" \
108	"exec_prefix=$(exec_prefix)" \
109	"against=$(against)" \
110	'CC=$$(CC_FOR_TARGET)' \
111	"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
112	"CFLAGS=$(CFLAGS)" \
113	"CHILLFLAGS=$(CHILLFLAGS)" \
114	'CHILL=$$(CHILL_FOR_TARGET)' \
115	"CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
116	"CHILL_LIB=$(CHILL_LIB)" \
117	'CXX=$$(CXX_FOR_TARGET)' \
118	"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
119	"CXXFLAGS=$(CXXFLAGS)" \
120	"INSTALL=$(INSTALL)" \
121	"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
122	"INSTALL_DATA=$(INSTALL_DATA)" \
123	"MAKEINFO=$(MAKEINFO)" \
124	"RUNTEST=$(RUNTEST)" \
125	"RUNTESTFLAGS=$(RUNTESTFLAGS)"
126
127
128all:
129	@rootme=`pwd` ; export rootme ; \
130	for dir in . `echo ${SUBDIRS} | sed 's/testsuite//'` ; do \
131		if [ "$$dir" = "." ]; then \
132			true; \
133		elif [ -d $$dir ]; then \
134			(cd $$dir; $(MAKE) $(FLAGS_TO_PASS)) || exit 1; \
135		else true; fi; \
136	done
137
138clean mostlyclean:
139	@rootme=`pwd` ; export rootme ; \
140	for dir in . ${SUBDIRS}; do \
141		if [ "$$dir" = "." ]; then \
142			true; \
143		elif [ -d $$dir ]; then \
144			(cd $$dir; $(MAKE) $(FLAGS_TO_PASS) $@) || exit 1; \
145		else true; fi; \
146	done
147
148distclean maintainer-clean realclean:
149	@rootme=`pwd` ; export rootme ; \
150	for dir in . ${SUBDIRS}; do \
151		if [ "$$dir" = "." ]; then \
152			true; \
153		elif [ -d $$dir ]; then \
154			(cd $$dir; $(MAKE) $(FLAGS_TO_PASS) $@) || exit 1; \
155		else true; fi; \
156	done
157	rm -f Makefile config.cache config.log config.status
158
159install:
160	@rootme=`pwd` ; export rootme ; \
161	for dir in . ${SUBDIRS}; do \
162		if [ "$$dir" = "." ]; then \
163			true; \
164		elif [ -d $$dir ]; then \
165			(cd $$dir; $(MAKE) $(FLAGS_TO_PASS) install) || exit 1; \
166		else true; fi; \
167	done
168
169install-strip:
170	@rootme=`pwd` ; export rootme ; \
171	for dir in . ${SUBDIRS}; do \
172		if [ "$$dir" = "." ]; then \
173			true; \
174		elif [ -d $$dir ]; then \
175			(cd $$dir; $(MAKE) $(FLAGS_TO_PASS) install-strip) || exit 1; \
176		else true; fi; \
177	done
178
179installcheck:
180	@echo No installcheck target is available yet for the GNU simulators.
181
182installcheck:
183
184# The check target can not use subdir_do, because subdir_do does not
185# use TARGET_FLAGS_TO_PASS.
186check: force
187	@if [ -f testsuite/Makefile ]; then \
188	  rootme=`pwd`; export rootme; \
189	  rootsrc=`cd $(srcdir); pwd`; export rootsrc; \
190	  cd testsuite; \
191	  $(MAKE) $(TARGET_FLAGS_TO_PASS) check; \
192	else true; fi
193
194
195
196info:
197install-info:
198dvi:
199pdf:
200install-pdf:
201html:
202install-html:
203
204### 
205### 
206
207.NOEXPORT:
208MAKEOVERRIDES=
209
210.PHONY: check installcheck
211check:
212installcheck:
213
214TAGS:
215
216force:
217
218Makefile: Makefile.in config.status
219	$(SHELL) ./config.status
220
221config.status: configure
222	$(SHELL) ./config.status --recheck
223
224# Utility to run autoconf in each directory that uses the common framework.
225# This is intended to be invoked in $srcdir as
226# "make -f Makefile.in autoconf-common SHELL=/bin/sh".
227.PHONY: autoconf-common autoheader-common
228autoconf-common autoheader-common:
229	for d in * ; \
230	do \
231	    if [ -d $$d -a -f $$d/configure.ac ] ; \
232	    then \
233		 echo "Running autoconf in $$d ..." ; \
234		 (cd $$d && autoconf --force) ; \
235		 if [ $@ = autoheader-common ] && [ -f $$d/config.in ] ; \
236		 then \
237		   echo "Running autoheader in $$d ..." ; \
238		   (cd $$d && autoheader --force) ; \
239		 fi ; \
240	    fi ; \
241	done
242
243autoconf-changelog autoheader-changelog:
244	id=$(ID) ; \
245	test x$$id = x && id="`id | sed -e 's/^[^(]*(\([^)]*\).*$$/\1/'`" ; \
246	name=$(NAME) ; \
247	test x$$name = x && name=`grep "^$$id:" /etc/passwd | cut -f 5 -d ':'` ; \
248	host=$(HOST) ; \
249	test x$$host = x && host="`hostname`" ; \
250	date=$(DATE) ; \
251	test x$$date = x && date="`date +%Y-%m-%d`" ; \
252	echo "$$date $$name $$id@$$host" ; \
253	for d in * ; \
254	do \
255	    if [ -d $$d -a -f $$d/configure.ac ] ; \
256	    then \
257		 echo "Creating new-$(ChangeLog) in $$d ..." ; \
258		 ( echo "$$date  $$name  <$$id@$$host>" ; \
259		   echo "" ; \
260		   echo "	* configure: Regenerated to track ../common/aclocal.m4 changes." ; \
261		   if [ $@ = autoheader-changelog ] ; \
262		   then \
263		     echo "	* config.in: Ditto." ; \
264		   fi ; \
265		   echo "" ; \
266		   cat $$d/$(ChangeLog) \
267		 ) > $$d/new-$(ChangeLog) ; \
268	    fi ; \
269	done
270
271autoconf-install autoheader-install:
272	for d in * ; \
273	do \
274	    if [ -d $$d -a -f $$d/configure.ac ] ; \
275	    then \
276		 echo "Moving $$d/new-$(ChangeLog) to $$d/$(ChangeLog) ..." ; \
277		 mv $$d/new-$(ChangeLog) $$d/$(ChangeLog) ; \
278	    fi ; \
279	done
280