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