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 for i in *.info* ; do \ 113 $(INSTALL_DATA) $$i $(infodir)/$$i ; \ 114 done 115 116docs: $(MKDOC) protos bfd.info bfd.dvi bfd.ps 117 118$(MKDOC): chew.o 119 $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(LOADLIBES) $(LDFLAGS) 120 121chew.o: chew.c 122 $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c 123 124protos: libbfd.h libcoff.h bfd.h 125 126 127# We can't replace these rules with an implicit rule, because 128# makes without VPATH support couldn't find the .h files in `..'. 129 130aoutx.texi: $(MKDOC) $(srcdir)/../aoutx.h $(srcdir)/doc.str 131 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../aoutx.h >aoutx.texi 132 133archive.texi: $(MKDOC) $(srcdir)/../archive.c $(srcdir)/doc.str 134 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../archive.c >archive.texi 135 136archures.texi: $(MKDOC) $(srcdir)/../archures.c $(srcdir)/doc.str 137 $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.texi 138 139bfd.texi: $(MKDOC) $(srcdir)/../bfd.c $(srcdir)/doc.str 140 $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.texi 141 142cache.texi: $(MKDOC) $(srcdir)/../cache.c $(srcdir)/doc.str 143 $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.texi 144 145coffcode.texi: $(MKDOC) $(srcdir)/../coffcode.h $(srcdir)/doc.str 146 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../coffcode.h >coffcode.texi 147 148core.texi: $(MKDOC) $(srcdir)/../corefile.c $(srcdir)/doc.str 149 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../corefile.c >core.texi 150 151elf.texi: $(MKDOC) $(srcdir)/../elf.c $(srcdir)/doc.str 152 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elf.c >elf.texi 153 154elfcode.texi: $(MKDOC) $(srcdir)/../elfcode.h $(srcdir)/doc.str 155 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../elfcode.h >elfcode.texi 156 157format.texi: $(MKDOC) $(srcdir)/../format.c $(srcdir)/doc.str 158 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../format.c >format.texi 159 160libbfd.texi: $(MKDOC) $(srcdir)/../libbfd.c $(srcdir)/doc.str 161 $(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.texi 162 163opncls.texi: $(MKDOC) $(srcdir)/../opncls.c $(srcdir)/doc.str 164 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../opncls.c >opncls.texi 165 166reloc.texi : $(MKDOC) $(srcdir)/../reloc.c 167 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../reloc.c >reloc.texi 168 169section.texi: $(MKDOC) $(srcdir)/../section.c $(srcdir)/doc.str 170 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../section.c >section.texi 171 172syms.texi : $(MKDOC) $(srcdir)/../syms.c 173 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../syms.c >syms.texi 174 175targets.texi: $(MKDOC) $(srcdir)/../targets.c $(srcdir)/doc.str 176 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../targets.c >targets.texi 177 178init.texi: $(MKDOC) $(srcdir)/../init.c $(srcdir)/doc.str 179 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../init.c >init.texi 180 181hash.texi: $(MKDOC) $(srcdir)/../hash.c $(srcdir)/doc.str 182 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../hash.c >hash.texi 183 184linker.texi: $(MKDOC) $(srcdir)/../linker.c $(srcdir)/doc.str 185 $(MKDOC) -f $(srcdir)/doc.str <$(srcdir)/../linker.c >linker.texi 186 187libbfd.h: $(srcdir)/../libbfd-in.h \ 188 $(srcdir)/../init.c \ 189 $(srcdir)/../libbfd.c \ 190 $(srcdir)/../cache.c \ 191 $(srcdir)/../reloc.c \ 192 $(srcdir)/../cpu-h8300.c \ 193 $(srcdir)/../cpu-i960.c \ 194 $(srcdir)/../archures.c \ 195 $(srcdir)/../elfcode.h \ 196 $(srcdir)/proto.str \ 197 $(MKDOC) 198 cat $(srcdir)/../libbfd-in.h >libbfd.h 199 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../init.c >>libbfd.h 200 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../libbfd.c >>libbfd.h 201 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../cache.c >>libbfd.h 202 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../reloc.c >>libbfd.h 203 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../cpu-h8300.c >>libbfd.h 204 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../cpu-i960.c >>libbfd.h 205 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../archures.c >>libbfd.h 206 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../elf.c >>libbfd.h 207 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../elfcode.h >>libbfd.h 208 209libcoff.h: $(srcdir)/../libcoff-in.h \ 210 $(srcdir)/../coffcode.h \ 211 $(srcdir)/proto.str \ 212 $(MKDOC) 213 cat $(srcdir)/../libcoff-in.h >libcoff.h 214 $(MKDOC) -i -f $(srcdir)/proto.str < $(srcdir)/../coffcode.h >>libcoff.h 215 216bfd.h: $(srcdir)/../bfd-in.h \ 217 $(srcdir)/../init.c \ 218 $(srcdir)/../opncls.c \ 219 $(srcdir)/../libbfd.c \ 220 $(srcdir)/../section.c \ 221 $(srcdir)/../archures.c \ 222 $(srcdir)/../reloc.c \ 223 $(srcdir)/../syms.c \ 224 $(srcdir)/../bfd.c \ 225 $(srcdir)/../archive.c \ 226 $(srcdir)/../corefile.c \ 227 $(srcdir)/../targets.c \ 228 $(srcdir)/../format.c \ 229 $(srcdir)/proto.str \ 230 $(MKDOC) 231 cat $(srcdir)/../bfd-in.h >bfd.h 232 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../init.c >>bfd.h 233 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../opncls.c >>bfd.h 234 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../libbfd.c >>bfd.h 235 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../section.c >>bfd.h 236 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../archures.c >>bfd.h 237 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../reloc.c >>bfd.h 238 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../syms.c >>bfd.h 239 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../bfd.c >>bfd.h 240 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../archive.c >>bfd.h 241 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../corefile.c >>bfd.h 242 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../targets.c >>bfd.h 243 $(MKDOC) -f $(srcdir)/proto.str<$(srcdir)/../format.c >>bfd.h 244 echo "#ifdef __cplusplus" >>bfd.h 245 echo "}" >>bfd.h 246 echo "#endif" >>bfd.h 247 echo "#endif" >>bfd.h 248 249 250clean-info: clean 251 252mostlyclean: 253 rm -rf *.log *.ps *~* *.dvi *# $(MKDOC) *.o 254 255clean: mostlyclean 256 rm -rf $(STAGESTUFF) 257 rm -f *.p *.ip bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log 258 259distclean: clean 260 rm -f Makefile config.status 261 262maintainer-clean realclean: clean 263 rm -f Makefile config.status 264 265bfd.info: $(DOCFILES) bfdsumm.texi bfd.texinfo 266 $(MAKEINFO) -I$(srcdir) -o bfd.info $(srcdir)/bfd.texinfo 267 268bfd.dvi: $(DOCFILES) bfdsumm.texi bfd.texinfo 269 $(TEXI2DVI) $(srcdir)/bfd.texinfo 270 271bfd.ps: bfd.dvi 272 dvips bfd -o 273 274quickdoc: $(DOCFILES) bfdsumm.texi bfd.texinfo 275 TEXINPUTS=${TEXIDIR}:.:$$TEXINPUTS tex bfd.texinfo 276 277stage1: force 278 - mkdir stage1 279 - mv -f $(STAGESTUFF) stage1 280 281stage2: force 282 - mkdir stage2 283 - mv -f $(STAGESTUFF) stage2 284 285stage3: force 286 - mkdir stage3 287 - mv -f $(STAGESTUFF) stage3 288 289against=stage2 290 291comparison: force 292 for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i || exit 1 ; done 293 294de-stage1: force 295 - (cd stage1 ; mv -f $(STAGESTUFF) ..) 296 - rmdir stage1 297 298de-stage2: force 299 - (cd stage2 ; mv -f $(STAGESTUFF) ..) 300 - rmdir stage2 301 302de-stage3: force 303 - (cd stage3 ; mv -f $(STAGESTUFF) ..) 304 - rmdir stage3 305 306force: 307 308Makefile: $(srcdir)/Makefile.in 309 cd .. && CONFIG_FILES=doc/$@ CONFIG_HEADERS= $(SHELL) ./config.status 310 311