* remote-hms.c, ser-go32.c, serial.h: Change from
[deliverable/binutils-gdb.git] / sol-GNUmakefile
1 #!/usr/latest/bin/make -f
2 #
3 # Makefile used to three-stage build a tree of source code, usually devo.
4 #
5
6 # Every invocation of this Makefile needs to have a variable set (host),
7 # which is the named used for ./configure, and also the prefix for the
8 # various files and directories used in a three stage.
9 #
10
11 ifndef host
12 error:
13 @echo
14 @echo
15 @echo You must set the variable \"host\" to use this Makefile
16 @echo
17 @echo
18 @exit 1
19 else
20
21 #
22 # from here to very near the end of the file is the real guts of this
23 # Makefile, and it is not seen if the variable 'host' is not set
24 #
25
26 TREE := progressive
27 ROOTING := /opt/cygnus-sol2-1.0
28 CVS_MODULE := progressive-solaris
29 TAG_DATE := 920615
30 RELEASE_TAG := $(CVS_MODULE)-$(TAG_DATE)
31 release_root := $(ROOTING)
32
33 TIME := time
34 NICE := nice -17
35 MF := -w
36 GNUC := gcc -g
37
38 SHELL := /bin/sh
39
40 INSTDIR := $(shell pwd)/$(host)
41 PREFIXES := prefix=$(ROOTING)
42
43 ifdef target
44 arch=$(host)=$(target)
45 endif
46
47 .PHONY: all
48 all: do1 do2 do3
49
50 .PHONY: configuration
51 configuration: $(TREE) $(host)-stamp-stage1-configured
52
53 .PHONY: comparison
54 comparison:
55 for i in `cd $(host)-objdir.3 ; find . -name \*.o -print` ; do \
56 cmp $(host)-objdir.2/$$i $(host)-objdir.3/$$i ; \
57 done
58
59 .PHONY: clean
60 clean:
61 rm -rf $(host)-$(TREE)-holes $(host)-objdir $(host)-objdir.[123] $(host)-stamp-stage[123]* $(host)-stamp-holes *~
62
63 .PHONY: very
64 very:
65 rm -rf $(TREE)
66
67 $(TREE):
68 $(TIME) cvs co $(CVS_TAG) $(CVS_MODULE)
69
70 .PHONY: do1
71 do1: $(host)-$(TREE)-holes $(host)-stamp-stage1
72
73 $(host)-stamp-stage1: $(host)-objdir.1
74 touch $(host)-stamp-stage1
75
76 $(host)-objdir.1: $(TREE) $(host)-stamp-stage1-configured
77 (cd $(host)-objdir ; $(TIME) make $(MF) all info host=$(host))
78 @echo CONFIGURE: make all completed for $(host)
79 (cd $(host)-objdir ; $(TIME) make $(MF) install install-info host=$(host))
80 @echo CONFIGURE: make install-all completed for $(host)
81 mv $(host)-objdir $(host)-objdir.1
82
83 $(host)-stamp-stage1-configured:
84 [ -d $(host)-objdir ] || mkdir $(host)-objdir
85 (cd $(host)-objdir ; \
86 $(TIME) ../$(TREE)/configure $(host) -v -srcdir=../$(TREE) \
87 -prefix=$(ROOTING))
88 touch $@
89
90 .PHONY: do2
91 do2: $(host)-$(TREE)-holes $(host)-stamp-stage2
92
93 $(host)-stamp-stage2: $(host)-objdir.2
94 PATH=$(release_root)/bin:`pwd`/$(host)-$(TREE)-holes ; \
95 export PATH ; \
96 echo $$PATH ; \
97 SHELL=sh ; export SHELL ; \
98 $(TIME) make $(host)-objdir.2 host=$(host)
99 touch $(host)-stamp-stage2
100
101 $(host)-objdir.2: $(TREE) $(host)-stamp-stage2-configured
102 [ -d $(host)-objdir ] || mkdir $(host)-objdir
103 (cd $(host)-objdir ; $(TIME) make $(MF) all info "CC=$(GNUC)" host=$(host))
104 (cd $(host)-objdir ; $(TIME) make $(MF) $(PREFIXES) install install-info "CC=$(GNUC)" host=$(host))
105 mv $(host)-objdir $(host)-objdir.2
106
107 $(host)-stamp-stage2-configured:
108 [ -d $(host)-objdir ] || mkdir $(host)-objdir
109 (cd $(host)-objdir ; \
110 $(TIME) ../$(TREE)/configure $(host) -v -srcdir=../$(TREE) \
111 -prefix=$(ROOTING))
112 touch $@
113
114 .PHONY: do3
115 do3: $(host)-$(TREE)-holes $(host)-stamp-stage3
116
117 $(host)-stamp-stage3: $(host)-objdir.3
118 PATH=$(release_root)/bin:`pwd`/$(host)-$(TREE)-holes ; \
119 export PATH ; \
120 SHELL=sh ; export SHELL ; \
121 $(TIME) make $(host)-objdir.3 host=$(host)
122 touch $(host)-stamp-stage3
123
124 $(host)-objdir.3: $(TREE) $(host)-stamp-stage3-configured
125 [ -d $(host)-objdir ] || mkdir $(host)-objdir
126 (cd $(host)-objdir ; $(TIME) make $(MF) all info "CC=$(GNUC)" host=$(host))
127 (cd $(host)-objdir ; $(TIME) make $(MF) install-no-fixedincludes install-info "CC=$(GNUC)" host=$(host))
128 mv $(host)-objdir $(host)-objdir.3
129
130 $(host)-stamp-stage3-configured:
131 [ -d $(host)-objdir ] || mkdir $(host)-objdir
132 (cd $(host)-objdir ; \
133 $(TIME) ../$(TREE)/configure $(host) -v -srcdir=../$(TREE) \
134 -prefix=$(ROOTING))
135 touch $@
136
137 HOLES := [ \
138 ar \
139 as \
140 awk \
141 basename \
142 cat \
143 cc \
144 chmod \
145 cmp \
146 cp \
147 date \
148 echo \
149 egrep \
150 ex \
151 expr \
152 find \
153 grep \
154 hostname \
155 install \
156 ld \
157 lex \
158 ln \
159 ls \
160 mkdir \
161 mv \
162 pwd \
163 ranlib \
164 rm \
165 rmdir \
166 sed \
167 sh \
168 sort \
169 time \
170 touch \
171 tr \
172 true \
173 whoami
174
175 PARTIAL_HOLES := \
176 gcc \
177 make
178
179
180 $(host)-$(TREE)-holes: $(host)-stamp-holes
181
182 $(host)-stamp-holes:
183 -rm -rf $(host)-$(TREE)-holes
184 -mkdir $(host)-$(TREE)-holes
185 for i in $(HOLES) ; do \
186 if [ -x $(host)-$(TREE)-holes/$$i ] ; then \
187 echo "$$i already present" ; \
188 else if [ -x /bin/$$i ] ; then \
189 cp /bin/$$i $(host)-$(TREE)-holes ; \
190 echo $$i from /bin ; \
191 else if [ -x /usr/bin/$$i ] ; then \
192 cp /usr/bin/$$i $(host)-$(TREE)-holes ; \
193 echo $$i from /usr/bin ; \
194 else if [ -x /usr/ccs/bin/$$i ] ; then \
195 cp /usr/ccs/bin/$$i $(host)-$(TREE)-holes ; \
196 echo $$i from /usr/ccs/bin ; \
197 else if [ -x /usr/unsupported/bin/$$i ] ; then \
198 cp /usr/unsupported/bin/$$i $(host)-$(TREE)-holes ; \
199 echo $$i from /usr/unsupported/bin ; \
200 else \
201 echo $$i is NOT found ; \
202 fi; fi ; fi ; fi ; fi ; true ; \
203 done
204 for i in $(PARTIAL_HOLES) ; do \
205 if [ -x /usr/latest/bin/$$i ] ; then \
206 cp /usr/latest/bin/$$i $(host)-$(TREE)-holes ; \
207 echo $$i from /usr/latest/bin ; \
208 else if [ -x /usr/unsupported/bin/$$i ] ; then \
209 cp /usr/unsupported/bin/$$i $(host)-$(TREE)-holes ; \
210 echo $$i from /usr/unsupported/bin ; \
211 fi; fi; \
212 done
213 touch $(host)-stamp-holes
214
215 force:
216
217 endif # host
218
219 ### Local Variables:
220 ### fill-column: 131
221 ### End:
222
This page took 0.076768 seconds and 4 git commands to generate.