Commit | Line | Data |
---|---|---|
eb02fd64 | 1 | # |
131a3881 | 2 | # Makefile for directory with subdirs to build. |
eb02fd64 | 3 | # |
2645fb0c | 4 | # Last Mod Wed Jul 24 18:25:48 PDT 1991, by rich@cygint.cygnus.com |
eb02fd64 RP |
5 | # |
6 | ||
f149eb99 RP |
7 | # $Id$ |
8 | ||
eb02fd64 | 9 | srcdir = . |
ec342d7d | 10 | destdir = /usr/local |
eb02fd64 | 11 | |
ec342d7d RP |
12 | #CC = gcc -b$(target) # -B$(srcdir)/../gas/Host-$(host)/Target-$(target)/ |
13 | #CFLAGS = -g -nostdinc -nostdlib -I- -I/usr/local/lib/gcc/$(target)/1.92/include -I$(srcdir) -I$(srcdir)/../include -I$(OSINCLUDE) | |
eb02fd64 | 14 | |
eb02fd64 | 15 | RANLIB = ranlib |
ec342d7d RP |
16 | AR = ar |
17 | AR_FLAGS = cqv | |
2645fb0c | 18 | BISONPATH = $(srcdir)/../bison`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi` |
eb02fd64 | 19 | |
2645fb0c RP |
20 | BISON = $(BISONPATH)$(subdir)/bison -L $(BISONPATH)/ |
21 | ||
22 | SUBDIRS = libiberty readline bfd gdb binutils ld gas gcc gnulib | |
6a3958b2 RP |
23 | OTHERS = |
24 | ||
eb02fd64 | 25 | #### host and target specific makefile fragments come in here. |
ec342d7d | 26 | ### |
eb02fd64 | 27 | |
6a3958b2 | 28 | all: |
3c81fef5 | 29 | $(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS) $(OTHERS)" |
6a3958b2 | 30 | |
3c81fef5 | 31 | subdir_do: force |
a01bf1fb RP |
32 | for i in $(DODIRS); do \ |
33 | if [ -d $(srcdir)/$$i -o -d $(srcdir)/$$i.$(target) ] ; then \ | |
34 | if (cd $(srcdir)/$$i`if [ -d $(srcdir)/$$i.$(target) ] ; \ | |
35 | then echo .$(target) ; fi`$(subdir); \ | |
36 | $(MAKE) \ | |
37 | "against=$(against)" \ | |
38 | "AR=$(AR)" \ | |
39 | "AR_FLAGS=$(AR_FLAGS)" \ | |
2645fb0c RP |
40 | "RANLIB=$(RANLIB)" \ |
41 | "BISON=$(BISON)" $(DO)) ; then true ; \ | |
a01bf1fb RP |
42 | else exit 1 ; fi ; \ |
43 | else true ; fi ; \ | |
44 | done | |
eb02fd64 | 45 | |
2b34da49 RP |
46 | bootstrap: |
47 | $(MAKE) all | |
48 | $(MAKE) stage1 | |
6a3958b2 RP |
49 | $(MAKE) pass "stagepass=stage1" |
50 | $(MAKE) stage2 | |
51 | $(MAKE) pass "stagepass=stage2" | |
a01bf1fb | 52 | $(MAKE) comparison |
6a3958b2 RP |
53 | |
54 | bootstrap2: | |
55 | $(MAKE) pass "stagepass=stage1" | |
56 | $(MAKE) stage2 | |
57 | $(MAKE) pass "stagepass=stage2" | |
a01bf1fb | 58 | $(MAKE) comparison |
6a3958b2 RP |
59 | |
60 | bootstrap3: | |
61 | $(MAKE) pass "stagepass=stage2" | |
a01bf1fb | 62 | $(MAKE) comparison |
6a3958b2 RP |
63 | |
64 | pass: | |
2770ad8b RP |
65 | cp $(srcdir)/gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ |
66 | then echo .$(target) ; fi`/gstdarg.h $(srcdir)/gas/stdarg.h | |
3c81fef5 | 67 | $(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS)" \ |
6a3958b2 RP |
68 | "CC=$(srcdir)/../gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ |
69 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/gcc -O \ | |
70 | -B$(srcdir)/../gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ | |
71 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/ \ | |
72 | -B$(srcdir)/../gas`if [ -d $(srcdir)/gas.$(target) ] ; \ | |
73 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/" \ | |
74 | "AR=$(srcdir)/../binutils`if [ -d $(srcdir)/binutils.$(target) ] ; \ | |
75 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/ar" \ | |
76 | "RANLIB=$(srcdir)/../binutils`if [ -d $(srcdir)/binutils.$(target) ] ; \ | |
77 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/ranlib" \ | |
78 | "LOADLIBES=$(srcdir)/../gnulib`if [ -d $(srcdir)/binutils.$(target) ] ; \ | |
79 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/gnulib.a /lib/libc.a" \ | |
80 | "LDFLAGS=-nostdlib /lib/crt0.o \ | |
81 | -B$(srcdir)/../ld`if [ -d $(srcdir)/ld.$(target) ] ; \ | |
82 | then echo .$(target) ; fi`$(subdir)/$(stagepass)/" | |
2b34da49 | 83 | |
eb02fd64 | 84 | |
6a3958b2 | 85 | stage1: |
3c81fef5 | 86 | $(MAKE) subdir_do DO=stage1 "DODIRS=$(SUBDIRS)" |
eb02fd64 | 87 | |
6a3958b2 | 88 | stage2: |
3c81fef5 | 89 | $(MAKE) subdir_do DO=stage2 "DODIRS=$(SUBDIRS)" |
eb02fd64 | 90 | |
6a3958b2 | 91 | stage3: |
3c81fef5 | 92 | $(MAKE) subdir_do DO=stage3 "DODIRS=$(SUBDIRS)" |
eb02fd64 | 93 | |
6a3958b2 | 94 | stage4: |
3c81fef5 | 95 | $(MAKE) subdir_do DO=stage4 "DODIRS=$(SUBDIRS)" |
eb02fd64 | 96 | |
a01bf1fb RP |
97 | against=stage2 |
98 | ||
99 | comparison:; $(MAKE) subdir_do DO=comparison against=$(against) "DODIRS=$(SUBDIRS)" | |
100 | ||
3c81fef5 RP |
101 | de-stage1:; $(MAKE) subdir_do DO=de-stage1 "DODIRS=$(SUBDIRS)" |
102 | de-stage2:; $(MAKE) subdir_do DO=de-stage2 "DODIRS=$(SUBDIRS)" | |
103 | de-stage3:; $(MAKE) subdir_do DO=de-stage3 "DODIRS=$(SUBDIRS)" | |
104 | de-stage4:; $(MAKE) subdir_do DO=de-stage4 "DODIRS=$(SUBDIRS)" | |
6a3958b2 RP |
105 | |
106 | clean: | |
107 | rm -rf *.a TEMP errs core *.o *~ \#* TAGS *.E | |
3c81fef5 | 108 | $(MAKE) subdir_do DO=clean "DODIRS=$(SUBDIRS) $(OTHERS)" |
6a3958b2 | 109 | |
2645fb0c | 110 | install: install-dirs install-fixed-includes |
3c81fef5 | 111 | $(MAKE) subdir_do DO=install "DODIRS=$(SUBDIRS) $(OTHERS)" |
eb02fd64 | 112 | |
2645fb0c RP |
113 | install-dirs: force |
114 | - mkdir $(destdir) | |
115 | - mkdir $(destdir)/bin | |
116 | - mkdir $(destdir)/lib | |
117 | - mkdir $(destdir)/include | |
118 | - mkdir $(destdir)/man | |
119 | - mkdir $(destdir)/man/man1 | |
120 | (cd $(srcdir)/gcc`if [ -d $(srcdir)/gcc.$(target) ] ; \ | |
121 | then echo .$(target) ; fi`$(subdir) ; $(MAKE) install-dir) | |
122 | ||
123 | install-fixed-includes: force | |
a7058e26 RP |
124 | (cd gcc ; $(MAKE) install-fixed-includes) |
125 | ||
eb02fd64 RP |
126 | etags tags: TAGS |
127 | ||
128 | TAGS: FORCE | |
129 | etags `$(MAKE) ls` | |
130 | ||
131 | ls: | |
132 | @echo Makefile | |
133 | @for i in $(SUBDIRS); \ | |
134 | do \ | |
135 | (cd $$i; \ | |
136 | pwd=`pwd`; \ | |
137 | wd=`basename $$pwd`; \ | |
138 | for j in `$(MAKE) ls`; \ | |
139 | do \ | |
140 | echo $$wd/$$j; \ | |
141 | done) \ | |
142 | done | |
143 | ||
3c81fef5 | 144 | force: |
eb02fd64 RP |
145 | |
146 | # with the gnu make, this is done automatically. | |
147 | ||
148 | Makefile: $(srcdir)/Makefile.in $(srcdir)/configure | |
131a3881 | 149 | (cd $(srcdir) ; \ |
f149eb99 RP |
150 | ./configure +destdir=$(destdir) +norecurse \ |
151 | `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \ | |
0df06ca0 | 152 | $(host) +target=$(target)) |
eb02fd64 RP |
153 | |
154 | # | |
155 | # $Log$ | |
2645fb0c RP |
156 | # Revision 1.19 1991/07/27 07:46:34 rich |
157 | # Changes to accomodate using the freshly built bison in place. | |
158 | # | |
159 | # Revision 1.18 1991/07/16 00:01:40 gnu | |
160 | # Add back gdb and readline. | |
161 | # | |
162 | # Revision 1.17 1991/06/18 15:30:55 rich | |
163 | # added install-dirs target. | |
164 | # | |
165 | # Revision 1.16 1991/06/14 13:35:40 rich | |
a7058e26 RP |
166 | # install fixed include files on install. |
167 | # | |
168 | # Revision 1.15 1991/06/09 20:27:01 rich | |
a01bf1fb RP |
169 | # added support for binary comparisons. |
170 | # | |
171 | # Revision 1.14 1991/05/31 12:34:55 gnu | |
6849cb71 JG |
172 | # Avoid error stop from Make if a directory doesn't exist during subdir_do. |
173 | # | |
174 | # Revision 1.13 1991/05/27 23:03:20 rich | |
2770ad8b RP |
175 | # Put gcc/gstdarg.h where gas can find it; gas/stdarg.h. |
176 | # | |
177 | # Revision 1.12 1991/05/19 00:36:44 rich | |
3c81fef5 RP |
178 | # Added gdb. |
179 | # | |
180 | # Revision 1.11 1991/05/03 21:30:41 gnu | |
592ecfb2 JG |
181 | # Rename getopt to libiberty. |
182 | # | |
183 | # Revision 1.10 1991/04/24 16:50:53 rich | |
6a3958b2 RP |
184 | # Three staging checkpoint. |
185 | # | |
186 | # Revision 1.9 1991/04/17 01:34:36 rich | |
2b34da49 RP |
187 | # Added getopt for binutils, fixed problem with host dependancies in |
188 | # configure.template. | |
189 | # | |
190 | # Revision 1.8 1991/04/15 23:43:45 rich | |
0df06ca0 RP |
191 | # Now handles multiple hosts and targets. |
192 | # | |
193 | # Revision 1.7 1991/04/13 13:06:16 tiemann | |
bb335cf4 MT |
194 | # Don't depend `install' on `all'. Actually, the way things work, all |
195 | # depends on things being incrementally installed, and install depends | |
196 | # on everything happening in a topological fashion. | |
197 | # | |
198 | # This will need to be worked on further, but for now it's ok. | |
199 | # | |
200 | # Revision 1.6 1991/04/13 10:04:14 rich | |
201 | # Now can build gas for a29k on a29k. | |
202 | # | |
203 | # Revision 1.5 1991/04/13 07:40:41 rich | |
f149eb99 RP |
204 | # Fixed an ordering bug. Now everything is built, and then installed. |
205 | # | |
206 | # Revision 1.4 1991/04/13 02:11:09 rich | |
ec342d7d RP |
207 | # Config cut 3. We now almost install a29k. |
208 | # | |
209 | # Revision 1.3 1991/04/11 02:41:53 rich | |
131a3881 | 210 | # Cut 2 config. Subdirs. |
eb02fd64 RP |
211 | # |
212 | # | |
213 | # | |
214 | ||
215 | # end of Makefile.in |