2 # Makefile for directory with subdirs to build.
3 # Copyright (C) 1990-1993 Free Software Foundation
5 # This file is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
24 exec_prefix = $(prefix)
25 bindir = $(exec_prefix)/bin
26 libdir = $(exec_prefix)/lib
29 program_transform_name =
31 datadir = $(prefix)/lib
32 mandir = $(prefix)/man
33 man1dir = $(mandir)/man1
34 man2dir = $(mandir)/man2
35 man3dir = $(mandir)/man3
36 man4dir = $(mandir)/man4
37 man5dir = $(mandir)/man5
38 man6dir = $(mandir)/man6
39 man7dir = $(mandir)/man7
40 man8dir = $(mandir)/man8
41 man9dir = $(mandir)/man9
42 infodir = $(prefix)/info
43 includedir = $(prefix)/include
44 docdir = $(datadir)/doc
49 INSTALL_PROGRAM = $(INSTALL)
50 INSTALL_DATA = $(INSTALL)
57 # start-sanitize-chill
58 CHILLFLAGS = $(CFLAGS)
67 # BISON: This line sed'ed to BISON = bison -y for FSF releases, don't remove.
68 BISON = `if [ -f $${rootme}/byacc/byacc ] ; \
69 then echo $${rootme}/byacc/byacc ; \
73 LEX = `if [ -f $${rootme}/flex/flex ] ; \
74 then echo $${rootme}/flex/flex ; \
77 MAKEINFO = `if [ -f $${rootme}/texinfo/makeinfo/makeinfo ] ; \
78 then echo $${rootme}/texinfo/makeinfo/makeinfo ; \
79 else echo makeinfo ; fi`
82 # libraries that may need to be augmented on a system-by-system basis
85 # compilers to use to create programs which must be run in the build
88 CXX_FOR_BUILD = $(CXX)
90 SUBDIRS = "this is set via configure, don't edit this"
94 INSTALL_TARGET = install.all
100 if [ -f $${rootme}/gcc/Makefile ] ; then \
101 echo $${rootme}/gcc/xgcc -B$${rootme}/gcc/; \
103 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
106 t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
110 # start-sanitize-chill
111 CHILL_FOR_TARGET = ` \
112 if [ -f $${rootme}/gcc/Makefile ] ; then \
113 echo $${rootme}/gcc/xgcc -B$${rootme}/gcc/ -L$${rootme}/chillrt/; \
115 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
118 t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
125 if [ -f $${rootme}/gcc/Makefile ] ; then \
126 echo $${rootme}/gcc/xgcc -B$${rootme}/gcc/; \
128 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
131 t='$(program_transform_name)'; echo gcc | sed -e '' $$t; \
136 if [ -f $${rootme}/gas/Makefile ] ; then \
137 echo $${rootme}/gas/as.new ; \
139 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
142 t='$(program_transform_name)'; echo as | sed -e '' $$t ; \
147 if [ -f $${rootme}/binutils/Makefile ] ; then \
148 echo $${rootme}/binutils/ar ; \
150 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
153 t='$(program_transform_name)'; echo ar | sed -e '' $$t ; \
157 RANLIB_FOR_TARGET = ` \
158 if [ -f $${rootme}/binutils/Makefile ] ; then \
159 echo $${rootme}/binutils/ranlib ; \
161 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
164 t='$(program_transform_name)'; echo ranlib | sed -e '' $$t ; \
169 if [ -f $${rootme}/binutils/Makefile ] ; then \
170 echo $${rootme}/binutils/nm ; \
172 if [ "$(host_canonical)" = "$(target_canonical)" ] ; then \
175 t='$(program_transform_name)'; echo nm | sed -e '' $$t ; \
179 # FIXME: This is badly named.
181 if [ -f $${rootme}/gcc/Makefile ] ; then \
182 if [ -f $${rootme}/newlib/Makefile ] ; then \
183 echo -I$${rootme}/newlib/targ-include -I$${srcroot}/newlib/libc/include -I$${rootme}/gcc/include -nostdinc ; \
185 echo -I$${rootme}/gcc/include ; \
193 #### host and target specific makefile fragments come in here.
196 # Flags to pass down to all sub-makes.
197 # Please keep these in alphabetical order.
198 BASE_FLAGS_TO_PASS = \
199 "AR_FLAGS=$(AR_FLAGS)" \
200 "AR_FOR_TARGET=$(AR_FOR_TARGET)" \
201 "AS_FOR_TARGET=$(AS_FOR_TARGET)" \
203 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
204 "CC_FOR_TARGET=$(CC_FOR_TARGET)" \
206 $(start-sanitize-chill)\
207 "CHILLFLAGS=$(CHILLFLAGS)" \
208 "CHILL_FOR_TARGET=$(CHILL_FOR_TARGET)" \
209 "CHILL_LIB=$(CHILL_LIB)" \
210 $(end-sanitize-chill)\
211 "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
212 "CXXFLAGS=$(CXXFLAGS)" \
213 "CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
214 'GCC_FOR_TARGET=$$(CC_FOR_TARGET)' \
215 "INSTALL=$(INSTALL)" \
216 "INSTALL_DATA=$(INSTALL_DATA)" \
217 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
218 "LDFLAGS=$(LDFLAGS)" \
220 "LOADLIBES=$(LOADLIBES)" \
221 "MAKEINFO=$(MAKEINFO)" \
222 "NM_FOR_TARGET=$(NM_FOR_TARGET)" \
224 "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
225 "XTRAFLAGS_FOR_TARGET=$(XTRAFLAGS)" \
226 "exec_prefix=$(exec_prefix)" \
230 # Flags to pass down to most sub-makes, in which we're building with
231 # the host environment.
232 # If any variables are added here, they must be added to do-*, below.
242 FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
244 # Flags that are concerned with the location of the X11 include files
246 X11_FLAGS_TO_PASS = \
247 "X11_INCLUDE_FLAGS=$(X11_INCLUDE_FLAGS)" \
248 "X11_LIB_FLAGS=$(X11_LIB_FLAGS)" \
251 # Shell case of subdirectories which are built with the target environment.
252 TARGET_LIBS=libg++ | xiberty | newlib
253 # start-sanitize-chill
254 TARGET_LIBS=libg++ | xiberty | newlib | chillrt
257 # Flags to pass down to makes which are built with the target environment.
258 # The double $ decreases the length of the command line; the variables
259 # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.
260 # If any variables are added here, they must be added to do-*, below.
261 EXTRA_TARGET_FLAGS = \
262 'AR=$$(AR_FOR_TARGET)' \
263 'AS=$$(AS_FOR_TARGET)' \
264 'CC=$$(CC_FOR_TARGET)' \
265 'CXX=$$(CXX_FOR_TARGET)' \
266 'NM=$$(NM_FOR_TARGET)' \
267 'RANLIB=$$(RANLIB_FOR_TARGET)' \
268 'XTRAFLAGS=$$(XTRAFLAGS_FOR_TARGET)'
270 TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
272 # Flags to pass down to gcc. gcc builds a library, libgcc.a, so it
273 # unfortunately needs the native compiler and the target ar and
275 # If any variables are added here, they must be added to do-*, below.
277 'AR=$$(AR_FOR_TARGET)' \
282 'RANLIB=$$(RANLIB_FOR_TARGET)' \
285 GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS)
287 # The first rule in the file had better be this one. Don't put any above it.
290 .PHONY: all check installcheck dvi info install-info install-info-dirs
291 .PHONY: do-info do-check do-installcheck do-dvi do-install-info
292 .PHONY: do-clean do-mostlyclean do-distclean do-realclean
296 # start-sanitize-chill
297 ## This is ugly, but I don't want GNU make to put these variables in
298 ## the environment. Older makes will see this as a set of targets
299 ## with no dependencies and no actions.
300 unexport CHILLFLAGS CHILL_LIB CHILL_FOR_TARGET :
303 # Do a target for all the subdirectories. A ``make do-X'' will do a
304 # ``make X'' in all subdirectories (because, in general, there is a
305 # dependency (below) of X upon do-X, a ``make X'' will also do this,
306 # but it may do additional work as well).
307 # This target ensures that $(BASE_FLAGS_TO_PASS) appears only once,
308 # because it is so large that it can easily overflow the command line
309 # length limit on some systems.
310 do-info do-check do-installcheck do-dvi do-install-info do-clean do-mostlyclean do-distclean do-realclean:
311 @target=`echo $@ | sed -e 's/^do-//'`; \
312 rootme=`pwd`; export rootme; \
313 srcroot=`cd $(srcdir); pwd`; export srcroot; \
314 for i in $(SUBDIRS); do \
315 if [ -f ./$$i/Makefile ]; then \
318 for flag in $(EXTRA_TARGET_FLAGS); do \
319 eval `echo "$$flag" | sed -e "s|^\(.*\)=\(.*\)|\1='\2'|"`; \
323 for flag in $(EXTRA_GCC_FLAGS); do \
324 eval `echo "$$flag" | sed -e "s|^\(.*\)=\(.*\)|\1='\2'|"`; \
328 for flag in $(EXTRA_HOST_FLAGS); do \
329 eval `echo "$$flag" | sed -e "s|^\(.*\)=\(.*\)|\1='\2'|"`; \
333 export AR AS CC CXX NM RANLIB XTRAFLAGS; \
335 $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
336 "CC=$${CC}" "CXX=$${CXX}" "NM=$${NM}" \
337 "RANLIB=$${RANLIB}" "XTRAFLAGS=$${XTRAFLAGS}" \
339 then true; else exit 1; fi; \
345 installcheck: do-installcheck
348 install-info: install-info-dirs do-install-info dir.info
349 if [ -f dir.info ] ; then \
350 $(INSTALL_DATA) dir.info $(infodir)/dir.info ; \
353 do-install-info: install-info-dirs
355 all.normal: all-m4 all-autoconf all-libiberty all-mmalloc all-texinfo \
356 all-byacc all-flex all-opcodes all-bfd all-ld all-gas all-tgas \
357 all-gcc all-binutils all-libg++ all-readline all-sim all-gdb \
358 all-make all-rcs all-cvs all-diff all-grep \
359 all-patch all-emacs all-ispell all-etc \
360 all-tcl all-tk all-expect \
362 $(start-sanitize-chill) \
364 $(end-sanitize-chill) \
365 all-gprof all-prms all-send-pr all-libm all-dejagnu \
366 all-fileutils all-find all-gawk all-sed all-shellutils \
367 all-textutils all-time all-wdiff all-uudecode \
368 all-hello all-tar all-gzip all-indent all-recode
371 all.cross: all-libiberty all-mmalloc all-gas all-byacc all-flex all-ld \
372 all-opcodes all-bfd all-readline all-sim \
373 all-gdb all-binutils all-gcc all-newlib \
374 $(start-sanitize-chill) \
376 $(end-sanitize-chill) \
379 .PHONY: clean distclean mostlyclean realclean local-clean local-distclean
382 -rm -f *.a TEMP errs core *.o *~ \#* TAGS *.E
385 -rm -f Makefile config.status
387 clean: do-clean local-clean
388 mostlyclean: do-mostlyclean local-clean
389 distclean: do-distclean local-clean local-distclean
390 realclean: do-realclean local-clean local-distclean
393 @echo "the uninstall target is not supported in this tree"
395 install: $(INSTALL_TARGET)
396 -parent=`echo $(man1dir)|sed -e 's@/[^/]*$$@@'`; \
397 if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
398 -if [ -d $(man1dir) ] ; then true ; else mkdir $(man1dir) ; fi
400 install.all: install-no-fixedincludes
401 @if [ -f ./gcc/Makefile ] ; then \
402 rootme=`pwd` ; export rootme ; \
404 $(MAKE) $(FLAGS_TO_PASS) install-headers) ; \
409 install-no-fixedincludes: install-dirs gcc-no-fixedincludes \
414 $(start-sanitize-chill) \
416 $(end-sanitize-chill) \
464 # Install the gcc headers files, but not the fixed include files,
465 # which we are not allowed to distribute. This rule is very dependent
466 # on the workings of the gcc Makefile.in.
468 gcc-no-fixedincludes:
469 @if [ -f ./gcc/Makefile ]; then \
470 rm -rf gcc/tmp-include; \
471 mv gcc/include gcc/tmp-include 2>/dev/null; \
473 touch gcc/stmp-fixincludes; \
474 rm -f gcc/stmp-headers; \
475 rootme=`pwd`; export rootme; \
476 srcroot=`cd $(srcdir); pwd` ; export srcroot; \
478 $(MAKE) $(GCC_FLAGS_TO_PASS) install); \
479 rm -rf gcc/include; \
480 mv gcc/tmp-include gcc/include 2>/dev/null; \
483 install.cross: install-dirs install-libiberty install-mmalloc \
484 install-binutils install-opcodes install-byacc install-flex \
485 install-ld install-gas install-readline \
486 install-glob install-gdb install-mmalloc \
488 $(start-sanitize-chill) \
490 $(end-sanitize-chill) \
491 install-gcc install-etc install-dejagnu
494 all-gzip: all-libiberty
495 @if [ -f ./gzip/Makefile ] ; then \
496 rootme=`pwd` ; export rootme ; \
497 (cd ./gzip; $(MAKE) $(FLAGS_TO_PASS) all) ; \
503 @if [ -f ./gzip/Makefile ] ; then \
504 rootme=`pwd` ; export rootme ; \
505 (cd ./gzip; $(MAKE) $(FLAGS_TO_PASS) install) ; \
511 all-hello: all-libiberty
512 @if [ -f ./hello/Makefile ] ; then \
513 rootme=`pwd` ; export rootme ; \
514 (cd ./hello; $(MAKE) $(FLAGS_TO_PASS) all) ; \
520 @if [ -f ./hello/Makefile ] ; then \
521 rootme=`pwd` ; export rootme ; \
522 (cd ./hello; $(MAKE) $(FLAGS_TO_PASS) install) ; \
528 all-recode: all-libiberty
529 @if [ -f ./recode/Makefile ] ; then \
530 rootme=`pwd` ; export rootme ; \
531 (cd ./recode; $(MAKE) $(FLAGS_TO_PASS) all) ; \
536 install-recode: force
537 @if [ -f ./recode/Makefile ] ; then \
538 rootme=`pwd` ; export rootme ; \
539 (cd ./recode; $(MAKE) $(FLAGS_TO_PASS) install) ; \
546 @if [ -f ./indent/Makefile ] ; then \
547 rootme=`pwd` ; export rootme ; \
548 (cd ./indent; $(MAKE) $(FLAGS_TO_PASS) all) ; \
553 install-indent: force
554 @if [ -f ./indent/Makefile ] ; then \
555 rootme=`pwd` ; export rootme ; \
556 (cd ./indent; $(MAKE) $(FLAGS_TO_PASS) install) ; \
562 all-tar: all-libiberty
563 @if [ -f ./tar/Makefile ] ; then \
564 rootme=`pwd` ; export rootme ; \
565 (cd ./tar; $(MAKE) $(FLAGS_TO_PASS) all) ; \
571 @if [ -f ./tar/Makefile ] ; then \
572 rootme=`pwd` ; export rootme ; \
573 (cd ./tar; $(MAKE) $(FLAGS_TO_PASS) install) ; \
581 @if [ -f ./dejagnu/Makefile ] ; then \
582 rootme=`pwd` ; export rootme ; \
583 (cd ./dejagnu; $(MAKE) $(FLAGS_TO_PASS) all) ; \
588 install-dejagnu: force
589 @if [ -f ./dejagnu/Makefile ] ; then \
590 rootme=`pwd` ; export rootme ; \
591 (cd ./dejagnu; $(MAKE) $(FLAGS_TO_PASS) install) ; \
598 @if [ -f ./autoconf/Makefile ] ; then \
599 rootme=`pwd` ; export rootme ; \
600 (cd ./autoconf; $(MAKE) $(FLAGS_TO_PASS) all) ; \
605 install-autoconf: force
606 @if [ -f ./autoconf/Makefile ] ; then \
607 rootme=`pwd` ; export rootme ; \
608 (cd ./autoconf; $(MAKE) $(FLAGS_TO_PASS) install) ; \
615 @if [ -f ./etc/Makefile ] ; then \
616 rootme=`pwd` ; export rootme ; \
617 (cd ./etc; $(MAKE) $(FLAGS_TO_PASS) all) ; \
623 @if [ -f ./etc/Makefile ] ; then \
624 rootme=`pwd` ; export rootme ; \
625 (cd ./etc; $(MAKE) $(FLAGS_TO_PASS) install) ; \
632 @if [ -f ./libiberty/Makefile ] ; then \
633 rootme=`pwd` ; export rootme ; \
635 $(MAKE) $(FLAGS_TO_PASS) all) ; \
640 install-libiberty: force
641 @if [ -f ./libiberty/Makefile ] ; then \
642 rootme=`pwd` ; export rootme ; \
644 $(MAKE) $(FLAGS_TO_PASS) install) ; \
650 all-xiberty: all-gcc all-newlib
651 @if [ -f ./xiberty/Makefile ] ; then \
652 rootme=`pwd` ; export rootme ; \
653 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
655 $(MAKE) $(TARGET_FLAGS_TO_PASS) all) ; \
660 install-xiberty: force
661 @if [ -f ./xiberty/Makefile ] ; then \
662 rootme=`pwd` ; export rootme ; \
663 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
665 $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ; \
672 @if [ -f ./mmalloc/Makefile ] ; then \
673 rootme=`pwd` ; export rootme ; \
675 $(MAKE) $(FLAGS_TO_PASS) all) ; \
680 install-mmalloc: force
681 @if [ -f ./mmalloc/Makefile ] ; then \
682 rootme=`pwd` ; export rootme ; \
684 $(MAKE) $(FLAGS_TO_PASS) install) ; \
690 all-texinfo: all-libiberty
691 @if [ -f ./texinfo/Makefile ] ; then \
692 rootme=`pwd` ; export rootme ; \
694 $(MAKE) $(FLAGS_TO_PASS) all) ; \
699 install-texinfo: force
700 @if [ -f ./texinfo/Makefile ] ; then \
701 rootme=`pwd` ; export rootme ; \
703 $(MAKE) $(FLAGS_TO_PASS) install) ; \
710 @if [ -f ./bfd/Makefile ] ; then \
711 rootme=`pwd` ; export rootme ; \
713 $(MAKE) $(FLAGS_TO_PASS) all) ; \
719 @if [ -f ./bfd/Makefile ] ; then \
720 rootme=`pwd` ; export rootme ; \
722 $(MAKE) $(FLAGS_TO_PASS) install) ; \
730 @if [ -f ./opcodes/Makefile ] ; then \
731 rootme=`pwd` ; export rootme ; \
733 $(MAKE) $(FLAGS_TO_PASS) all) ; \
738 install-opcodes: force
739 @if [ -f ./opcodes/Makefile ] ; then \
740 rootme=`pwd` ; export rootme ; \
742 $(MAKE) $(FLAGS_TO_PASS) install) ; \
748 all-binutils: all-opcodes all-libiberty all-bfd all-flex
749 @if [ -f ./binutils/Makefile ] ; then \
750 rootme=`pwd` ; export rootme ; \
752 $(MAKE) $(FLAGS_TO_PASS) all) ; \
757 install-binutils: force
758 @if [ -f ./binutils/Makefile ] ; then \
759 rootme=`pwd` ; export rootme ; \
761 $(MAKE) $(FLAGS_TO_PASS) install) ; \
767 all-newlib: all-binutils all-ld all-gas all-gcc
768 @if [ -f ./newlib/Makefile ] ; then \
769 rootme=`pwd` ; export rootme ; \
770 srcroot=`cd $(srcdir); pwd` ; export srcroot ; \
772 $(MAKE) $(TARGET_FLAGS_TO_PASS) all) ; \
777 install-newlib: force
778 @if [ -f ./newlib/Makefile ] ; then \
779 rootme=`pwd` ; export rootme ; \
780 srcroot=`cd $(srcdir); pwd` ; export srcroot ; \
782 $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ; \
787 ### start-sanitize-chill
789 all-chillrt: all-binutils all-ld all-gas all-gcc all-newlib
790 @if [ -f ./chillrt/Makefile ] ; then \
791 rootme=`pwd` ; export rootme ; \
792 srcroot=`cd $(srcdir); pwd` ; export srcroot ; \
794 $(MAKE) $(TARGET_FLAGS_TO_PASS) all) ; \
799 install-chillrt: force
800 @if [ -f ./chillrt/Makefile ] ; then \
801 rootme=`pwd` ; export rootme ; \
802 srcroot=`cd $(srcdir); pwd` ; export srcroot ; \
804 $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ; \
809 ### end-sanitize-chill
812 all-gprof: all-libiberty all-bfd
813 @if [ -f ./gprof/Makefile ] ; then \
814 rootme=`pwd` ; export rootme ; \
816 $(MAKE) $(FLAGS_TO_PASS) all) ; \
822 @if [ -f ./gprof/Makefile ] ; then \
823 rootme=`pwd` ; export rootme ; \
825 $(MAKE) $(FLAGS_TO_PASS) install) ; \
832 @if [ -f ./byacc/Makefile ] ; then \
833 rootme=`pwd` ; export rootme ; \
835 $(MAKE) $(FLAGS_TO_PASS) all) ; \
841 @if [ -f ./byacc/Makefile ] ; then \
842 rootme=`pwd` ; export rootme ; \
844 $(MAKE) $(FLAGS_TO_PASS) install) ; \
850 all-flex: all-libiberty
851 @if [ -f ./flex/Makefile ] ; then \
852 rootme=`pwd` ; export rootme ; \
854 $(MAKE) $(FLAGS_TO_PASS) all) ; \
860 @if [ -f ./flex/Makefile ] ; then \
861 rootme=`pwd` ; export rootme ; \
863 $(MAKE) $(FLAGS_TO_PASS) install) ; \
868 all-gcc: all-libiberty all-byacc all-binutils all-gas
869 @if [ -f ./gcc/Makefile ] ; then \
870 rootme=`pwd` ; export rootme ; \
871 srcroot=`cd $(srcdir); pwd` ; export srcroot ; \
873 $(MAKE) $(GCC_FLAGS_TO_PASS) all) ; \
879 @if [ -f ./gcc/Makefile ] ; then \
880 rootme=`pwd` ; export rootme ; \
881 srcroot=`cd $(srcdir); pwd` ; export srcroot ; \
883 $(MAKE) $(GCC_FLAGS_TO_PASS) install) ; \
890 @if [ -f ./readline/Makefile ] ; then \
891 rootme=`pwd` ; export rootme ; \
893 $(MAKE) $(FLAGS_TO_PASS) all) ; \
898 install-readline: force
899 @if [ -f ./readline/Makefile ] ; then \
900 rootme=`pwd` ; export rootme ; \
902 $(MAKE) $(FLAGS_TO_PASS) install) ; \
909 @if [ -f ./glob/Makefile ] ; then \
910 rootme=`pwd` ; export rootme ; \
912 $(MAKE) $(FLAGS_TO_PASS) all) ; \
918 @if [ -f ./glob/Makefile ] ; then \
919 rootme=`pwd` ; export rootme ; \
921 $(MAKE) $(FLAGS_TO_PASS) install) ; \
927 all-gas: all-libiberty all-opcodes all-bfd
928 @if [ -f ./gas/Makefile ] ; then \
929 rootme=`pwd` ; export rootme ; \
931 $(MAKE) $(FLAGS_TO_PASS) all) ; \
937 @if [ -f ./gas/Makefile ] ; then \
938 rootme=`pwd` ; export rootme ; \
940 $(MAKE) $(FLAGS_TO_PASS) install) ; \
946 all-tgas: all-libiberty all-bfd
947 @if [ -f ./tgas/Makefile ] ; then \
948 rootme=`pwd` ; export rootme ; \
950 $(MAKE) $(FLAGS_TO_PASS) all) ; \
957 all-ld: all-libiberty all-bfd all-byacc all-flex
958 @if [ -f ./ld/Makefile ] ; then \
959 rootme=`pwd` ; export rootme ; \
961 $(MAKE) $(FLAGS_TO_PASS) all) ; \
967 @if [ -f ./ld/Makefile ] ; then \
968 rootme=`pwd` ; export rootme ; \
970 $(MAKE) $(FLAGS_TO_PASS) install) ; \
976 all-gdb: all-bfd all-opcodes all-libiberty all-mmalloc all-readline all-glob all-byacc
977 @if [ -f ./gdb/Makefile ] ; then \
978 rootme=`pwd` ; export rootme ; \
980 $(MAKE) $(FLAGS_TO_PASS) all) ; \
986 @if [ -f ./gdb/Makefile ] ; then \
987 rootme=`pwd` ; export rootme ; \
989 $(MAKE) $(FLAGS_TO_PASS) install) ; \
995 all-make: all-libiberty
996 @if [ -f ./make/Makefile ] ; then \
997 rootme=`pwd` ; export rootme ; \
999 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1005 @if [ -f ./make/Makefile ] ; then \
1006 rootme=`pwd` ; export rootme ; \
1008 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1014 all-diff: all-libiberty
1015 @if [ -f ./diff/Makefile ] ; then \
1016 rootme=`pwd` ; export rootme ; \
1018 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1024 @if [ -f ./diff/Makefile ] ; then \
1025 rootme=`pwd` ; export rootme ; \
1027 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1034 @if [ -f ./grep/Makefile ] ; then \
1035 rootme=`pwd` ; export rootme ; \
1037 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1043 @if [ -f ./grep/Makefile ] ; then \
1044 rootme=`pwd` ; export rootme ; \
1046 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1053 @if [ -f ./rcs/Makefile ] ; then \
1054 rootme=`pwd` ; export rootme ; \
1056 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1062 @if [ -f ./rcs/Makefile ] ; then \
1063 rootme=`pwd` ; export rootme ; \
1065 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1072 @if [ -f ./cvs/Makefile ] ; then \
1073 rootme=`pwd` ; export rootme ; \
1075 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1081 @if [ -f ./cvs/Makefile ] ; then \
1082 rootme=`pwd` ; export rootme ; \
1084 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1091 @if [ -f ./patch/Makefile ] ; then \
1092 rootme=`pwd` ; export rootme ; \
1094 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1099 install-patch: force
1100 @if [ -f ./patch/Makefile ] ; then \
1101 rootme=`pwd` ; export rootme ; \
1103 $(MAKE) $(FLAGS_TO_PASS) \
1105 man1dir=$(man1dir) install) ; \
1112 @if [ -f ./emacs/Makefile ] ; then \
1113 rootme=`pwd` ; export rootme ; \
1115 $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) ; \
1120 install-emacs: force
1121 @if [ -f ./emacs/Makefile ] ; then \
1122 rootme=`pwd` ; export rootme ; \
1124 $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) ; \
1130 all-ispell: all-emacs
1131 @if [ -f ./ispell/Makefile ] ; then \
1132 rootme=`pwd` ; export rootme ; \
1134 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1139 install-ispell: force
1140 @if [ -f ./ispell/Makefile ] ; then \
1141 rootme=`pwd` ; export rootme ; \
1143 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1150 @if [ -f ./prms/Makefile ] ; then \
1151 rootme=`pwd` ; export rootme ; \
1153 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1159 @if [ -f ./prms/Makefile ] ; then \
1160 rootme=`pwd` ; export rootme ; \
1162 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1169 @if [ -f ./send-pr/Makefile ] ; then \
1170 rootme=`pwd` ; export rootme ; \
1172 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1177 install-send-pr: force
1178 @if [ -f ./send-pr/Makefile ] ; then \
1179 rootme=`pwd` ; export rootme ; \
1181 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1188 @if [ -f ./libm/Makefile ] ; then \
1189 rootme=`pwd` ; export rootme ; \
1191 $(MAKE) $(TARGET_FLAGS_TO_PASS) all) ; \
1197 @if [ -f ./libm/Makefile ] ; then \
1198 rootme=`pwd` ; export rootme ; \
1200 $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ; \
1207 all-libg++: all-gas all-ld all-gcc all-xiberty all-newlib
1208 @if [ -f ./libg++/Makefile ] ; then \
1209 rootme=`pwd` ; export rootme ; \
1210 srcroot=`cd $(srcdir); pwd` ; export srcroot ; \
1212 $(MAKE) $(TARGET_FLAGS_TO_PASS) all) ; \
1217 install-libg++: force
1218 @if [ -f ./libg++/Makefile ] ; then \
1219 rootme=`pwd` ; export rootme ; \
1220 srcroot=`cd $(srcdir); pwd` ; export srcroot ; \
1222 $(MAKE) $(TARGET_FLAGS_TO_PASS) install) ; \
1228 @if [ -f ./tcl/Makefile ] ; then \
1229 rootme=`pwd` ; export rootme ; \
1230 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
1232 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1238 @if [ -f ./tcl/Makefile ] ; then \
1239 rootme=`pwd` ; export rootme ; \
1240 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
1242 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1250 @if [ -f ./tk/Makefile ] ; then \
1251 rootme=`pwd` ; export rootme ; \
1252 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
1254 $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) ; \
1260 @if [ -f ./tk/Makefile ] ; then \
1261 rootme=`pwd` ; export rootme ; \
1262 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
1264 $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) ; \
1270 all-tclX: all-tcl all-tk
1271 @if [ -f ./tclX/Makefile ] ; then \
1272 rootme=`pwd` ; export rootme ; \
1273 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
1275 $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) ; \
1281 @if [ -f ./tclX/Makefile ] ; then \
1282 rootme=`pwd` ; export rootme ; \
1283 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
1285 $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) ; \
1293 @if [ -f ./expect/Makefile ] ; then \
1294 rootme=`pwd` ; export rootme ; \
1295 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
1297 $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) all) ; \
1302 install-expect: force
1303 @if [ -f ./expect/Makefile ] ; then \
1304 rootme=`pwd` ; export rootme ; \
1305 srcroot=`cd $(srcdir); pwd`; export srcroot ; \
1307 $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install) ; \
1314 @if [ -f ./sim/Makefile ] ; then \
1315 rootme=`pwd` ; export rootme ; \
1317 $(MAKE) $(FLAGS_TO_PASS) all) ; \
1323 @if [ -f ./sim/Makefile ] ; then \
1324 rootme=`pwd` ; export rootme ; \
1326 $(MAKE) $(FLAGS_TO_PASS) install) ; \
1332 all-fileutils: force
1333 @if [ -f ./fileutils/Makefile ] ; then \
1334 rootme=`pwd` ; export rootme ; \
1335 (cd ./fileutils; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1340 install-fileutils: force
1341 @if [ -f ./fileutils/Makefile ] ; then \
1342 rootme=`pwd` ; export rootme ; \
1343 (cd ./fileutils; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1350 @if [ -f ./find/Makefile ] ; then \
1351 rootme=`pwd` ; export rootme ; \
1352 (cd ./find; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1358 @if [ -f ./find/Makefile ] ; then \
1359 rootme=`pwd` ; export rootme ; \
1360 (cd ./find; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1367 @if [ -f ./gawk/Makefile ] ; then \
1368 rootme=`pwd` ; export rootme ; \
1369 (cd ./gawk; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1375 @if [ -f ./gawk/Makefile ] ; then \
1376 rootme=`pwd` ; export rootme ; \
1377 (cd ./gawk; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1383 all-m4: all-libiberty
1384 @if [ -f ./m4/Makefile ] ; then \
1385 rootme=`pwd` ; export rootme ; \
1386 (cd ./m4; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1392 @if [ -f ./m4/Makefile ] ; then \
1393 rootme=`pwd` ; export rootme ; \
1394 (cd ./m4; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1401 @if [ -f ./sed/Makefile ] ; then \
1402 rootme=`pwd` ; export rootme ; \
1403 (cd ./sed; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1409 @if [ -f ./sed/Makefile ] ; then \
1410 rootme=`pwd` ; export rootme ; \
1411 (cd ./sed; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1418 @if [ -f ./time/Makefile ] ; then \
1419 rootme=`pwd` ; export rootme ; \
1420 (cd ./time; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1426 @if [ -f ./time/Makefile ] ; then \
1427 rootme=`pwd` ; export rootme ; \
1428 (cd ./time; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1435 @if [ -f ./wdiff/Makefile ] ; then \
1436 rootme=`pwd` ; export rootme ; \
1437 (cd ./wdiff; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1442 install-wdiff: force
1443 @if [ -f ./wdiff/Makefile ] ; then \
1444 rootme=`pwd` ; export rootme ; \
1445 (cd ./wdiff; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1451 all-uudecode: all-libiberty
1452 @if [ -f ./uudecode/Makefile ] ; then \
1453 rootme=`pwd` ; export rootme ; \
1454 (cd ./uudecode; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1459 install-uudecode: force
1460 @if [ -f ./uudecode/Makefile ] ; then \
1461 rootme=`pwd` ; export rootme ; \
1462 (cd ./uudecode; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1468 all-shellutils: force
1469 @if [ -f ./shellutils/Makefile ] ; then \
1470 rootme=`pwd` ; export rootme ; \
1471 (cd ./shellutils; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1476 install-shellutils: force
1477 @if [ -f ./shellutils/Makefile ] ; then \
1478 rootme=`pwd` ; export rootme ; \
1479 (cd ./shellutils; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1485 all-textutils: force
1486 @if [ -f ./textutils/Makefile ] ; then \
1487 rootme=`pwd` ; export rootme ; \
1488 (cd ./textutils; $(MAKE) $(FLAGS_TO_PASS) all) ; \
1493 install-textutils: force
1494 @if [ -f ./textutils/Makefile ] ; then \
1495 rootme=`pwd` ; export rootme ; \
1496 (cd ./textutils; $(MAKE) $(FLAGS_TO_PASS) install) ; \
1503 ### other supporting targets
1527 for i in $(MAKEDIRS) ; do \
1528 echo Making $$i... ; \
1529 parent=`echo $$i|sed -e 's@/[^/]*$$@@'`; \
1530 if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi ; \
1531 if [ ! -d $$i ] ; then \
1532 if mkdir $$i ; then \
1543 if [ -d $(prefix) ] ; then true ; else mkdir $(prefix) ; fi
1544 -parent=`echo $(infodir)|sed -e 's@/[^/]*$$@@'`; \
1545 if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
1546 -if [ -d $(infodir) ] ; then true ; else mkdir $(infodir) ; fi
1548 dir.info: do-install-info
1549 if [ -f $(srcdir)/texinfo/gen-info-dir ] ; then \
1550 $(srcdir)/texinfo/gen-info-dir $(infodir) $(srcdir)/texinfo/dir.info-template > dir.info.new ; \
1551 mv -f dir.info.new dir.info ; \
1556 @echo "Building a full distribution of this tree isn't done"
1557 @echo "via 'make dist'. Check out the etc/ subdirectory"
1566 @for i in $(SUBDIRS); \
1570 wd=`basename $$pwd`; \
1571 for j in `$(MAKE) ls`; \
1579 # with the gnu make, this is done automatically.
1581 Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
1582 $(SHELL) ./config.status
1585 # Build GDB distributions that contain BFD, Include, Libiberty, Readline, etc
1587 DEVO_SUPPORT= README Makefile.in configure configure.in \
1588 config.guess config.sub config move-if-change
1589 ETC_SUPPORT= Makefile.in cfg-paper.texi configure.in configure.man \
1591 GDB_SUPPORT_DIRS= bfd include libiberty mmalloc opcodes readline glob sim
1592 GDB_SUPPORT_FILES= $(GDB_SUPPORT_DIRS)
1594 setup-dirs-gdb: force
1597 ./configure -rm sun4
1598 chmod og=u `find etc $(DEVO_SUPPORT) $(GDB_SUPPORT_FILES) -print`
1600 gdb.tar.Z: setup-dirs-gdb
1601 (cd gdb; $(MAKE) -f Makefile.in make-proto-gdb.dir BISON="byacc")
1602 $(MAKE) $(MFLAGS) -f Makefile.in make-gdb.tar.Z
1604 make-gdb.tar.Z: $(DEVO_SUPPORT) $(GDB_SUPPORT_DIRS) gdb texinfo/texinfo.tex
1605 rm -rf proto-toplev; mkdir proto-toplev
1606 ln -s ../gdb/proto-gdb.dir proto-toplev/gdb
1607 (cd proto-toplev; for i in $(DEVO_SUPPORT) $(GDB_SUPPORT_DIRS); do \
1610 mkdir proto-toplev/etc
1611 (cd proto-toplev/etc; for i in $(ETC_SUPPORT); do \
1612 ln -s ../../etc/$$i . ; \
1614 # Put only one copy (four hard links) of COPYING in the tar file.
1615 rm proto-toplev/bfd/COPYING
1616 ln proto-toplev/gdb/COPYING proto-toplev/bfd/COPYING
1617 rm proto-toplev/include/COPYING
1618 ln proto-toplev/gdb/COPYING proto-toplev/include/COPYING
1619 rm proto-toplev/readline/COPYING
1620 ln proto-toplev/gdb/COPYING proto-toplev/readline/COPYING
1622 # Take out texinfo and glob from configurable dirs
1623 rm proto-toplev/configure.in
1624 sed -e '/^host_tools=/s/texinfo //' \
1625 -e '/^host_libs=/s/glob //' \
1626 <configure.in >proto-toplev/configure.in
1628 # Take out texinfo from a few places; make simple BISON=bison line.
1629 rm proto-toplev/Makefile.in
1630 sed -e '/^all\.normal: /s/\all-texinfo //' \
1631 -e '/^ install-texinfo /d' \
1632 -e '/^BISON = /,/^$$/d' \
1633 -e '/^# BISON:/s/.*/BISON = bison -y/' \
1634 <Makefile.in >proto-toplev/Makefile.in
1636 mkdir proto-toplev/texinfo
1637 ln -s ../../texinfo/texinfo.tex proto-toplev/texinfo/
1638 ln -s ../../texinfo/tex3patch proto-toplev/texinfo/
1639 chmod og=u `find proto-toplev -print`
1640 (VER=`sed <gdb/Makefile.in -n 's/VERSION = //p'`; \
1641 echo "==> Making gdb-$$VER.tar.Z"; \
1642 ln -s proto-toplev gdb-$$VER; \
1643 tar cfh - gdb-$$VER \
1644 | compress -v >gdb-$$VER.tar.Z)
1645 $(GZIP) -d <gdb-$$VER.tar.Z | $(GZIP) -9 -v >gdb-$$VER.tar.z
1647 # When you use `make setup-dirs' or `make taz' you should always redefine
1649 SUPPORT_FILES = list-of-support-files-for-tool-in-question
1650 # Directories that might want `make proto-dir' run.
1656 ./configure -rm sun4
1657 chmod og=u `find etc $(DEVO_SUPPORT) $(SUPPORT_FILES) -print`
1658 for d in .. $(PROTODIRS) ; do \
1659 if [ $$d != ".." ] && [ -d $$d ]; then \
1660 (cd $$d ; $(MAKE) -f Makefile.in proto-dir) ; \
1664 taz: $(DEVO_SUPPORT) $(SUPPORT_FILES) texinfo/texinfo.tex
1665 rm -rf proto-toplev; mkdir proto-toplev
1666 for d in .. $(PROTODIRS) ; do \
1667 if [ $$d != .. ]; then \
1668 if [ -d $$d ]; then \
1669 ln -s ../$$d/proto-$$d.dir proto-toplev/$$d ; \
1673 (cd proto-toplev; for i in $(DEVO_SUPPORT) $(SUPPORT_FILES); do \
1674 if [ ! -d $$i ]; then ln -s ../$$i . ; else true ; fi ; \
1676 mkdir proto-toplev/etc
1677 (cd proto-toplev/etc; for i in $(ETC_SUPPORT); do \
1678 ln -s ../../etc/$$i . ; \
1680 # Put only one copy (four hard links) of COPYING in the tar file.
1683 # Take out texinfo and glob from configurable dirs
1684 rm proto-toplev/configure.in
1685 sed -e '/^host_tools=/s/texinfo //' \
1686 -e '/^host_libs=/s/glob //' \
1687 <configure.in >proto-toplev/configure.in
1689 # Take out texinfo from a few places; make simple BISON=bison line.
1690 rm proto-toplev/Makefile.in
1691 sed -e '/^all\.normal: /s/\all-texinfo //' \
1692 -e '/^ install-texinfo /d' \
1693 -e '/^BISON = /,/^$$/d' \
1694 -e '/^# BISON:/s/.*/BISON = bison -y/' \
1695 <Makefile.in >proto-toplev/Makefile.in
1697 mkdir proto-toplev/texinfo
1698 ln -s ../../texinfo/texinfo.tex proto-toplev/texinfo/
1699 ln -s ../../texinfo/tex3patch proto-toplev/texinfo/
1700 chmod og=u `find proto-toplev -print`
1701 (VER=`sed <$(TOOL)/Makefile.in -n 's/VERSION *= *//p'`; \
1702 echo "==> Making $(TOOL)-$$VER.tar.z"; \
1703 ln -s proto-toplev $(TOOL)-$$VER; \
1704 tar cfh - $(TOOL)-$$VER \
1705 | $(GZIP) -v >$(TOOL)-$$VER.tar.z)
1707 GAS_SUPPORT_DIRS= bfd include libiberty opcodes
1709 gas.tar.z: $(DEVO_SUPPORT) $(GAS_SUPPORT_DIRS) gas texinfo/texinfo.tex
1710 $(MAKE) -f Makefile.in setup-dirs SUPPORT_FILES="$(GAS_SUPPORT_DIRS)"
1711 $(MAKE) -f Makefile.in taz SUPPORT_FILES="$(GAS_SUPPORT_DIRS)" TOOL=gas
1713 # end of Makefile.in