1# Makefile for GNU Assembler 2# Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 1996 3# Free Software Foundation, Inc. 4 5# This file is part of GNU GAS. 6 7# GNU GAS 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 2, or (at your option) 10# any later version. 11 12# GNU GAS 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 GNU GAS; see the file COPYING. If not, write to 19# the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 20 21# The targets for external use include: 22# all, doc, proto, install, uninstall, includes, TAGS, 23# clean, mostlyclean, distclean, realclean, stage1, stage2, stage3, stage4. 24 25# Variables that exist for you to override. 26# See below for how to change them for certain systems. 27 28VPATH = @srcdir@ 29srcdir = @srcdir@ 30srcroot = $(srcdir)/.. 31 32target_alias = @target_alias@ 33prefix = @prefix@ 34 35program_transform_name = @program_transform_name@ 36exec_prefix = @exec_prefix@ 37bindir = @bindir@ 38libdir = @libdir@ 39tooldir = $(exec_prefix)/$(target_alias) 40 41datadir = @datadir@ 42mandir = @mandir@ 43man1dir = $(mandir)/man1 44man2dir = $(mandir)/man2 45man3dir = $(mandir)/man3 46man4dir = $(mandir)/man4 47man5dir = $(mandir)/man5 48man6dir = $(mandir)/man6 49man7dir = $(mandir)/man7 50man8dir = $(mandir)/man8 51man9dir = $(mandir)/man9 52infodir = @infodir@ 53includedir = @includedir@ 54 55VERSION=cygnus-2.7.1 56 57SHELL = /bin/sh 58 59INSTALL = $${srcroot}/install.sh -c 60INSTALL_PROGRAM = @INSTALL_PROGRAM@ 61INSTALL_DATA = @INSTALL_DATA@ 62INSTALL_XFORM = $(INSTALL) -t='$(program_transform_name)' 63INSTALL_XFORM1= $(INSTALL_XFORM) -b=.1 64 65DISTSTUFF= make-gas.com m68k-parse.c 66 67AR = ar 68AR_FLAGS = qv 69BISON = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L../bison/bison ; else echo bison -y ; fi` 70BISONFLAGS = 71MAKEINFO = makeinfo 72TEXI2DVI = texi2dvi 73RANLIB = ranlib 74CC = @CC@ 75CFLAGS = -g 76LDFLAGS = 77HLDFLAGS = @HLDFLAGS@ 78HLDENV = @HLDENV@ 79RPATH_ENVVAR = @RPATH_ENVVAR@ 80 81MAKEOVERRIDES= 82 83EXPECT = `if [ -f $${rootme}/../expect/expect ] ; then \ 84 echo $${rootme}/../expect/expect ; \ 85 else echo expect ; fi` 86 87FLAGS_TO_PASS = \ 88 "prefix=$(prefix)" \ 89 "exec_prefix=$(exec_prefix)" \ 90 "tooldir=$(tooldir)" \ 91 "AR=$(AR)" \ 92 "AR_FLAGS=$(AR_FLAGS)" \ 93 "CC=$(CC)" \ 94 "CFLAGS=$(CFLAGS)" \ 95 "RANLIB=$(RANLIB)" \ 96 "LOADLIBES=$(LOADLIBES)" \ 97 "LDFLAGS=$(LDFLAGS)" \ 98 "BISON=$(BISON)" \ 99 "LEX=$(LEX)" \ 100 "MAKEINFO=$(MAKEINFO)" \ 101 "INSTALL=$(INSTALL)" \ 102 "INSTALL_DATA=$(INSTALL_DATA)" \ 103 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" 104 105RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \ 106 echo $${srcdir}/../dejagnu/runtest ; else echo runtest; \ 107 fi` 108RUNTESTFLAGS= 109 110# Lists of files for various purposes. 111 112REAL_SOURCES = \ 113 $(srcdir)/app.c \ 114 $(srcdir)/as.c \ 115 $(srcdir)/atof-generic.c \ 116 $(srcdir)/bignum-copy.c \ 117 $(srcdir)/cond.c \ 118 $(srcdir)/expr.c \ 119 $(srcdir)/flonum-konst.c \ 120 $(srcdir)/flonum-copy.c \ 121 $(srcdir)/flonum-mult.c \ 122 $(srcdir)/frags.c \ 123 $(srcdir)/hash.c \ 124 $(srcdir)/input-file.c \ 125 $(srcdir)/input-scrub.c \ 126 $(srcdir)/literal.c \ 127 $(srcdir)/messages.c \ 128 $(srcdir)/output-file.c \ 129 $(srcdir)/read.c \ 130 $(srcdir)/subsegs.c \ 131 $(srcdir)/symbols.c \ 132 $(srcdir)/write.c \ 133 $(srcdir)/listing.c \ 134 $(srcdir)/ecoff.c \ 135 $(srcdir)/stabs.c 136 137# in an expedient order 138LINKED_SOURCES = \ 139 targ-cpu.c \ 140 obj-format.c \ 141 atof-targ.c 142 143SOURCES = $(LINKED_SOURCES) $(REAL_SOURCES) 144 145REAL_HEADERS = \ 146 $(srcdir)/as.h \ 147 $(srcdir)/bignum.h \ 148 $(srcdir)/expr.h \ 149 $(srcdir)/flonum.h \ 150 $(srcdir)/frags.h \ 151 $(srcdir)/hash.h \ 152 $(srcdir)/input-file.h \ 153 $(srcdir)/listing.h \ 154 $(srcdir)/tc.h \ 155 $(srcdir)/obj.h \ 156 $(srcdir)/read.h \ 157 $(srcdir)/struc-symbol.h \ 158 $(srcdir)/subsegs.h \ 159 $(srcdir)/symbols.h \ 160 $(srcdir)/write.h \ 161 $(srcdir)/ecoff.h 162 163LINKED_HEADERS = \ 164 targ-env.h \ 165 targ-cpu.h \ 166 obj-format.h \ 167 atof-targ.h 168 169HEADERS = $(LINKED_HEADERS) $(REAL_HEADERS) 170 171TE_OBJS= 172 173# @target_frag@ 174 175OBJS = \ 176 targ-cpu.o \ 177 obj-format.o \ 178 atof-targ.o \ 179 app.o \ 180 as.o \ 181 atof-generic.o \ 182 bignum-copy.o \ 183 cond.o \ 184 expr.o \ 185 flonum-konst.o \ 186 flonum-copy.o \ 187 flonum-mult.o \ 188 frags.o \ 189 hash.o \ 190 input-file.o \ 191 input-scrub.o \ 192 literal.o \ 193 messages.o \ 194 output-file.o \ 195 read.o \ 196 subsegs.o \ 197 symbols.o \ 198 write.o \ 199 listing.o \ 200 ecoff.o \ 201 stabs.o \ 202 sb.o \ 203 macro.o \ 204 @extra_objects@ \ 205 $(TE_OBJS) 206 207GASPOBJS = \ 208 gasp.o \ 209 macro.o \ 210 sb.o \ 211 hash.o 212 213# Target to use for installing unformatted man-pages. Some systems may not 214# want them installed. 215INSTALL_MAN = install-man 216 217all: .gdbinit as.new gasp.new 218 @srcroot=`cd $(srcroot); pwd`; export srcroot; \ 219 (cd doc ; $(MAKE) $(FLAGS_TO_PASS) all) 220 221dvi info install-info clean-info: 222 @srcroot=`cd $(srcroot); pwd`; export srcroot; \ 223 (cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@) 224 225make-gas.com: stamp-mk.com 226stamp-mk.com: vmsconf.sh Makefile 227 sh $(srcdir)/vmsconf.sh $(OBJS) > new-make.com 228 $(srcdir)/../move-if-change new-make.com $(srcdir)/make-gas.com 229 touch stamp-mk.com 230 231# Now figure out from those variables how to compile and link. 232 233# This is the variable actually used when we compile. 234ALL_CFLAGS = $(INTERNAL_CFLAGS) $(CROSS) $(CFLAGS) $(HDEFINES) $(TDEFINES) 235 236# How to link with both our special library facilities 237# and the system's installed libraries. 238 239LIBDEPS = @OPCODES_DEP@ @BFDDEP@ $(LOCAL_LOADLIBES) ../libiberty/libiberty.a 240LIBS = @OPCODES_LIB@ @BFDLIB@ $(LOCAL_LOADLIBES) ../libiberty/libiberty.a 241 242# Specify the directories to be searched for header files. 243# Both . and srcdir are used, in that order, 244# so that tm.h and config.h will be found in the compilation 245# subdirectory rather than in the source directory. 246INCLUDES = -I. -I$(srcdir) -I../bfd -I$(srcdir)/config -I$(srcdir)/../include -I$(srcdir)/.. -I$(srcdir)/../bfd 247 248# Always use -I$(srcdir)/config when compiling. 249.c.o: 250 $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $< 251 252# This tells GNU make version 3 not to export all the variables 253# defined in this file into the environment. 254.NOEXPORT: 255 256# Files to be copied away after each stage in building. 257STAGESTUFF = *.o as.new gasp.new 258 259$(OBJS): @ALL_OBJ_DEPS@ 260 261as.new: $(OBJS) $(LIBDEPS) 262 $(HLDENV) $(CC) $(HLDFLAGS) $(ALL_CFLAGS) $(LDFLAGS) -o as.new $(OBJS) $(LIBS) $(LOADLIBES) 263 264$(OBJS): config.h as.h targ-env.h obj-format.h targ-cpu.h flonum.h expr.h \ 265 struc-symbol.h write.h frags.h hash.h read.h symbols.h tc.h obj.h \ 266 listing.h bignum.h $(srcdir)/../include/libiberty.h 267 268gasp.new: $(GASPOBJS) ../libiberty/libiberty.a 269 $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o gasp.new $(GASPOBJS) ../libiberty/libiberty.a $(LOADLIBES) 270 271installcheck: 272 @echo No installcheck target is available yet for the GNU assembler. 273 274site.exp: ./Makefile 275 @echo "Making a new config file..." 276 -@rm -f ./tmp? 277 @touch site.exp 278 -@mv site.exp site.bak 279 @echo "## these variables are automatically generated by make ##" > ./tmp0 280 @echo "# Do not edit here. If you wish to override these values," >> ./tmp0 281 @echo "# do so in the last section." >> ./tmp0 282 @echo set host_os @host_os@ >> ./tmp0 283 @echo set host_alias @host_alias@ >> ./tmp0 284 @echo set host_cpu @host_cpu@ >> ./tmp0 285 @echo set host_vendor @host_vendor@ >> ./tmp0 286 @echo set target_os @target_os@ >> ./tmp0 287 @echo set target_alias @target_alias@ >> ./tmp0 288 @echo set target_cpu @target_cpu@ >> ./tmp0 289 @echo set target_vendor @target_vendor@ >> ./tmp0 290 @echo set host_triplet @host@ >> ./tmp0 291 @echo set target_triplet @target@ >> ./tmp0 292 @echo set target_canonical @target@ >> ./tmp0 293 @echo set srcdir ${srcdir}/testsuite >> ./tmp0 294 @echo set exec_prefix ${exec_prefix} >> ./tmp0 295 @echo set objdir `pwd` >> ./tmp0 296 @echo "## All variables above are generated by configure. Do Not Edit ##" >> ./tmp0 297 @sed -e '1,/^## All variables above are.*##/ d' < site.bak >> ./tmp0 298 @mv -f ./tmp0 site.exp 299 300check: site.exp 301 if [ -d testsuite ]; then \ 302 true; \ 303 else \ 304 mkdir testsuite; \ 305 fi 306 rm -f testsuite/site.exp 307 cp site.exp testsuite/site.exp 308 rootme=`pwd`; export rootme; \ 309 srcdir=`cd ${srcdir}; pwd` ; export srcdir ; \ 310 $(RPATH_ENVVAR)=$$rootme/../bfd:$$rootme/../opcodes:$$$(RPATH_ENVVAR); \ 311 export $(RPATH_ENVVAR); \ 312 cd testsuite; \ 313 EXPECT=${EXPECT} ; export EXPECT ; \ 314 if [ -f $${rootme}/../expect/expect ] ; then \ 315 TCL_LIBRARY=$${srcdir}/../tcl/library ; \ 316 export TCL_LIBRARY ; fi ; \ 317 $(RUNTEST) --tool gas --srcdir $${srcdir}/testsuite $(RUNTESTFLAGS) 318 319config.status: configure 320 $(SHELL) config.status --recheck 321 322config.h: config-stamp ; @true 323config-stamp: Makefile conf 324 -rm -f config.new config-stamp 325 echo '/* config.h. Generated automatically by make. */' > config.new 326 echo '#ifndef GAS_VERSION' >> config.new 327 echo '#define GAS_VERSION "$(VERSION)"' >> config.new 328 echo '' >> config.new 329 cat conf >> config.new 330 echo '#endif /* GAS_VERSION */' >> config.new 331 $(srcdir)/../move-if-change config.new config.h 332 touch config-stamp 333 334# Compiling object files from source files. 335 336TARG_CPU_DEP_a29k = 337TARG_CPU_DEP_alpha = $(srcdir)/../include/opcode/alpha.h subsegs.h 338TARG_CPU_DEP_arm = subsegs.h 339TARG_CPU_DEP_generic = 340TARG_CPU_DEP_h8300 = $(srcdir)/../include/opcode/h8300.h 341TARG_CPU_DEP_h8500 = $(srcdir)/../opcodes/h8500-opc.h subsegs.h 342TARG_CPU_DEP_hppa = subsegs.h 343TARG_CPU_DEP_i386 = $(srcdir)/../include/opcode/i386.h subsegs.h 344TARG_CPU_DEP_i860 = 345TARG_CPU_DEP_i960 = 346TARG_CPU_DEP_m68k = $(srcdir)/../include/opcode/m68k.h \ 347 $(srcdir)/config/m68k-parse.h subsegs.h 348TARG_CPU_DEP_m88k = $(srcdir)/config/m88k-opcode.h subsegs.h 349TARG_CPU_DEP_mips = $(srcdir)/../include/opcode/mips.h subsegs.h 350TARG_CPU_DEP_ns32k = 351TARG_CPU_DEP_ppc = subsegs.h 352TARG_CPU_DEP_sh = $(srcdir)/../opcodes/sh-opc.h subsegs.h 353TARG_CPU_DEP_sparc = subsegs.h 354TARG_CPU_DEP_tahoe = 355TARG_CPU_DEP_vax = 356TARG_CPU_DEP_w65 = $(srcdir)/../opcodes/w65-opc.h subsegs.h 357TARG_CPU_DEP_z8k = $(srcdir)/../opcodes/z8k-opc.h 358 359gasp.o : gasp.c sb.h macro.h config.h 360sb.o : sb.c sb.h config.h 361macro.o : macro.c macro.h sb.h hash.h config.h 362app.o : app.c write.h 363as.o : as.c output-file.h write.h subsegs.h sb.h macro.h 364atof-generic.o : atof-generic.c 365bignum-copy.o : bignum-copy.c 366cond.o : cond.c 367debug.o : debug.c subsegs.h 368expr.o : expr.c 369flonum-konst.o : flonum-konst.c 370flonum-copy.o : flonum-copy.c 371flonum-mult.o : flonum-mult.c 372frags.o : frags.c subsegs.h 373hash.o : hash.c 374input-file.o : input-file.c input-file.h 375input-scrub.o : input-scrub.c input-file.h sb.h 376listing.o : listing.c input-file.h subsegs.h 377literal.o : literal.c subsegs.h 378messages.o : messages.c 379output-file.o : output-file.c output-file.h 380read.o : read.c sb.h macro.h 381subsegs.o : subsegs.c subsegs.h 382symbols.o : symbols.c subsegs.h 383write.o : write.c subsegs.h output-file.h 384ecoff.o : ecoff.c ecoff.h \ 385 $(srcdir)/../include/coff/internal.h $(srcdir)/../include/coff/sym.h \ 386 $(srcdir)/../include/coff/ecoff.h \ 387 $(srcdir)/../include/coff/symconst.h \ 388 $(srcdir)/../include/aout/stab_gnu.h 389stabs.o : stabs.c subsegs.h $(srcdir)/../include/aout/stab_gnu.h 390atof-targ.o : atof-targ.c 391obj-format.o : obj-format.c 392targ-cpu.o : targ-cpu.c $(TARG_CPU_DEP_@target_cpu_type@) 393 394obj-elf.o : $(srcdir)/config/obj-elf.c 395 $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/obj-elf.c 396obj-ecoff.o : $(srcdir)/config/obj-ecoff.c 397 $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/obj-ecoff.c 398 399e-mipself.o : $(srcdir)/config/e-mipself.c 400 $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/e-mipself.c 401e-mipsecoff.o : $(srcdir)/config/e-mipsecoff.c 402 $(CC) -c $(ALL_CFLAGS) $(CPPFLAGS) $(INCLUDES) $(srcdir)/config/e-mipsecoff.c 403 404# The m68k operand parser. 405 406m68k-parse.c: $(srcdir)/config/m68k-parse.y 407 $(BISON) $(BISONFLAGS) $(srcdir)/config/m68k-parse.y 408 mv -f y.tab.c m68k-parse.c 409m68k-parse.o: m68k-parse.c $(srcdir)/config/m68k-parse.h 410 411# Remake the info files. 412 413doc: $(srcdir)/as.info 414 415$(srcdir)/as.info: $(srcdir)/doc/as.texinfo 416 @(cd doc; $(MAKE) $(FLAGS_TO_PASS) as.info; mv as.info $srcdir) 417 418diststuff: $(DISTSTUFF) info 419 420clean-here: 421 -rm -f $(STAGESTUFF) core stamp-mk.com 422 -rm -f testsuite/*.o testsuite/*.out \ 423 testsuite/gas.log testsuite/gas.sum testsuite/site.exp 424 425clean mostlyclean: clean-here 426 @cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@ 427 428# Like clean but also delete the links made to configure gas. 429 430DISTCLEAN_HERE = config.status Makefile targ-env.h targ-cpu.h \ 431 targ-cpu.c obj-format.h obj-format.c atof-targ.c TAGS \ 432 config-stamp config.h conf config.log config.cache .gdbinit \ 433 testsuite/Makefile testsuite/config.status 434 435distclean: clean-here 436 @cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@ 437 -rm -f $(DISTCLEAN_HERE) 438 439maintainer-clean realclean: clean-here 440 @echo "This command is intended for maintainers to use;" 441 @echo "it deletes files that may require special tools to rebuild." 442 @cd doc ; $(MAKE) $(FLAGS_TO_PASS) $@ 443 -rm -rf $(DISTCLEAN_HERE) $(DISTSTUFF) 444 445# Entry points `install', `includes' and `uninstall'. 446 447# Copy the files into directories where they will be run. 448install: $(INSTALL_MAN) 449 srcroot=`cd $(srcroot); pwd`; export srcroot; \ 450 $(INSTALL_XFORM) as.new $(bindir)/as; \ 451 test -d $(tooldir) || mkdir $(tooldir); \ 452 test -d $(tooldir)/bin || mkdir $(tooldir)/bin; \ 453 n=`echo as | sed '$(program_transform_name)'`; \ 454 rm -f $(tooldir)/bin/as; \ 455 ln $(bindir)/$$n $(tooldir)/bin/as >/dev/null 2>/dev/null \ 456 || $(INSTALL_PROGRAM) as.new $(tooldir)/bin/as 457 srcroot=`cd $(srcroot); pwd`; export srcroot; \ 458 $(INSTALL_XFORM) gasp.new $(bindir)/gasp 459 460# Cancel installation by deleting the installed files. 461uninstall: 462 -n=`t='$(program_transform_name)'; echo as | sed $$t`; \ 463 rm -f $(bindir)/$$n; \ 464 rm -f $(mandir)/$$n.1 465 -n=`t='$(program_transform_name)'; echo gasp | sed $$t`; \ 466 rm -f $(bindir)/$$n; \ 467 468install-man: 469 srcroot=`cd $(srcroot); pwd`; export srcroot; \ 470 $(INSTALL_XFORM1) $(srcdir)/doc/as.1 $(man1dir)/as.1 471 472# These exist for maintenance purposes. 473 474tags TAGS: force 475 etags $(REAL_HEADERS) $(REAL_SOURCES) $(srcdir)/config/*.[hc] $(srcdir)/README $(srcdir)/Makefile.in 476 477bootstrap: as.new force 478 $(MAKE) stage1 479 rm -f stage && ln -s stage1 stage 480 $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new gasp.new 481 $(MAKE) stage2 482 rm -f stage && ln -s stage2 stage 483 $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new gasp.new 484 $(MAKE) comparison against=stage2 485 486bootstrap2: force 487 rm -f stage && ln -s stage1 stage 488 $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new gasp.new 489 $(MAKE) stage2 490 rm -f stage && ln -s stage2 stage 491 $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new gasp.new 492 $(MAKE) comparison against=stage2 493 494bootstrap3: force 495 rm -f stage && ln -s stage2 stage 496 $(MAKE) CC="$(CC)" CFLAGS="-O -Bstage/ $(CFLAGS)" libdir=$(libdir) ALLOCA= as.new gasp.new 497 $(MAKE) comparison against=stage2 498 499# Copy the object files from a particular stage into a subdirectory. 500stage1: force 501 -mkdir stage1 502 -mv $(STAGESTUFF) stage1 503 if [ -f stage1/as.new -a ! -f stage1/as ] ; then (cd stage1 ; ln -s as.new as) ; fi 504 505stage2: force 506 -mkdir stage2 507 -mv $(STAGESTUFF) stage2 508 if [ -f stage2/as.new -a ! -f stage2/as ] ; then (cd stage2 ; ln -s as.new as) ; fi 509 510stage3: force 511 -mkdir stage3 512 -mv $(STAGESTUFF) stage3 513 if [ -f stage3/as.new -a ! -f stage3/as ] ; then (cd stage3 ; ln -s as.new as) ; fi 514 515against=stage2 516 517# This rule is derived from corresponding code in the Makefile.in for gcc. 518# The "tail +16c" is to bypass headers which may include timestamps or 519# temporary assembly file names. 520comparison: force 521 x=0 ; \ 522 for file in *.o ; do \ 523 tail +16c ./$$file > tmp-foo1; \ 524 if tail +16c ${against}/$$file > tmp-foo2 2>/dev/null ; then \ 525 if cmp tmp-foo1 tmp-foo2 ; then \ 526 true ; \ 527 else \ 528 echo $$file differs ; \ 529 x=1 ; \ 530 fi ; \ 531 else true; fi ; \ 532 done ; \ 533 exit $$x 534 -rm -f tmp-foo* 535 536de-stage1: force 537 - (cd stage1 ; rm -f as ; mv -f * ..) 538 - rmdir stage1 539 540de-stage2: force 541 - (cd stage2 ; rm -f as ; mv -f * ..) 542 - rmdir stage2 543 544de-stage3: force 545 - (cd stage3 ; rm -f as ; mv -f * ..) 546 - rmdir stage3 547 548#In GNU Make, ignore whether `stage*' exists. 549.PHONY: stage1 stage2 stage3 stage4 clean mostlyclean realclean distclean 550.PHONY: TAGS bootstrap 551 552force: 553 554Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag) \ 555 $(srcdir)/configure.in config.status conf.in 556 $(SHELL) ./config.status 557.gdbinit: $(srcdir)/gdbinit.in config.status 558 $(SHELL) ./config.status 559