cf2c6177691b92c5c717b0eb96087afb3791a55a
[deliverable/binutils-gdb.git] / bfd / Makefile.in
1 # Makefile template for Configure for the BFD library.
2 # Copyright (C) 1990, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
3 # Written by Cygnus Support.
4 #
5 # This file is part of BFD, the Binary File Descriptor library.
6 #
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20
21 VPATH = @srcdir@
22 srcdir = @srcdir@
23
24 prefix = @prefix@
25
26 exec_prefix = @exec_prefix@
27 bindir = $(exec_prefix)/bin
28 libdir = $(exec_prefix)/lib
29
30 datadir = $(prefix)/lib
31 mandir = $(prefix)/man
32 man1dir = $(mandir)/man1
33 man2dir = $(mandir)/man2
34 man3dir = $(mandir)/man3
35 man4dir = $(mandir)/man4
36 man5dir = $(mandir)/man5
37 man6dir = $(mandir)/man6
38 man7dir = $(mandir)/man7
39 man8dir = $(mandir)/man8
40 man9dir = $(mandir)/man9
41 infodir = $(prefix)/info
42 includedir = $(prefix)/include
43 oldincludedir =
44 docdir = doc
45
46 SHELL = /bin/sh
47
48 INSTALL = `cd $(srcdir)/..;pwd`/install.sh -c
49 INSTALL_PROGRAM = $(INSTALL)
50 INSTALL_DATA = $(INSTALL)
51
52 AR = ar
53 AR_FLAGS = rc
54 CFLAGS = -g
55 MAKEINFO = makeinfo
56 RANLIB = @RANLIB@
57
58 CC_FOR_BUILD = $(CC)
59
60 INCDIR = $(srcdir)/../include
61 CSEARCH = -I. -I$(srcdir) -I$(INCDIR)
62 DEP = mkdep
63
64 SUBDIRS = doc
65
66 TARGETLIB = libbfd.a
67
68 # bfd.h goes here, for now
69 BFD_H = bfd.h
70
71 # Some of these files should be in BFD*_BACKENDS below, but some programs
72 # won't link without them. So, in order for some of the minimal-bfd
73 # hacks to work, they're also included here for now.
74 # gdb: elf.o
75 # objdump: elf.o
76 #
77 # Also, Jim Kingdon notes:
78 # Writing S-records should be included in all (or at least most)
79 # *-*-coff, *-*-aout, etc., configurations, because people will want to
80 # be able to use objcopy to create S-records. (S-records are not useful
81 # for the debugger, so if you are downloading things as S-records you
82 # need two copies of the executable, one to download and one for the
83 # debugger).
84 BFD_LIBS = \
85 archive.o archures.o bfd.o cache.o coffgen.o core.o \
86 format.o init.o libbfd.o opncls.o reloc.o \
87 section.o syms.o targets.o hash.o linker.o \
88 elf.o srec.o binary.o tekhex.o
89
90 # This list is alphabetized to make it easier to keep in sync
91 # with the decls and initializer in archures.c.
92 ALL_MACHINES = \
93 cpu-a29k.o \
94 cpu-alpha.o \
95 $(start-sanitize-arc) \
96 cpu-arc.o \
97 $(end-sanitize-arc) \
98 cpu-arm.o \
99 cpu-h8300.o \
100 cpu-h8500.o \
101 cpu-hppa.o \
102 cpu-i386.o \
103 cpu-i960.o \
104 cpu-m68k.o \
105 cpu-m88k.o \
106 cpu-mips.o \
107 cpu-ns32k.o \
108 cpu-powerpc.o \
109 $(start-sanitize-rce) \
110 cpu-rce.o \
111 $(end-sanitize-rce) \
112 cpu-rs6000.o \
113 cpu-sh.o \
114 cpu-sparc.o \
115 cpu-vax.o \
116 cpu-we32k.o \
117 cpu-w65.o \
118 cpu-z8k.o
119
120 # The .o files needed by all of the 32 bit vectors that are configured into
121 # target_vector in targets.c if configured with --enable-targets=all.
122 BFD32_BACKENDS = \
123 aout-adobe.o \
124 aout-ns32k.o \
125 $(start-sanitize-rce) \
126 aout-rce.o \
127 $(end-sanitize-rce) \
128 aout0.o \
129 aout32.o \
130 bout.o \
131 cf-i386lynx.o \
132 cf-m68klynx.o \
133 cf-sparclynx.o \
134 coff-a29k.o \
135 coff-apollo.o \
136 coff-arm.o \
137 coff-h8300.o \
138 coff-h8500.o \
139 coff-i386.o \
140 coff-go32.o \
141 coff-i960.o \
142 coff-m68k.o \
143 coff-m88k.o \
144 coff-mips.o \
145 coff-rs6000.o \
146 coff-sh.o \
147 coff-sparc.o \
148 coff-u68k.o \
149 coff-we32k.o \
150 coff-w65.o \
151 coff-z8k.o \
152 cofflink.o \
153 ecoff.o \
154 ecofflink.o \
155 $(start-sanitize-arc) \
156 elf32-arc.o \
157 $(end-sanitize-arc) \
158 elf32-gen.o \
159 elf32-hppa.o \
160 elf32-i386.o \
161 elf32-i860.o \
162 elf32-m68k.o \
163 elf32-m88k.o \
164 elf32-mips.o \
165 elf32-ppc.o \
166 elf32-sparc.o \
167 elf32.o \
168 elflink.o \
169 hp300hpux.o \
170 som.o \
171 i386aout.o \
172 i386bsd.o \
173 i386linux.o \
174 i386lynx.o \
175 i386msdos.o \
176 i386netbsd.o \
177 i386mach3.o \
178 i386os9k.o \
179 ieee.o \
180 m68klynx.o \
181 m68knetbsd.o \
182 m88kmach3.o \
183 mipsbsd.o \
184 newsos3.o \
185 nlm.o \
186 nlm32-i386.o \
187 nlm32-sparc.o \
188 nlm32-ppc.o \
189 nlm32.o \
190 ns32knetbsd.o \
191 oasys.o \
192 pc532-mach.o \
193 pe-arm.o \
194 pei-arm.o \
195 pe-i386.o \
196 pei-i386.o \
197 reloc16.o \
198 sparclynx.o \
199 sparcnetbsd.o \
200 stab-syms.o \
201 sunos.o \
202 tekhex.o \
203 versados.o
204
205 # The .o files needed by all of the 64 bit vectors that are configured into
206 # target_vector in targets.c if configured with --enable-targets=all
207 # and --enable-64-bit-bfd.
208 BFD64_BACKENDS = \
209 aout64.o \
210 coff-alpha.o \
211 demo64.o \
212 elf64-gen.o \
213 elf64-sparc.o \
214 elf64.o \
215 nlm32-alpha.o \
216 nlm64.o
217
218 OPTIONAL_BACKENDS = \
219 aix386-core.o \
220 hpux-core.o \
221 irix-core.o \
222 lynx-core.o \
223 osf-core.o \
224 trad-core.o \
225 cisco-core.o
226
227 # These are defined by configure.in:
228 WORDSIZE = @wordsize@
229 ALL_BACKENDS = @all_backends@
230 BFD_BACKENDS = @bfd_backends@
231 BFD_MACHINES = @bfd_machines@
232 TDEFAULTS = @tdefaults@
233
234 all:
235
236 #### host and target dependent Makefile fragments come in here.
237 # @target_makefile_frag@
238 # @host_makefile_frag@
239 ###
240
241 FLAGS_TO_PASS = \
242 "prefix=$(prefix)" \
243 "exec_prefix=$(exec_prefix)" \
244 "against=$(against)" \
245 "AR=$(AR)" \
246 "AR_FLAGS=$(AR_FLAGS)" \
247 "CC=$(CC)" \
248 "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
249 "CFLAGS=$(CFLAGS)" \
250 "RANLIB=$(RANLIB)" \
251 "MAKEINFO=$(MAKEINFO)" \
252 "INSTALL=$(INSTALL)" \
253 "INSTALL_DATA=$(INSTALL_DATA)" \
254 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
255 "BISON=$(BISON)"
256
257 ALL_CFLAGS=$(CFLAGS) $(HDEFINES) @COREFLAG@ $(TDEFINES) $(CSEARCH) $(CSWITCHES)
258 .c.o:
259 $(CC) -c $(ALL_CFLAGS) $<
260
261 # C source files that correspond to .o's.
262 CFILES = libbfd.c opncls.c bfd.c archive.c targets.c cache.c \
263 archures.c coff-i386.c coff-go32.c aout64.c aout32.c sunos.c demo64.c \
264 coff-i960.c srec.c binary.c tekhex.c oasys.c ieee.c aout0.c \
265 ecoff.c ecofflink.c coff-m68k.c coff-u68k.c coff-apollo.c \
266 coff-a29k.c coff-rs6000.c coff-sparc.c coffgen.c format.c \
267 section.c core.c syms.c stab-syms.c reloc.c init.c \
268 coff-m88k.c coff-mips.c coff-sh.c trad-core.c cisco-core.c newsos3.c \
269 i386aout.c i386linux.c i386mach3.c i386netbsd.c i386os9k.c \
270 bout.c aout-adobe.c coff-we32k.c coff-w65.c \
271 i386bsd.c i386dynix.c cpu-h8300.c cpu-i960.c cpu-sparc.c cpu-m68k.c \
272 cpu-m88k.c cpu-vax.c cpu-mips.c cpu-a29k.c cpu-i386.c cpu-powerpc.c cpu-w65.c \
273 cpu-rs6000.c coff-h8300.c som.c cpu-hppa.c cpu-we32k.c reloc16.c \
274 mipsbsd.c cpu-sh.c \
275 elf.c elflink.c elf32.c elf32-sparc.c elf32-i386.c elf32-i860.c \
276 elf32-m68k.c elf32-hppa.c elf32-m88k.c elf32-mips.c elf32-gen.c \
277 elf32-ppc.c elf64.c elf64-gen.c elf64-sparc.c \
278 nlm.c nlm32.c nlm32-i386.c nlm32-sparc.c nlm32-alpha.c \
279 nlm64.c coff-alpha.c cpu-alpha.c nlm32-ppc.c \
280 hp300bsd.c hp300hpux.c \
281 i386lynx.c cf-i386lynx.c m68klynx.c cf-m68klynx.c \
282 sparclynx.c cf-sparclynx.c aix386-core.c hpux-core.c \
283 irix-core.c lynx-core.c osf-core.c hash.c linker.c cofflink.c \
284 m68knetbsd.c ns32knetbsd.c sparcnetbsd.c pe-i386.c pei-i386.c \
285 versados.c coff-arm.c pe-arm.c pei-arm.c
286
287 HFILES = aout-target.h aoutf1.h aoutx.h coffcode.h \
288 coffswap.h ecoffswap.h elf32-hppa.h elf32-target.h elf64-target.h \
289 elfcode.h hppa_stubs.h libaout.h libbfd.h \
290 libcoff.h libecoff.h libelf.h libhppa.h libieee.h libnlm.h \
291 liboasys.h nlm-target.h nlmcode.h som.h genlink.h netbsd.h
292
293 STAGESTUFF = $(TARGETLIB) $(OFILES)
294
295 all: Makefile $(TARGETLIB)
296 @$(MAKE) subdir_do DO=all "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
297
298 .NOEXPORT:
299 MAKEOVERRIDES=
300
301 .PHONY: check installcheck
302 check:
303 @echo No testsuites exist for the BFD library. Nothing to check.
304
305 installcheck:
306 @echo No testsuites exist for the BFD library. Nothing to check.
307
308 info dvi : force
309 @$(MAKE) subdir_do DO=$@ "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
310
311 clean-info:
312 @$(MAKE) subdir_do DO=clean-info "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
313
314 install-info: force
315 @$(MAKE) subdir_do DO=install-info "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
316
317 diststuff: info headers
318
319 # Various kinds of .o files to put in libbfd.a:
320 # BFD_LIBS Generic routines, always needed.
321 # BFD_BACKENDS Routines the configured targets need.
322 # BFD_MACHINES Architecture-specific routines the configured targets need.
323 # COREFILE Core file routines for a native configuration
324 # TDEPFILES Routines the target needs, regardless of host.
325 OFILES = $(BFD_LIBS) $(BFD_BACKENDS) $(BFD_MACHINES) @COREFILE@ $(TDEPFILES)
326
327 ofiles : Makefile
328 rm -f ofiles
329 f=""; \
330 for i in $(OFILES) ; do \
331 case " $$f " in \
332 *" $$i "*) ;; \
333 *) f="$$f $$i" ;; \
334 esac ; \
335 done ; \
336 echo $$f > ofiles
337
338 $(TARGETLIB): $(OFILES) ofiles
339 rm -f $(TARGETLIB)
340 @echo ofiles = `cat ofiles`
341 $(AR) $(AR_FLAGS) $(TARGETLIB) `cat ofiles`
342 $(RANLIB) $(TARGETLIB)
343
344 # When compiling archures.c and targets.c, supply the default target
345 # info from configure.
346
347
348 targets.o: targets.c Makefile
349 $(CC) -c $(ALL_CFLAGS) $(TDEFAULTS) $<
350
351 archures.o: archures.c Makefile
352 $(CC) -c $(ALL_CFLAGS) $(TDEFAULTS) $<
353
354 elf32-target.h : elfxx-target.h
355 rm -f elf32-target.h
356 sed -e s/NN/32/g < $(srcdir)/elfxx-target.h > elf32-target.new
357 mv -f elf32-target.new elf32-target.h
358
359 elf64-target.h : elfxx-target.h
360 rm -f elf64-target.h
361 sed -e s/NN/64/g < $(srcdir)/elfxx-target.h > elf64-target.new
362 mv -f elf64-target.new elf64-target.h
363
364 subdir_do: force
365 @for i in $(DODIRS); do \
366 if [ -d ./$$i ] ; then \
367 if (cd ./$$i; \
368 $(MAKE) $(FLAGS_TO_PASS) $(DO)) ; then true ; \
369 else exit 1 ; fi ; \
370 else true ; fi ; \
371 done
372
373 tags etags: TAGS
374
375 TAGS: force
376 etags $(INCDIR)/*.h $(srcdir)/*.h $(srcdir)/*.c
377
378 do_mostlyclean:
379 rm -f *.o *~ core *.E *.p *.ip aout-params.h gen-aout config.log
380 do_clean: do_mostlyclean
381 rm -f libbfd.a TAGS bfd.h stmp-bfd.h ofiles \
382 elf32-target.h elf64-target.h
383 do_distclean: do_clean
384 rm -f Makefile config.status sysdep.h config.cache
385
386 # Should we remove $(srcdir)/libcoff.h $(srcdir)/libbfd.h $(srcdir)/bfd-in2.h?
387 # make-stds.texi says it depends on whether they can be regenerated using
388 # this makefile. Well, they can, but only via an explicit "make headers";
389 # the makefile does not regenerate them as needed. So I guess we should not
390 # remove them in realclean.
391 do_realclean: do_distclean
392
393 mostlyclean: do_mostlyclean
394 $(MAKE) subdir_do DO=mostlyclean "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
395 clean: do_clean
396 $(MAKE) subdir_do DO=clean "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
397 distclean:
398 $(MAKE) subdir_do DO=distclean "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
399 $(MAKE) do_distclean
400 clobber realclean:
401 $(MAKE) subdir_do DO=realclean "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS)
402 $(MAKE) do_realclean
403
404 # Mark everything as depending on config.status, since the timestamp on
405 # sysdep.h might actually move backwards if we reconfig and relink it
406 # to a different hosts/h-xxx.h file. This will force a recompile anyway.
407 BFD_H_DEPS= $(INCDIR)/ansidecl.h $(INCDIR)/obstack.h
408 RECONFIG = config.status
409 $(BFD_LIBS): libbfd.h $(BFD_H) $(RECONFIG) $(BFD_H_DEPS)
410 $(BFD_MACHINES): libbfd.h $(BFD_H) $(RECONFIG) $(BFD_H_DEPS)
411 $(BFD_BACKENDS): libbfd.h $(BFD_H) $(RECONFIG) $(BFD_H_DEPS)
412 $(OPTIONAL_BACKENDS): libbfd.h $(BFD_H) $(RECONFIG) $(BFD_H_DEPS)
413
414 # Get around a Sun Make bug in SunOS 4.1.1 with VPATH
415 cpu-i386.o:cpu-i386.c
416 cpu-z8k.o: cpu-z8k.c
417 cpu-h8500.o: cpu-h8500.c
418 cpu-we32k.o: cpu-we32k.c
419
420 saber:
421 #suppress 65 on bfd_map_over_sections
422 #suppress 66 on bfd_map_over_sections
423 #suppress 67 on bfd_map_over_sections
424 #suppress 68 on bfd_map_over_sections
425 #suppress 69 on bfd_map_over_sections
426 #suppress 70 on bfd_map_over_sections
427 #suppress 110 in bfd_map_over_sections
428 #suppress 112 in bfd_map_over_sections
429 #suppress 530
430 #suppress 590 in swap_exec_header
431 #suppress 590 in _bfd_dummy_core_file_matches_executable_p
432 #suppress 590 in bfd_dont_truncate_arname
433 #suppress 590 on ignore
434 #suppress 590 on abfd
435 #setopt load_flags $(CFLAGS)
436 #load $(CFILES)
437
438
439 #-----------------------------------------------------------------------------
440 # 'STANDARD' GNU/960 TARGETS BELOW THIS POINT
441 #
442 # 'VERSION' file must be present and contain a string of the form "x.y"
443 #-----------------------------------------------------------------------------
444
445 ver960.c: FORCE
446 rm -f ver960.c
447 echo "char ${TARG}_ver[]= \"${TARG} `cat VERSION`, `date`\";" > ver960.c
448
449
450 # This target should be invoked before building a new release.
451 # 'VERSION' file must be present and contain a string of the form "x.y"
452 #
453 roll:
454 @V=`cat VERSION` ; \
455 MAJ=`sed 's/\..*//' VERSION` ; \
456 MIN=`sed 's/.*\.//' VERSION` ; \
457 V=$$MAJ.`expr $$MIN + 1` ; \
458 rm -f VERSION ; \
459 echo $$V >VERSION ; \
460 echo Version $$V
461
462 # Dummy target to force execution of dependent targets.
463 #
464 force:
465
466 install:
467 $(INSTALL_DATA) libbfd.a $(libdir)/libbfd.a
468 $(RANLIB) $(libdir)/libbfd.a
469 # Install BFD include file, and others that it needs. Install them
470 # both in GCC's include directory, and in the system include dir
471 # if configured as $(oldincludedir) -- which it usually isnt.
472 $(INSTALL_DATA) $(BFD_H) $(includedir)/bfd.h
473 $(INSTALL_DATA) $(INCDIR)/ansidecl.h $(includedir)/ansidecl.h
474 $(INSTALL_DATA) $(INCDIR)/bfdlink.h $(includedir)/bfdlink.h
475 $(INSTALL_DATA) $(INCDIR)/obstack.h $(includedir)/obstack.h
476 -if test -z "$(oldincludedir)"; then true; else \
477 test -d $(oldincludedir) || mkdir $(oldincludedir); \
478 $(INSTALL_DATA) $(BFD_H) $(oldincludedir)/bfd.h; \
479 $(INSTALL_DATA) $(INCDIR)/ansidecl.h $(oldincludedir)/ansidecl.h; \
480 $(INSTALL_DATA) $(INCDIR)/bfdlink.h $(oldincludedir)/bfdlink.h; \
481 $(INSTALL_DATA) $(INCDIR)/obstack.h $(oldincludedir)/obstack.h; \
482 $(MAKE) subdir_do DO=install "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS); \
483 fi
484
485 Makefile: Makefile.in config.status
486 $(SHELL) config.status
487
488 config.status: configure configure.host config.bfd @frags@
489 $(SHELL) config.status --recheck
490
491 # Have to get rid of .dep1 here so that "$?" later includes all of $(CFILES).
492 .dep: dep.sed $(CFILES) $(HFILES) bfd.h
493 rm -f .dep1
494 $(MAKE) DEP=$(DEP) .dep1
495 sed -f dep.sed <.dep1 >.dep
496
497 # This rule really wants a mkdep that runs "gcc -MM".
498 .dep1: $(CFILES)
499 rm -f .dep2
500 echo '# DO NOT DELETE THIS LINE -- mkdep uses it.' > .dep2
501 $(DEP) -f .dep2 $(ALL_CFLAGS) $?
502 $(srcdir)/../move-if-change .dep2 .dep1
503
504 dep.sed: dep-in.sed config.status
505 sed <$(srcdir)/dep-in.sed >dep.sed \
506 -e 's!@BFD_H@!$(BFD_H)!' \
507 -e 's!@INCDIR@!$(INCDIR)!' \
508 -e 's!@SRCDIR@!$(srcdir)!'
509
510 dep: .dep
511 sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < Makefile > tmp-Makefile
512 cat .dep >> tmp-Makefile
513 $(srcdir)/../move-if-change tmp-Makefile Makefile
514
515 dep-in: .dep
516 sed -e '/^..DO NOT DELETE THIS LINE/,$$d' < $(srcdir)/Makefile.in > tmp-Makefile.in
517 cat .dep >> tmp-Makefile.in
518 $(srcdir)/../move-if-change tmp-Makefile.in $(srcdir)/Makefile.in
519
520 host-aout.o: Makefile
521
522 # The following program can be used to generate a simple config file
523 # which can be folded into an h-XXX file for a new host, with some editing.
524 aout-params.h: gen-aout
525 ./gen-aout host > aout-params.h
526 gen-aout: $(srcdir)/gen-aout.c Makefile
527 $(CC) -o gen-aout $(CFLAGS) $(LFLAGS) $(srcdir)/gen-aout.c
528
529 BFDIN_H= $(srcdir)/bfd-in2.h
530
531 $(BFD_H): stmp-bfd.h ; @true
532
533 # The file ../include/bfd.h is from earlier attempts to get this right.
534 # If the file is still there, kill it.
535 # The weird sh*t with grep is to avoid printing "exit 1 (ignored)" type
536 # messages from make, and avoid various ways in which different versions
537 # of make will screw up exit status checks.
538 # -grep... -> make prints "exit 1" message
539 # grep ... ; exit 0 -> sun(?) make notices grep failure
540 # grep ... || exit 0 -> bsd4.4 make still notices
541 # if grep ... -> seems okay so far
542 stmp-bfd.h : $(srcdir)/bfd-in2.h Makefile
543 rm -f bfd.h-new 64 ../include/bfd.h
544 if grep BFD_HOST_64_BIT sysdep.h > 64 2>/dev/null; then true; \
545 else true; fi
546 sed -e 's/@WORDSIZE@/$(WORDSIZE)/' \
547 -e "s/@VERSION@/`cat $(srcdir)/VERSION`/" \
548 -e '/64-bit.*sysdep.h/ r 64' \
549 < $(srcdir)/bfd-in2.h \
550 > bfd.h-new
551 $(srcdir)/../move-if-change bfd.h-new $(BFD_H)
552 rm -f 64
553 touch stmp-bfd.h
554
555 # Could really use a "copy-if-change"...
556 headers:
557 (cd $(docdir); $(MAKE) protos $(FLAGS_TO_PASS))
558 cp $(docdir)/bfd.h bfd-in2.h-new
559 $(srcdir)/../move-if-change bfd-in2.h-new $(srcdir)/bfd-in2.h
560 cp $(docdir)/libbfd.h libbfd.h-new
561 $(srcdir)/../move-if-change libbfd.h-new $(srcdir)/libbfd.h
562 cp $(docdir)/libcoff.h libcoff.h-new
563 $(srcdir)/../move-if-change libcoff.h-new $(srcdir)/libcoff.h
564
565 bfd.info:
566 (cd $(docdir); $(MAKE) bfd.info $(FLAGS_TO_PASS))
567
568 bfd.dvi:
569 (cd $(docdir); $(MAKE) bfd.dvi $(FLAGS_TO_PASS))
570
571 bfd.ps:
572 (cd $(docdir); $(MAKE) bfd.ps $(FLAGS_TO_PASS))
573
574 start-sanitize-arc:
575 elf32-arc.o: elf32-arc.c libelf.h $(INCDIR)/elf/common.h \
576 $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
577 $(INCDIR)/elf/arc.h elf32-target.h
578 end-sanitize-arc:
579
580 # What appears below is generated by a hacked mkdep using gcc -MM.
581
582 # DO NOT DELETE THIS LINE -- mkdep uses it.
583 # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
584
585 libbfd.o: libbfd.c
586 opncls.o: opncls.c
587 bfd.o: bfd.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h \
588 $(INCDIR)/coff/sym.h libcoff.h libecoff.h $(INCDIR)/coff/ecoff.h \
589 libelf.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
590 $(INCDIR)/elf/external.h
591 archive.o: archive.c $(INCDIR)/aout/ar.h $(INCDIR)/aout/ranlib.h
592 targets.o: targets.c
593 cache.o: cache.c
594 archures.o: archures.c
595 coff-i386.o: coff-i386.c $(INCDIR)/coff/i386.h $(INCDIR)/coff/internal.h \
596 libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
597 coff-go32.o: coff-go32.c coff-i386.c $(INCDIR)/coff/i386.h \
598 $(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
599 coffcode.h coffswap.h
600 aout64.o: aout64.c aoutx.h $(INCDIR)/bfdlink.h libaout.h \
601 $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
602 $(INCDIR)/aout/ar.h
603 aout32.o: aout32.c aoutx.h $(INCDIR)/bfdlink.h libaout.h \
604 $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
605 $(INCDIR)/aout/ar.h
606 sunos.o: sunos.c $(INCDIR)/bfdlink.h libaout.h aoutf1.h \
607 $(INCDIR)/aout/sun4.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
608 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h aout-target.h
609 demo64.o: demo64.c aoutf1.h $(INCDIR)/aout/sun4.h libaout.h \
610 $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
611 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h aout-target.h
612 coff-i960.o: coff-i960.c $(INCDIR)/coff/i960.h $(INCDIR)/coff/internal.h \
613 libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
614 srec.o: srec.c $(INCDIR)/libiberty.h
615 binary.o: binary.c
616 tekhex.o: tekhex.c $(INCDIR)/libiberty.h
617 oasys.o: oasys.c $(INCDIR)/oasys.h liboasys.h
618 ieee.o: ieee.c $(INCDIR)/ieee.h libieee.h
619 aout0.o: aout0.c aoutf1.h $(INCDIR)/aout/sun4.h libaout.h \
620 $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
621 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h aout-target.h
622 ecoff.o: ecoff.c $(INCDIR)/bfdlink.h $(INCDIR)/aout/ar.h \
623 $(INCDIR)/aout/ranlib.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def \
624 libaout.h $(INCDIR)/aout/aout64.h $(INCDIR)/coff/internal.h \
625 $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h \
626 libcoff.h libecoff.h
627 ecofflink.o: ecofflink.c $(INCDIR)/bfdlink.h $(INCDIR)/aout/stab_gnu.h \
628 $(INCDIR)/aout/stab.def $(INCDIR)/coff/internal.h $(INCDIR)/coff/sym.h \
629 $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h
630 coff-m68k.o: coff-m68k.c $(INCDIR)/coff/m68k.h $(INCDIR)/coff/internal.h \
631 libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
632 coff-u68k.o: coff-u68k.c coff-m68k.c $(INCDIR)/coff/m68k.h \
633 $(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
634 coffcode.h coffswap.h
635 coff-apollo.o: coff-apollo.c $(INCDIR)/coff/apollo.h \
636 $(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
637 coffcode.h coffswap.h
638 coff-a29k.o: coff-a29k.c $(INCDIR)/coff/a29k.h $(INCDIR)/coff/internal.h \
639 libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
640 coff-rs6000.o: coff-rs6000.c $(INCDIR)/coff/internal.h \
641 $(INCDIR)/coff/rs6000.h libcoff.h $(INCDIR)/bfdlink.h \
642 coffcode.h coffswap.h
643 coff-sparc.o: coff-sparc.c $(INCDIR)/coff/sparc.h $(INCDIR)/coff/internal.h \
644 libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
645 coffgen.o: coffgen.c $(INCDIR)/coff/internal.h libcoff.h \
646 $(INCDIR)/bfdlink.h
647 format.o: format.c
648 section.o: section.c
649 core.o: core.c
650 syms.o: syms.c $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def
651 stab-syms.o: stab-syms.c libaout.h $(INCDIR)/bfdlink.h \
652 $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab.def
653 reloc.o: reloc.c $(INCDIR)/bfdlink.h
654 init.o: init.c
655 coff-m88k.o: coff-m88k.c $(INCDIR)/coff/m88k.h $(INCDIR)/coff/internal.h \
656 libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
657 coff-mips.o: coff-mips.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h \
658 $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h \
659 $(INCDIR)/coff/mips.h libcoff.h libecoff.h coffswap.h \
660 ecoffswap.h
661 coff-sh.o: coff-sh.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/sh.h \
662 $(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h
663 trad-core.o: trad-core.c libaout.h $(INCDIR)/bfdlink.h
664 cisco-core.o: cisco-core.c
665 newsos3.o: newsos3.c $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
666 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h libaout.h \
667 $(INCDIR)/bfdlink.h aout-target.h
668 i386aout.o: i386aout.c libaout.h $(INCDIR)/bfdlink.h \
669 aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
670 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
671 i386linux.o: i386linux.c $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
672 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h libaout.h \
673 $(INCDIR)/bfdlink.h aout-target.h
674 i386mach3.o: i386mach3.c $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
675 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h libaout.h \
676 $(INCDIR)/bfdlink.h aout-target.h
677 i386netbsd.o: i386netbsd.c netbsd.h libaout.h $(INCDIR)/bfdlink.h \
678 aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
679 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
680 i386os9k.o: i386os9k.c $(INCDIR)/bfdlink.h libaout.h \
681 $(INCDIR)/os9k.h
682 bout.o: bout.c $(INCDIR)/bfdlink.h genlink.h $(INCDIR)/bout.h \
683 $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def libaout.h
684 aout-adobe.o: aout-adobe.c $(INCDIR)/aout/adobe.h $(INCDIR)/aout/stab_gnu.h \
685 $(INCDIR)/aout/stab.def libaout.h $(INCDIR)/bfdlink.h
686 coff-we32k.o: coff-we32k.c $(INCDIR)/coff/we32k.h $(INCDIR)/coff/internal.h \
687 libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
688 coff-w65.o: coff-w65.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/w65.h \
689 $(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h
690 i386bsd.o: i386bsd.c libaout.h $(INCDIR)/bfdlink.h \
691 aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
692 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
693 i386dynix.o: i386dynix.c $(INCDIR)/aout/dynix3.h aoutx.h \
694 $(INCDIR)/bfdlink.h libaout.h $(INCDIR)/aout/aout64.h \
695 $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h \
696 aout-target.h
697 cpu-h8300.o: cpu-h8300.c
698 cpu-i960.o: cpu-i960.c
699 cpu-sparc.o: cpu-sparc.c
700 cpu-m68k.o: cpu-m68k.c
701 cpu-m88k.o: cpu-m88k.c
702 cpu-vax.o: cpu-vax.c
703 cpu-mips.o: cpu-mips.c
704 cpu-a29k.o: cpu-a29k.c
705 cpu-i386.o: cpu-i386.c
706 cpu-powerpc.o: cpu-powerpc.c
707 cpu-w65.o: cpu-w65.c
708 cpu-rs6000.o: cpu-rs6000.c
709 coff-h8300.o: coff-h8300.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/h8300.h \
710 $(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h
711 som.o: som.c
712 cpu-hppa.o: cpu-hppa.c
713 cpu-we32k.o: cpu-we32k.c
714 reloc16.o: reloc16.c $(INCDIR)/bfdlink.h genlink.h \
715 $(INCDIR)/coff/internal.h libcoff.h
716 mipsbsd.o: mipsbsd.c libaout.h $(INCDIR)/bfdlink.h \
717 aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
718 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
719 cpu-sh.o: cpu-sh.c
720 elf.o: elf.c $(INCDIR)/bfdlink.h libelf.h $(INCDIR)/elf/common.h \
721 $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h
722 elflink.o: elflink.c $(INCDIR)/bfdlink.h libelf.h $(INCDIR)/elf/common.h \
723 $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h
724 elf32.o: elf32.c elfcode.h $(INCDIR)/bfdlink.h libelf.h \
725 $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
726 elfcore.h elflink.h
727 elf32-sparc.o: elf32-sparc.c $(INCDIR)/bfdlink.h libelf.h \
728 $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
729 elf32-target.h
730 elf32-i386.o: elf32-i386.c $(INCDIR)/bfdlink.h libelf.h \
731 $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
732 elf32-target.h
733 elf32-i860.o: elf32-i860.c libelf.h $(INCDIR)/elf/common.h \
734 $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
735 elf32-target.h
736 elf32-m68k.o: elf32-m68k.c $(INCDIR)/bfdlink.h libelf.h \
737 $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
738 elf32-target.h
739 elf32-hppa.o: elf32-hppa.c $(INCDIR)/bfdlink.h libelf.h \
740 $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
741 elf32-hppa.h libhppa.h $(INCDIR)/elf/hppa.h hppa_stubs.h \
742 elf32-target.h
743 elf32-m88k.o: elf32-m88k.c libelf.h $(INCDIR)/elf/common.h \
744 $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
745 elf32-target.h
746 elf32-mips.o: elf32-mips.c $(INCDIR)/bfdlink.h genlink.h \
747 libelf.h $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h \
748 $(INCDIR)/elf/external.h $(INCDIR)/elf/mips.h $(INCDIR)/coff/sym.h \
749 $(INCDIR)/coff/symconst.h $(INCDIR)/coff/internal.h \
750 $(INCDIR)/coff/ecoff.h $(INCDIR)/coff/mips.h ecoffswap.h \
751 elf32-target.h
752 elf32-gen.o: elf32-gen.c libelf.h $(INCDIR)/elf/common.h \
753 $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
754 elf32-target.h
755 elf32-ppc.o: elf32-ppc.c $(INCDIR)/bfdlink.h libelf.h \
756 $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
757 $(INCDIR)/elf/ppc.h elf32-target.h
758 elf64.o: elf64.c elfcode.h $(INCDIR)/bfdlink.h libelf.h \
759 $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
760 elfcore.h elflink.h
761 elf64-gen.o: elf64-gen.c libelf.h $(INCDIR)/elf/common.h \
762 $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
763 elf64-target.h
764 elf64-sparc.o: elf64-sparc.c libelf.h $(INCDIR)/elf/common.h \
765 $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \
766 elf64-target.h
767 nlm.o: nlm.c libnlm.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
768 $(INCDIR)/nlm/external.h
769 nlm32.o: nlm32.c nlmcode.h libnlm.h $(INCDIR)/nlm/common.h \
770 $(INCDIR)/nlm/internal.h $(INCDIR)/nlm/external.h
771 nlm32-i386.o: nlm32-i386.c $(INCDIR)/nlm/i386-ext.h \
772 libnlm.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
773 $(INCDIR)/nlm/external.h nlmswap.h nlm-target.h
774 nlm32-sparc.o: nlm32-sparc.c $(INCDIR)/nlm/sparc32-ext.h \
775 libnlm.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
776 $(INCDIR)/nlm/external.h nlmswap.h nlm-target.h
777 nlm32-alpha.o: nlm32-alpha.c $(INCDIR)/nlm/alpha-ext.h \
778 libnlm.h $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h \
779 $(INCDIR)/nlm/external.h nlmswap.h nlm-target.h
780 nlm64.o: nlm64.c nlmcode.h libnlm.h $(INCDIR)/nlm/common.h \
781 $(INCDIR)/nlm/internal.h $(INCDIR)/nlm/external.h
782 coff-alpha.o: coff-alpha.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h \
783 $(INCDIR)/coff/sym.h $(INCDIR)/coff/symconst.h $(INCDIR)/coff/ecoff.h \
784 $(INCDIR)/coff/alpha.h libcoff.h libecoff.h coffswap.h \
785 ecoffswap.h
786 cpu-alpha.o: cpu-alpha.c
787 nlm32-ppc.o: nlm32-ppc.c $(INCDIR)/nlm/ppc-ext.h libnlm.h \
788 $(INCDIR)/nlm/common.h $(INCDIR)/nlm/internal.h $(INCDIR)/nlm/external.h \
789 nlmswap.h nlm-target.h
790 hp300bsd.o: hp300bsd.c libaout.h $(INCDIR)/bfdlink.h \
791 aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
792 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
793 hp300hpux.o: hp300hpux.c $(INCDIR)/aout/hp300hpux.h \
794 aoutx.h $(INCDIR)/bfdlink.h libaout.h $(INCDIR)/aout/aout64.h \
795 $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h \
796 aout-target.h
797 i386lynx.o: i386lynx.c libaout.h $(INCDIR)/bfdlink.h \
798 $(INCDIR)/aout/aout64.h aout-target.h $(INCDIR)/aout/stab_gnu.h \
799 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
800 cf-i386lynx.o: cf-i386lynx.c coff-i386.c $(INCDIR)/coff/i386.h \
801 $(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
802 coffcode.h coffswap.h
803 m68klynx.o: m68klynx.c libaout.h $(INCDIR)/bfdlink.h \
804 $(INCDIR)/aout/aout64.h aout-target.h $(INCDIR)/aout/stab_gnu.h \
805 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
806 cf-m68klynx.o: cf-m68klynx.c coff-m68k.c $(INCDIR)/coff/m68k.h \
807 $(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
808 coffcode.h coffswap.h
809 sparclynx.o: sparclynx.c $(INCDIR)/aout/sun4.h libaout.h \
810 $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
811 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h aout-target.h
812 cf-sparclynx.o: cf-sparclynx.c coff-sparc.c $(INCDIR)/coff/sparc.h \
813 $(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
814 coffcode.h coffswap.h
815 aix386-core.o: aix386-core.c $(INCDIR)/coff/i386.h \
816 $(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h
817 hpux-core.o: hpux-core.c
818 irix-core.o: irix-core.c
819 lynx-core.o: lynx-core.c
820 osf-core.o: osf-core.c
821 hash.o: hash.c
822 linker.o: linker.c $(INCDIR)/bfdlink.h genlink.h
823 cofflink.o: cofflink.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h \
824 libcoff.h
825 m68knetbsd.o: m68knetbsd.c netbsd.h libaout.h $(INCDIR)/bfdlink.h \
826 aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
827 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
828 ns32knetbsd.o: ns32knetbsd.c netbsd.h libaout.h $(INCDIR)/bfdlink.h \
829 aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
830 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
831 sparcnetbsd.o: sparcnetbsd.c netbsd.h libaout.h $(INCDIR)/bfdlink.h \
832 aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
833 $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
834 pe-i386.o: pe-i386.c coff-i386.c $(INCDIR)/coff/i386.h \
835 $(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
836 $(INCDIR)/bfdlink.h coffcode.h coffswap.h
837 pei-i386.o: pei-i386.c coff-i386.c $(INCDIR)/coff/i386.h \
838 $(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
839 $(INCDIR)/bfdlink.h coffcode.h peicode.h
840 versados.o: versados.c $(INCDIR)/libiberty.h
841 coff-arm.o: coff-arm.c $(INCDIR)/coff/arm.h $(INCDIR)/coff/internal.h \
842 libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
843 pe-arm.o: pe-arm.c coff-arm.c $(INCDIR)/coff/arm.h \
844 $(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
845 $(INCDIR)/bfdlink.h coffcode.h coffswap.h
846 pei-arm.o: pei-arm.c coff-arm.c $(INCDIR)/coff/arm.h \
847 $(INCDIR)/coff/internal.h $(INCDIR)/coff/pe.h libcoff.h \
848 $(INCDIR)/bfdlink.h coffcode.h peicode.h
849
850 # IF YOU PUT ANYTHING HERE IT WILL GO AWAY
This page took 0.047825 seconds and 4 git commands to generate.