Makefile.in revision 33965
1#
2# Makefile
3#   Copyright (C) 1990, 1991, 1992, 1993 Free Software Foundation
4#
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
18#
19
20VPATH = @srcdir@
21srcdir = @srcdir@
22
23prefix = @prefix@
24
25exec_prefix = @exec_prefix@
26bindir = @bindir@
27libdir = @libdir@
28
29datadir = @datadir@
30mandir = @mandir@
31man1dir = $(mandir)/man1
32man2dir = $(mandir)/man2
33man3dir = $(mandir)/man3
34man4dir = $(mandir)/man4
35man5dir = $(mandir)/man5
36man6dir = $(mandir)/man6
37man7dir = $(mandir)/man7
38man8dir = $(mandir)/man8
39man9dir = $(mandir)/man9
40infodir = @infodir@
41includedir = @includedir@
42
43MKDOC=./chew
44SHELL = /bin/sh
45
46INSTALL = @INSTALL@
47INSTALL_PROGRAM = @INSTALL_PROGRAM@
48INSTALL_DATA = @INSTALL_DATA@
49
50MAKEINFO = makeinfo
51TEXI2DVI = texi2dvi
52CFLAGS = -g
53
54CC_FOR_BUILD = $(CC)
55
56#### Host, target, and site specific Makefile fragments come in here.
57###
58
59.c.o:
60	$(CC) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include $(H_CFLAGS) $(CFLAGS) $<
61
62DOCFILES = aoutx.texi  archive.texi archures.texi \
63	bfd.texi  cache.texi coffcode.texi \
64	core.texi elf.texi elfcode.texi  format.texi  libbfd.texi  \
65	opncls.texi  reloc.texi  section.texi  \
66	syms.texi  targets.texi init.texi hash.texi linker.texi
67
68PROTOS = archive.p archures.p bfd.p \
69	 core.p format.p \
70	libbfd.p opncls.p reloc.p \
71	section.p syms.p targets.p  \
72	format.p  core.p init.p
73
74IPROTOS = cache.ip libbfd.ip reloc.ip init.ip archures.ip coffcode.ip
75
76# SRCDOC, SRCPROT, SRCIPROT only used to sidestep Sun Make bug in interaction 
77# between VPATH and suffix rules.  If you use GNU Make, perhaps other Makes,
78# you don't need these three:
79SRCDOC = $(srcdir)/../aoutx.h  $(srcdir)/../archive.c \
80	$(srcdir)/../archures.c $(srcdir)/../bfd.c \
81	$(srcdir)/../cache.c $(srcdir)/../coffcode.h \
82	$(srcdir)/../corefile.c $(srcdir)/../elf.c \
83	$(srcdir)/../elfcode.h  $(srcdir)/../format.c \
84	$(srcdir)/../libbfd.c $(srcdir)/../opncls.c \
85	$(srcdir)/../reloc.c  $(srcdir)/../section.c \
86	$(srcdir)/../syms.c  $(srcdir)/../targets.c \
87	$(srcdir)/../hash.c $(srcdir)/../linker.c
88
89SRCPROT = $(srcdir)/../archive.c $(srcdir)/../archures.c \
90	$(srcdir)/../bfd.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c \
91	$(srcdir)/../format.c $(srcdir)/../libbfd.c \
92	$(srcdir)/../opncls.c $(srcdir)/../reloc.c \
93	$(srcdir)/../section.c $(srcdir)/../syms.c \
94	$(srcdir)/../targets.c $(srcdir)/../init.c
95
96SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c \
97	$(srcdir)/../reloc.c $(srcdir)/../cpu-h8300.c \
98	$(srcdir)/../cpu-i960.c $(srcdir)/../archures.c \
99	$(srcdir)/../init.c
100
101STAGESTUFF = $(DOCFILES) *.info*
102
103TEXIDIR = $(srcdir)/../../texinfo/fsf
104
105all install:
106
107info: bfd.info
108
109dvi: bfd.dvi
110
111install-info: info
112	if [ -r bfd.info ]; then \
113	  dir=.; \
114	else \
115	  dir=$(srcdir); \
116	fi; \
117	for i in `cd $$dir; echo *.info*`; do \
118	  $(INSTALL_DATA) $$dir/$$i $(infodir)/$$i; \
119	done
120
121docs: $(MKDOC) protos bfd.info bfd.dvi bfd.ps
122
123$(MKDOC): chew.o
124	$(CC_FOR_BUILD) -o $(MKDOC) chew.o $(LOADLIBES) $(LDFLAGS)
125
126chew.o: chew.c
127	$(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
128
129protos: libbfd.h libcoff.h bfd.h
130
131
132# We can't replace these rules with an implicit rule, because
133# makes without VPATH support couldn't find the .h files in `..'.
134
135# We use stamp-XXX targets so that we can distribute the info files,
136# and permit people to rebuild them, without requiring the makeinfo
137# program.  If somebody tries to rebuild info, but none of the .texi
138# files have changed, then this Makefile will build chew, and will
139# build all of the stamp files, but will not actually have to rebuild
140# bfd.info.
141
142stamp-aoutx: $(MKDOC) $(srcdir)/../aoutx.h $(srcdir)/doc.str
143	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../aoutx.h >aoutx.tmp
144	$(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
145	touch stamp-aoutx
146aoutx.texi: stamp-aoutx
147
148stamp-archive: $(MKDOC) $(srcdir)/../archive.c $(srcdir)/doc.str
149	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../archive.c >archive.tmp
150	$(srcdir)/../../move-if-change archive.tmp archive.texi
151	touch stamp-archive
152archive.texi: stamp-archive
153
154stamp-archures: $(MKDOC) $(srcdir)/../archures.c $(srcdir)/doc.str
155	$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
156	$(srcdir)/../../move-if-change archures.tmp archures.texi
157	touch stamp-archures
158archures.texi: stamp-archures
159
160stamp-bfd: $(MKDOC) $(srcdir)/../bfd.c $(srcdir)/doc.str
161	$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
162	$(srcdir)/../../move-if-change bfd.tmp bfd.texi
163	touch stamp-bfd
164bfd.texi: stamp-bfd
165
166stamp-cache: $(MKDOC) $(srcdir)/../cache.c $(srcdir)/doc.str
167	$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
168	$(srcdir)/../../move-if-change cache.tmp cache.texi
169	touch stamp-cache
170cache.texi: stamp-cache
171
172stamp-coffcode: $(MKDOC) $(srcdir)/../coffcode.h $(srcdir)/doc.str
173	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../coffcode.h >coffcode.tmp
174	$(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
175	touch stamp-coffcode
176coffcode.texi: stamp-coffcode
177
178stamp-core: $(MKDOC) $(srcdir)/../corefile.c $(srcdir)/doc.str
179	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../corefile.c >core.tmp
180	$(srcdir)/../../move-if-change core.tmp core.texi
181	touch stamp-core
182core.texi: stamp-core
183
184stamp-elf: $(MKDOC) $(srcdir)/../elf.c $(srcdir)/doc.str
185	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elf.c >elf.tmp
186	$(srcdir)/../../move-if-change elf.tmp elf.texi
187	touch stamp-elf
188elf.texi: stamp-elf
189
190stamp-elfcode: $(MKDOC) $(srcdir)/../elfcode.h $(srcdir)/doc.str
191	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elfcode.h >elfcode.tmp
192	$(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
193	touch stamp-elfcode
194elfcode.texi: stamp-elfcode
195
196stamp-format: $(MKDOC) $(srcdir)/../format.c $(srcdir)/doc.str
197	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../format.c >format.tmp
198	$(srcdir)/../../move-if-change format.tmp format.texi
199	touch stamp-format
200format.texi: stamp-format
201
202stamp-libbfd: $(MKDOC) $(srcdir)/../libbfd.c $(srcdir)/doc.str
203	$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
204	$(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
205	touch stamp-libbfd
206libbfd.texi: stamp-libbfd
207
208stamp-opncls: $(MKDOC) $(srcdir)/../opncls.c $(srcdir)/doc.str
209	$(MKDOC) -f $(srcdir)/doc.str  <$(srcdir)/../opncls.c >opncls.tmp
210	$(srcdir)/../../move-if-change opncls.tmp opncls.texi
211	touch stamp-opncls
212opncls.texi: stamp-opncls
213
214stamp-reloc: $(MKDOC) $(srcdir)/../reloc.c
215	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../reloc.c >reloc.tmp
216	$(srcdir)/../../move-if-change reloc.tmp reloc.texi
217	touch stamp-reloc
218reloc.texi: stamp-reloc
219
220stamp-section: $(MKDOC) $(srcdir)/../section.c $(srcdir)/doc.str
221	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../section.c >section.tmp
222	$(srcdir)/../../move-if-change section.tmp section.texi
223	touch stamp-section
224section.texi: stamp-section
225
226stamp-syms: $(MKDOC) $(srcdir)/../syms.c
227	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../syms.c >syms.tmp
228	$(srcdir)/../../move-if-change syms.tmp syms.texi
229	touch stamp-syms
230syms.texi: stamp-syms
231
232stamp-targets: $(MKDOC) $(srcdir)/../targets.c $(srcdir)/doc.str
233	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../targets.c >targets.tmp
234	$(srcdir)/../../move-if-change targets.tmp targets.texi
235	touch stamp-targets
236targets.texi: stamp-targets
237
238stamp-init: $(MKDOC) $(srcdir)/../init.c $(srcdir)/doc.str
239	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../init.c >init.tmp
240	$(srcdir)/../../move-if-change init.tmp init.texi
241	touch stamp-init
242init.texi: stamp-init
243
244stamp-hash: $(MKDOC) $(srcdir)/../hash.c $(srcdir)/doc.str
245	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../hash.c >hash.tmp
246	$(srcdir)/../../move-if-change hash.tmp hash.texi
247	touch stamp-hash
248hash.texi: stamp-hash
249
250stamp-linker: $(MKDOC) $(srcdir)/../linker.c $(srcdir)/doc.str
251	$(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../linker.c >linker.tmp
252	$(srcdir)/../../move-if-change linker.tmp linker.texi
253	touch stamp-linker
254linker.texi: stamp-linker
255
256libbfd.h: $(srcdir)/../libbfd-in.h	\
257	$(srcdir)/../init.c		\
258	$(srcdir)/../libbfd.c		\
259	$(srcdir)/../cache.c		\
260	$(srcdir)/../reloc.c		\
261	$(srcdir)/../cpu-h8300.c	\
262	$(srcdir)/../cpu-i960.c		\
263	$(srcdir)/../archures.c		\
264	$(srcdir)/../elfcode.h		\
265	$(srcdir)/proto.str		\
266	$(MKDOC)
267	cat $(srcdir)/../libbfd-in.h >libbfd.h 
268	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../init.c >>libbfd.h
269	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../libbfd.c >>libbfd.h
270	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../cache.c >>libbfd.h
271	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../reloc.c >>libbfd.h
272	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../cpu-h8300.c >>libbfd.h
273	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../cpu-i960.c >>libbfd.h
274	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../archures.c >>libbfd.h
275	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../elf.c >>libbfd.h
276	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../elfcode.h >>libbfd.h
277
278libcoff.h: $(srcdir)/../libcoff-in.h	\
279	$(srcdir)/../coffcode.h		\
280	$(srcdir)/proto.str		\
281	$(MKDOC)
282	cat $(srcdir)/../libcoff-in.h >libcoff.h
283	$(MKDOC) -i -f $(srcdir)/proto.str  < $(srcdir)/../coffcode.h >>libcoff.h
284
285bfd.h: $(srcdir)/../bfd-in.h 		\
286	$(srcdir)/../init.c 		\
287	$(srcdir)/../opncls.c 		\
288	$(srcdir)/../libbfd.c 		\
289	$(srcdir)/../section.c 		\
290	$(srcdir)/../archures.c		\
291	$(srcdir)/../reloc.c		\
292	$(srcdir)/../syms.c		\
293	$(srcdir)/../bfd.c		\
294	$(srcdir)/../archive.c		\
295	$(srcdir)/../corefile.c		\
296	$(srcdir)/../targets.c		\
297	$(srcdir)/../format.c		\
298	$(srcdir)/proto.str		\
299	$(MKDOC)
300	cat $(srcdir)/../bfd-in.h >bfd.h
301	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../init.c >>bfd.h
302	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../opncls.c >>bfd.h
303	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../libbfd.c >>bfd.h
304	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../section.c >>bfd.h
305	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../archures.c >>bfd.h
306	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../reloc.c >>bfd.h
307	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../syms.c >>bfd.h
308	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../bfd.c >>bfd.h
309	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../archive.c >>bfd.h
310	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../corefile.c >>bfd.h
311	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../targets.c >>bfd.h
312	$(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../format.c >>bfd.h	
313	echo "#ifdef __cplusplus" >>bfd.h
314	echo "}" >>bfd.h
315	echo "#endif" >>bfd.h
316	echo "#endif" >>bfd.h
317
318
319clean-info: clean
320
321mostlyclean:
322	rm -rf *.log *.ps *~* *.dvi *# $(MKDOC) *.o
323
324clean: mostlyclean
325	rm -rf $(STAGESTUFF) stamp-*
326	rm -f *.p *.ip  bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log 
327
328distclean: mostlyclean
329	rm -f *.p *.ip  bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log 
330	rm -f stamp-*
331	rm -f Makefile config.status
332
333maintainer-clean realclean: clean
334	rm -f Makefile config.status
335
336bfd.info: $(DOCFILES) bfdsumm.texi bfd.texinfo
337	$(MAKEINFO) -I$(srcdir) -o bfd.info $(srcdir)/bfd.texinfo
338
339bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo
340	$(TEXI2DVI) $(srcdir)/bfd.texinfo
341
342bfd.ps: bfd.dvi
343	dvips bfd -o
344
345quickdoc: $(DOCFILES) bfdsumm.texi bfd.texinfo
346	TEXINPUTS=${TEXIDIR}:.:$$TEXINPUTS tex bfd.texinfo
347
348stage1: force
349	- mkdir stage1
350	- mv -f $(STAGESTUFF) stage1
351
352stage2: force
353	- mkdir stage2
354	- mv -f $(STAGESTUFF) stage2
355
356stage3: force
357	- mkdir stage3
358	- mv -f $(STAGESTUFF) stage3
359
360against=stage2
361
362comparison: force
363	for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i || exit 1 ; done
364
365de-stage1: force
366	- (cd stage1 ; mv -f $(STAGESTUFF) ..)
367	- rmdir stage1
368
369de-stage2: force
370	- (cd stage2 ; mv -f $(STAGESTUFF) ..)
371	- rmdir stage2
372
373de-stage3: force
374	- (cd stage3 ; mv -f $(STAGESTUFF) ..)
375	- rmdir stage3
376
377force:
378
379Makefile: $(srcdir)/Makefile.in
380	cd .. && CONFIG_FILES=doc/$@ CONFIG_HEADERS= $(SHELL) ./config.status
381
382