Commit | Line | Data |
---|---|---|
eb02fd64 | 1 | # |
131a3881 | 2 | # Makefile for directory with subdirs to build. |
4dfe09da | 3 | # Copyright (C) 1990, 1991 Cygnus Support |
eb02fd64 | 4 | # |
4dfe09da RP |
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. | |
9 | # | |
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. | |
14 | # | |
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. */ | |
18 | # | |
5710dc37 | 19 | # Last Mod Sun Aug 25 21:42:08 PDT 1991, by rich@cygint.cygnus.com |
eb02fd64 | 20 | # |
f149eb99 RP |
21 | # $Id$ |
22 | ||
eb02fd64 | 23 | srcdir = . |
ec342d7d | 24 | destdir = /usr/local |
eb02fd64 | 25 | |
3c8735af RP |
26 | SHELL=/bin/sh |
27 | ||
ec342d7d RP |
28 | #CC = gcc -b$(target) # -B$(srcdir)/../gas/Host-$(host)/Target-$(target)/ |
29 | #CFLAGS = -g -nostdinc -nostdlib -I- -I/usr/local/lib/gcc/$(target)/1.92/include -I$(srcdir) -I$(srcdir)/../include -I$(OSINCLUDE) | |
eb02fd64 | 30 | |
eb02fd64 | 31 | RANLIB = ranlib |
ec342d7d RP |
32 | AR = ar |
33 | AR_FLAGS = cqv | |
4dfe09da | 34 | BISONPATH = |
eb02fd64 | 35 | |
4dfe09da | 36 | BISON = `if [ -d $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`$(subdir) ] ; then echo $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`$(subdir)/bison -L $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`/; else echo yacc ; fi` |
2645fb0c RP |
37 | |
38 | SUBDIRS = libiberty readline bfd gdb binutils ld gas gcc gnulib | |
6a3958b2 RP |
39 | OTHERS = |
40 | ||
eb02fd64 | 41 | #### host and target specific makefile fragments come in here. |
ec342d7d | 42 | ### |
eb02fd64 | 43 | |
6a3958b2 | 44 | all: |
3c81fef5 | 45 | $(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS) $(OTHERS)" |
6a3958b2 | 46 | |
3c81fef5 | 47 | subdir_do: force |
a01bf1fb RP |
48 | for i in $(DODIRS); do \ |
49 | if [ -d $(srcdir)/$$i -o -d $(srcdir)/$$i.$(target) ] ; then \ | |
50 | if (cd $(srcdir)/$$i`if [ -d $(srcdir)/$$i.$(target) ] ; \ | |
51 | then echo .$(target) ; fi`$(subdir); \ | |
52 | $(MAKE) \ | |
53 | "against=$(against)" \ | |
54 | "AR=$(AR)" \ | |
55 | "AR_FLAGS=$(AR_FLAGS)" \ | |
2645fb0c RP |
56 | "RANLIB=$(RANLIB)" \ |
57 | "BISON=$(BISON)" $(DO)) ; then true ; \ | |
a01bf1fb RP |
58 | else exit 1 ; fi ; \ |
59 | else true ; fi ; \ | |
60 | done | |
eb02fd64 | 61 | |
2b34da49 RP |
62 | bootstrap: |
63 | $(MAKE) all | |
64 | $(MAKE) stage1 | |
6a3958b2 RP |
65 | $(MAKE) pass "stagepass=stage1" |
66 | $(MAKE) stage2 | |
67 | $(MAKE) pass "stagepass=stage2" | |
a01bf1fb | 68 | $(MAKE) comparison |
6a3958b2 RP |
69 | |
70 | bootstrap2: | |
71 | $(MAKE) pass "stagepass=stage1" | |
72 | $(MAKE) stage2 | |
73 | $(MAKE) pass "stagepass=stage2" | |
a01bf1fb | 74 | $(MAKE) comparison |
6a3958b2 RP |
75 | |
76 | bootstrap3: | |
77 | $(MAKE) pass "stagepass=stage2" | |
a01bf1fb | 78 | $(MAKE) comparison |
6a3958b2 RP |
79 | |
80 | pass: | |
2770ad8b RP |
81 | cp $(srcdir)/gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ |
82 | then echo .$(target) ; fi`/gstdarg.h $(srcdir)/gas/stdarg.h | |
3c81fef5 | 83 | $(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS)" \ |
6a3958b2 RP |
84 | "CC=$(srcdir)/../gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ |
85 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/gcc -O \ | |
86 | -B$(srcdir)/../gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ | |
87 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/ \ | |
88 | -B$(srcdir)/../gas`if [ -d $(srcdir)/gas.$(target) ] ; \ | |
89 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/" \ | |
90 | "AR=$(srcdir)/../binutils`if [ -d $(srcdir)/binutils.$(target) ] ; \ | |
91 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/ar" \ | |
92 | "RANLIB=$(srcdir)/../binutils`if [ -d $(srcdir)/binutils.$(target) ] ; \ | |
93 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/ranlib" \ | |
94 | "LOADLIBES=$(srcdir)/../gnulib`if [ -d $(srcdir)/binutils.$(target) ] ; \ | |
95 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/gnulib.a /lib/libc.a" \ | |
96 | "LDFLAGS=-nostdlib /lib/crt0.o \ | |
4dfe09da RP |
97 | -L$(srcdir)/../gnulib`if [ -d $(srcdir)/gnulib.$(target) ] ; \ |
98 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/ \ | |
6a3958b2 RP |
99 | -B$(srcdir)/../ld`if [ -d $(srcdir)/ld.$(target) ] ; \ |
100 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/" | |
2b34da49 | 101 | |
eb02fd64 | 102 | |
6a3958b2 | 103 | stage1: |
3c81fef5 | 104 | $(MAKE) subdir_do DO=stage1 "DODIRS=$(SUBDIRS)" |
eb02fd64 | 105 | |
6a3958b2 | 106 | stage2: |
3c81fef5 | 107 | $(MAKE) subdir_do DO=stage2 "DODIRS=$(SUBDIRS)" |
eb02fd64 | 108 | |
6a3958b2 | 109 | stage3: |
3c81fef5 | 110 | $(MAKE) subdir_do DO=stage3 "DODIRS=$(SUBDIRS)" |
eb02fd64 | 111 | |
6a3958b2 | 112 | stage4: |
3c81fef5 | 113 | $(MAKE) subdir_do DO=stage4 "DODIRS=$(SUBDIRS)" |
eb02fd64 | 114 | |
a01bf1fb RP |
115 | against=stage2 |
116 | ||
117 | comparison:; $(MAKE) subdir_do DO=comparison against=$(against) "DODIRS=$(SUBDIRS)" | |
118 | ||
3c81fef5 RP |
119 | de-stage1:; $(MAKE) subdir_do DO=de-stage1 "DODIRS=$(SUBDIRS)" |
120 | de-stage2:; $(MAKE) subdir_do DO=de-stage2 "DODIRS=$(SUBDIRS)" | |
121 | de-stage3:; $(MAKE) subdir_do DO=de-stage3 "DODIRS=$(SUBDIRS)" | |
122 | de-stage4:; $(MAKE) subdir_do DO=de-stage4 "DODIRS=$(SUBDIRS)" | |
6a3958b2 RP |
123 | |
124 | clean: | |
125 | rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E | |
3c81fef5 | 126 | $(MAKE) subdir_do DO=clean "DODIRS=$(SUBDIRS) $(OTHERS)" |
6a3958b2 | 127 | |
2645fb0c | 128 | install: install-dirs install-fixed-includes |
3c81fef5 | 129 | $(MAKE) subdir_do DO=install "DODIRS=$(SUBDIRS) $(OTHERS)" |
eb02fd64 | 130 | |
2645fb0c RP |
131 | install-dirs: force |
132 | - mkdir $(destdir) | |
133 | - mkdir $(destdir)/bin | |
134 | - mkdir $(destdir)/lib | |
135 | - mkdir $(destdir)/include | |
136 | - mkdir $(destdir)/man | |
137 | - mkdir $(destdir)/man/man1 | |
5710dc37 RP |
138 | if [ -d $(srcdir)/gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ |
139 | then echo .$(target) ; fi`$(subdir) ] ; then \ | |
140 | (cd $(srcdir)/gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ | |
141 | then echo .$(target) ; fi`$(subdir) ; \ | |
142 | $(MAKE) install-dir) ; \ | |
143 | fi | |
2645fb0c RP |
144 | |
145 | install-fixed-includes: force | |
5710dc37 RP |
146 | if [ -d $(srcdir)/gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ |
147 | then echo .$(target) ; fi`$(subdir) ] ; then \ | |
148 | (cd $(srcdir)/gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ | |
149 | then echo .$(target) ; fi`$(subdir) ; \ | |
150 | $(MAKE) install-fixed-includes) ; \ | |
151 | fi | |
a7058e26 | 152 | |
eb02fd64 RP |
153 | etags tags: TAGS |
154 | ||
155 | TAGS: FORCE | |
156 | etags `$(MAKE) ls` | |
157 | ||
158 | ls: | |
159 | @echo Makefile | |
160 | @for i in $(SUBDIRS); \ | |
161 | do \ | |
162 | (cd $$i; \ | |
163 | pwd=`pwd`; \ | |
164 | wd=`basename $$pwd`; \ | |
165 | for j in `$(MAKE) ls`; \ | |
166 | do \ | |
167 | echo $$wd/$$j; \ | |
168 | done) \ | |
169 | done | |
170 | ||
3c81fef5 | 171 | force: |
eb02fd64 RP |
172 | |
173 | # with the gnu make, this is done automatically. | |
174 | ||
175 | Makefile: $(srcdir)/Makefile.in $(srcdir)/configure | |
131a3881 | 176 | (cd $(srcdir) ; \ |
f149eb99 | 177 | ./configure +destdir=$(destdir) +norecurse \ |
4dfe09da | 178 | `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \ |
0df06ca0 | 179 | $(host) +target=$(target)) |
eb02fd64 | 180 | |
11954bf1 JG |
181 | # |
182 | # Build GDB distributions that contain BFD, Include, Libiberty, Readline, etc | |
183 | ||
3c8735af RP |
184 | DEVO_SUPPORT= README README.configure Makefile.in configure configure.in \ |
185 | config.sub | |
11954bf1 JG |
186 | GDB_SUPPORT_DIRS= bfd include libiberty readline texinfo/fsf/texinfo.tex |
187 | ||
188 | bfd.ilrt.tar.Z: force_update | |
189 | ./configure -template=./configure | |
190 | ./configure sun4 | |
191 | make clean | |
192 | ./configure -rm sun4 | |
193 | rm -f bfd.ilrt.tar.Z | |
4dfe09da | 194 | chmod og=u `find $(DEVO_SUPPORT) $(GDB_SUPPORT_DIRS) -print` |
11954bf1 JG |
195 | tar cf - $(DEVO_SUPPORT) $(GDB_SUPPORT_DIRS) \ |
196 | | compress -v >bfd.ilrt.tar.Z | |
197 | ||
198 | force_update: | |
199 | ||
eb02fd64 RP |
200 | # |
201 | # $Log$ | |
5710dc37 RP |
202 | # Revision 1.29 1991/08/26 04:45:57 rich |
203 | # Correcting install target when gcc not present. | |
204 | # | |
205 | # Revision 1.28 1991/08/25 23:40:22 rich | |
3c8735af RP |
206 | # rcs enters the soup. |
207 | # | |
208 | # Revision 1.27 1991/08/23 07:15:56 gnu | |
209 | # Make README stick... | |
210 | # | |
211 | # Revision 1.26 1991/08/22 09:20:07 gnu | |
212 | # Build a top-level README for devo. | |
213 | # | |
214 | # Revision 1.25 1991/08/22 07:15:49 rich | |
4dfe09da RP |
215 | # Three part names, etc. |
216 | # | |
217 | # Revision 1.24 1991/08/20 01:57:31 rich | |
218 | # Another try at passing gnulib's location. | |
219 | # | |
220 | # Revision 1.23 1991/08/16 21:47:41 rich | |
221 | # Pass on BISON as bison only if bison is here. | |
222 | # | |
223 | # Revision 1.22 1991/08/07 19:15:26 rich | |
224 | # +forcesubdirs -> +subdirs | |
225 | # | |
226 | # Revision 1.21 1991/07/31 18:07:59 gnu | |
227 | # Set file permissions the same for everyone before making tar file. | |
228 | # | |
229 | # Revision 1.20 1991/07/31 02:47:14 gnu | |
11954bf1 JG |
230 | # Add bfd.ilrt.tar.Z "make" rules. |
231 | # | |
232 | # Revision 1.19 1991/07/27 07:46:34 rich | |
2645fb0c RP |
233 | # Changes to accomodate using the freshly built bison in place. |
234 | # | |
235 | # Revision 1.18 1991/07/16 00:01:40 gnu | |
236 | # Add back gdb and readline. | |
237 | # | |
238 | # Revision 1.17 1991/06/18 15:30:55 rich | |
239 | # added install-dirs target. | |
240 | # | |
241 | # Revision 1.16 1991/06/14 13:35:40 rich | |
a7058e26 RP |
242 | # install fixed include files on install. |
243 | # | |
244 | # Revision 1.15 1991/06/09 20:27:01 rich | |
a01bf1fb RP |
245 | # added support for binary comparisons. |
246 | # | |
247 | # Revision 1.14 1991/05/31 12:34:55 gnu | |
6849cb71 JG |
248 | # Avoid error stop from Make if a directory doesn't exist during subdir_do. |
249 | # | |
250 | # Revision 1.13 1991/05/27 23:03:20 rich | |
2770ad8b RP |
251 | # Put gcc/gstdarg.h where gas can find it; gas/stdarg.h. |
252 | # | |
253 | # Revision 1.12 1991/05/19 00:36:44 rich | |
3c81fef5 RP |
254 | # Added gdb. |
255 | # | |
256 | # Revision 1.11 1991/05/03 21:30:41 gnu | |
592ecfb2 JG |
257 | # Rename getopt to libiberty. |
258 | # | |
259 | # Revision 1.10 1991/04/24 16:50:53 rich | |
6a3958b2 RP |
260 | # Three staging checkpoint. |
261 | # | |
262 | # Revision 1.9 1991/04/17 01:34:36 rich | |
2b34da49 RP |
263 | # Added getopt for binutils, fixed problem with host dependancies in |
264 | # configure.template. | |
265 | # | |
266 | # Revision 1.8 1991/04/15 23:43:45 rich | |
0df06ca0 RP |
267 | # Now handles multiple hosts and targets. |
268 | # | |
269 | # Revision 1.7 1991/04/13 13:06:16 tiemann | |
bb335cf4 MT |
270 | # Don't depend `install' on `all'. Actually, the way things work, all |
271 | # depends on things being incrementally installed, and install depends | |
272 | # on everything happening in a topological fashion. | |
273 | # | |
274 | # This will need to be worked on further, but for now it's ok. | |
275 | # | |
276 | # Revision 1.6 1991/04/13 10:04:14 rich | |
277 | # Now can build gas for a29k on a29k. | |
278 | # | |
279 | # Revision 1.5 1991/04/13 07:40:41 rich | |
f149eb99 RP |
280 | # Fixed an ordering bug. Now everything is built, and then installed. |
281 | # | |
282 | # Revision 1.4 1991/04/13 02:11:09 rich | |
ec342d7d RP |
283 | # Config cut 3. We now almost install a29k. |
284 | # | |
285 | # Revision 1.3 1991/04/11 02:41:53 rich | |
131a3881 | 286 | # Cut 2 config. Subdirs. |
eb02fd64 RP |
287 | # |
288 | # | |
289 | # | |
290 | ||
291 | # end of Makefile.in |