Automatic date update in version.in
[deliverable/binutils-gdb.git] / bfd / doc / Makefile.am
CommitLineData
252b5132 1## Process this file with automake to generate Makefile.in
5bf135a7 2#
b90efa5b 3# Copyright (C) 2012-2015 Free Software Foundation, Inc.
5bf135a7
NC
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 3 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; see the file COPYING3. If not see
17# <http://www.gnu.org/licenses/>.
18#
252b5132 19
8976e9a2 20AUTOMAKE_OPTIONS = 1.9 cygnus
252b5132
RH
21
22DOCFILES = aoutx.texi archive.texi archures.texi \
23 bfdt.texi cache.texi coffcode.texi \
93509525
KD
24 core.texi elf.texi elfcode.texi format.texi \
25 libbfd.texi bfdwin.texi bfdio.texi \
252b5132 26 opncls.texi reloc.texi section.texi \
3c3bdf30 27 syms.texi targets.texi init.texi hash.texi linker.texi \
91506736
DJ
28 mmo.texi \
29 bfdver.texi
252b5132
RH
30
31PROTOS = archive.p archures.p bfd.p \
32 core.p format.p \
93509525 33 bfdio.p bfdwin.p \
252b5132
RH
34 libbfd.p opncls.p reloc.p \
35 section.p syms.p targets.p \
36 format.p core.p init.p
37
38IPROTOS = cache.ip libbfd.ip reloc.ip init.ip archures.ip coffcode.ip
39
40# SRCDOC, SRCPROT, SRCIPROT only used to sidestep Sun Make bug in interaction
41# between VPATH and suffix rules. If you use GNU Make, perhaps other Makes,
42# you don't need these three:
43SRCDOC = $(srcdir)/../aoutx.h $(srcdir)/../archive.c \
44 $(srcdir)/../archures.c $(srcdir)/../bfd.c \
93509525 45 $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \
252b5132
RH
46 $(srcdir)/../cache.c $(srcdir)/../coffcode.h \
47 $(srcdir)/../corefile.c $(srcdir)/../elf.c \
48 $(srcdir)/../elfcode.h $(srcdir)/../format.c \
49 $(srcdir)/../libbfd.c $(srcdir)/../opncls.c \
50 $(srcdir)/../reloc.c $(srcdir)/../section.c \
51 $(srcdir)/../syms.c $(srcdir)/../targets.c \
3c3bdf30
NC
52 $(srcdir)/../hash.c $(srcdir)/../linker.c \
53 $(srcdir)/../mmo.c
252b5132
RH
54
55SRCPROT = $(srcdir)/../archive.c $(srcdir)/../archures.c \
56 $(srcdir)/../bfd.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c \
57 $(srcdir)/../format.c $(srcdir)/../libbfd.c \
93509525 58 $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \
252b5132
RH
59 $(srcdir)/../opncls.c $(srcdir)/../reloc.c \
60 $(srcdir)/../section.c $(srcdir)/../syms.c \
61 $(srcdir)/../targets.c $(srcdir)/../init.c
62
63SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c \
93509525 64 $(srcdir)/../bfdio.c $(srcdir)/../bfdwin.c \
252b5132
RH
65 $(srcdir)/../reloc.c $(srcdir)/../cpu-h8300.c \
66 $(srcdir)/../cpu-i960.c $(srcdir)/../archures.c \
67 $(srcdir)/../init.c
68
69TEXIDIR = $(srcdir)/../../texinfo/fsf
70
71info_TEXINFOS = bfd.texinfo
37d037c1 72bfd_TEXINFOS = $(DOCFILES) bfdsumm.texi
252b5132
RH
73
74MKDOC = chew$(EXEEXT_FOR_BUILD)
75
14ec8efd 76AM_CPPFLAGS = -I.. -I$(srcdir)/.. -I$(srcdir)/../../include \
34f3e815
L
77 -I$(srcdir)/../../intl -I../../intl
78
19e1c431
AM
79$(MKDOC): chew.stamp ; @true
80chew.stamp: $(srcdir)/chew.c
e4fe8f95
AM
81 $(CC_FOR_BUILD) -o chw$$$$$(EXEEXT_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
82 $(LDFLAGS_FOR_BUILD) $(H_CFLAGS) $(AM_CPPFLAGS) $(srcdir)/chew.c; \
19e1c431
AM
83 $(SHELL) $(srcdir)/../../move-if-change \
84 chw$$$$$(EXEEXT_FOR_BUILD) $(MKDOC); \
85 touch $@
252b5132 86
252b5132
RH
87protos: libbfd.h libcoff.h bfd.h
88
252b5132
RH
89# We can't replace these rules with an implicit rule, because
90# makes without VPATH support couldn't find the .h files in `..'.
91
b8c449bf
DJ
92# We do not depend on chew directly so that we can distribute the info
93# files, and permit people to rebuild them, without requiring the makeinfo
94# program. If somebody tries to rebuild info, but none of the .texi files
95# have changed, then nothing will be rebuilt.
96
81b1ec4f
AM
97aoutx.texi: aoutx.stamp ; @true
98aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
99 ./$(MKDOC) -f $(srcdir)/doc.str < $< >aoutx.tmp
bba33ab1 100 test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || cp -p $(srcdir)/aoutx.texi .
d639b1c3 101 $(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
81b1ec4f 102 touch $@
252b5132 103
81b1ec4f
AM
104archive.texi: archive.stamp ; @true
105archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
106 ./$(MKDOC) -f $(srcdir)/doc.str < $< >archive.tmp
bba33ab1 107 test -e archive.texi || test ! -f $(srcdir)/archive.texi || cp -p $(srcdir)/archive.texi .
d639b1c3 108 $(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
81b1ec4f 109 touch $@
252b5132 110
81b1ec4f
AM
111archures.texi: archures.stamp ; @true
112archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
113 ./$(MKDOC) -f $(srcdir)/doc.str < $< >archures.tmp
bba33ab1 114 test -e archures.texi || test ! -f $(srcdir)/archures.texi || cp -p $(srcdir)/archures.texi .
d639b1c3 115 $(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
81b1ec4f 116 touch $@
252b5132
RH
117
118# We use bfdt.texi, rather than bfd.texi, to avoid conflicting with
119# bfd.texinfo on an 8.3 filesystem.
81b1ec4f
AM
120bfdt.texi: bfdt.stamp ; @true
121bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
122 ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfd.tmp
bba33ab1 123 test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || cp -p $(srcdir)/bfdt.texi .
d639b1c3 124 $(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
81b1ec4f 125 touch $@
252b5132 126
81b1ec4f
AM
127cache.texi: cache.stamp ; @true
128cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
129 ./$(MKDOC) -f $(srcdir)/doc.str < $< >cache.tmp
bba33ab1 130 test -e cache.texi || test ! -f $(srcdir)/cache.texi || cp -p $(srcdir)/cache.texi .
d639b1c3 131 $(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
81b1ec4f 132 touch $@
252b5132 133
81b1ec4f
AM
134coffcode.texi: coffcode.stamp ; @true
135coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
136 ./$(MKDOC) -f $(srcdir)/doc.str < $< >coffcode.tmp
bba33ab1 137 test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || cp -p $(srcdir)/coffcode.texi .
d639b1c3 138 $(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
81b1ec4f 139 touch $@
252b5132 140
81b1ec4f
AM
141core.texi: core.stamp ; @true
142core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
143 ./$(MKDOC) -f $(srcdir)/doc.str < $< >core.tmp
bba33ab1 144 test -e core.texi || test ! -f $(srcdir)/core.texi || cp -p $(srcdir)/core.texi .
d639b1c3 145 $(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
81b1ec4f 146 touch $@
252b5132 147
81b1ec4f
AM
148elf.texi: elf.stamp ; @true
149elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
150 ./$(MKDOC) -f $(srcdir)/doc.str < $< >elf.tmp
bba33ab1 151 test -e elf.texi || test ! -f $(srcdir)/elf.texi || cp -p $(srcdir)/elf.texi .
d639b1c3 152 $(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
81b1ec4f 153 touch $@
252b5132 154
81b1ec4f
AM
155elfcode.texi: elfcode.stamp ; @true
156elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
157 ./$(MKDOC) -f $(srcdir)/doc.str < $< >elfcode.tmp
bba33ab1 158 test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || cp -p $(srcdir)/elfcode.texi .
d639b1c3 159 $(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
81b1ec4f 160 touch $@
252b5132 161
81b1ec4f
AM
162mmo.texi: mmo.stamp ; @true
163mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
164 ./$(MKDOC) -f $(srcdir)/doc.str < $< >mmo.tmp
bba33ab1 165 test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || cp -p $(srcdir)/mmo.texi .
d639b1c3 166 $(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
81b1ec4f 167 touch $@
3c3bdf30 168
81b1ec4f
AM
169format.texi: format.stamp ; @true
170format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
171 ./$(MKDOC) -f $(srcdir)/doc.str < $< >format.tmp
bba33ab1 172 test -e format.texi || test ! -f $(srcdir)/format.texi || cp -p $(srcdir)/format.texi .
d639b1c3 173 $(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
81b1ec4f 174 touch $@
252b5132 175
81b1ec4f
AM
176libbfd.texi: libbfd.stamp ; @true
177libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
178 ./$(MKDOC) -f $(srcdir)/doc.str < $< >libbfd.tmp
bba33ab1 179 test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || cp -p $(srcdir)/libbfd.texi .
d639b1c3 180 $(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
81b1ec4f 181 touch $@
252b5132 182
81b1ec4f
AM
183bfdio.texi: bfdio.stamp ; @true
184bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
185 ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdio.tmp
bba33ab1 186 test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || cp -p $(srcdir)/bfdio.texi .
d639b1c3 187 $(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
81b1ec4f 188 touch $@
93509525 189
81b1ec4f
AM
190bfdwin.texi: bfdwin.stamp ; @true
191bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
192 ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdwin.tmp
bba33ab1 193 test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || cp -p $(srcdir)/bfdwin.texi .
d639b1c3 194 $(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
81b1ec4f 195 touch $@
93509525 196
81b1ec4f
AM
197opncls.texi: opncls.stamp ; @true
198opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
199 ./$(MKDOC) -f $(srcdir)/doc.str < $< >opncls.tmp
bba33ab1 200 test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || cp -p $(srcdir)/opncls.texi .
d639b1c3 201 $(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
81b1ec4f 202 touch $@
252b5132 203
81b1ec4f
AM
204reloc.texi: reloc.stamp ; @true
205reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
206 ./$(MKDOC) -f $(srcdir)/doc.str < $< >reloc.tmp
bba33ab1 207 test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || cp -p $(srcdir)/reloc.texi .
d639b1c3 208 $(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
81b1ec4f 209 touch $@
252b5132 210
81b1ec4f
AM
211section.texi: section.stamp ; @true
212section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
213 ./$(MKDOC) -f $(srcdir)/doc.str < $< >section.tmp
bba33ab1 214 test -e section.texi || test ! -f $(srcdir)/section.texi || cp -p $(srcdir)/section.texi .
d639b1c3 215 $(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
81b1ec4f 216 touch $@
252b5132 217
81b1ec4f
AM
218syms.texi: syms.stamp ; @true
219syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
220 ./$(MKDOC) -f $(srcdir)/doc.str < $< >syms.tmp
bba33ab1 221 test -e syms.texi || test ! -f $(srcdir)/syms.texi || cp -p $(srcdir)/syms.texi .
d639b1c3 222 $(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
81b1ec4f 223 touch $@
252b5132 224
81b1ec4f
AM
225targets.texi: targets.stamp ; @true
226targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
227 ./$(MKDOC) -f $(srcdir)/doc.str < $< >targets.tmp
bba33ab1 228 test -e targets.texi || test ! -f $(srcdir)/targets.texi || cp -p $(srcdir)/targets.texi .
d639b1c3 229 $(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
81b1ec4f 230 touch $@
252b5132 231
81b1ec4f
AM
232init.texi: init.stamp ; @true
233init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
234 ./$(MKDOC) -f $(srcdir)/doc.str < $< >init.tmp
bba33ab1 235 test -e init.texi || test ! -f $(srcdir)/init.texi || cp -p $(srcdir)/init.texi .
d639b1c3 236 $(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
81b1ec4f 237 touch $@
252b5132 238
81b1ec4f
AM
239hash.texi: hash.stamp ; @true
240hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
241 ./$(MKDOC) -f $(srcdir)/doc.str < $< >hash.tmp
bba33ab1 242 test -e hash.texi || test ! -f $(srcdir)/hash.texi || cp -p $(srcdir)/hash.texi .
d639b1c3 243 $(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
81b1ec4f 244 touch $@
252b5132 245
81b1ec4f
AM
246linker.texi: linker.stamp ; @true
247linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
248 ./$(MKDOC) -f $(srcdir)/doc.str < $< >linker.tmp
bba33ab1 249 test -e linker.texi || test ! -f $(srcdir)/linker.texi || cp -p $(srcdir)/linker.texi .
d639b1c3 250 $(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
81b1ec4f 251 touch $@
252b5132 252
87b632fc
AM
253LIBBFD_H_DEP = \
254 $(srcdir)/../libbfd-in.h \
252b5132
RH
255 $(srcdir)/../init.c \
256 $(srcdir)/../libbfd.c \
93509525
KD
257 $(srcdir)/../bfdio.c \
258 $(srcdir)/../bfdwin.c \
252b5132
RH
259 $(srcdir)/../cache.c \
260 $(srcdir)/../reloc.c \
261 $(srcdir)/../archures.c \
4eef72c7
AM
262 $(srcdir)/../elf.c \
263 $(srcdir)/header.sed \
252b5132
RH
264 $(srcdir)/proto.str \
265 $(MKDOC)
4eef72c7
AM
266
267libbfd.h: $(LIBBFD_H_DEP)
268 echo "$(LIBBFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@
269 for file in $(LIBBFD_H_DEP); do \
270 case $$file in \
271 *-in.h) cat $$file >> $@ ;; \
272 */header.sed) break ;; \
796f6cb7 273 *) echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \
c46f20ef 274 -e 's,$$,. */,' >> $@ ; \
86fb1dec 275 ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \
4eef72c7
AM
276 esac; \
277 done
55172d69
PA
278 echo "#ifdef __cplusplus" >> $@
279 echo "}" >> $@
280 echo "#endif" >> $@
4eef72c7 281
87b632fc
AM
282LIBCOFF_H_DEP = \
283 $(srcdir)/../libcoff-in.h \
252b5132 284 $(srcdir)/../coffcode.h \
4eef72c7 285 $(srcdir)/header.sed \
252b5132
RH
286 $(srcdir)/proto.str \
287 $(MKDOC)
252b5132 288
4eef72c7
AM
289libcoff.h: $(LIBCOFF_H_DEP)
290 echo "$(LIBCOFF_H_DEP)" | sed -f $(srcdir)/header.sed > $@
291 for file in $(LIBCOFF_H_DEP); do \
292 case $$file in \
293 *-in.h) cat $$file >> $@ ;; \
294 */header.sed) break ;; \
796f6cb7 295 *) echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \
c46f20ef 296 -e 's,$$,. */,' >> $@ ; \
86fb1dec 297 ./$(MKDOC) -i -f $(srcdir)/proto.str < $$file >> $@ ;; \
4eef72c7
AM
298 esac; \
299 done
55172d69
PA
300 echo "#ifdef __cplusplus" >> $@
301 echo "}" >> $@
302 echo "#endif" >> $@
4eef72c7 303
87b632fc
AM
304BFD_H_DEP = \
305 $(srcdir)/../bfd-in.h \
252b5132
RH
306 $(srcdir)/../init.c \
307 $(srcdir)/../opncls.c \
308 $(srcdir)/../libbfd.c \
93509525
KD
309 $(srcdir)/../bfdio.c \
310 $(srcdir)/../bfdwin.c \
252b5132
RH
311 $(srcdir)/../section.c \
312 $(srcdir)/../archures.c \
313 $(srcdir)/../reloc.c \
314 $(srcdir)/../syms.c \
315 $(srcdir)/../bfd.c \
316 $(srcdir)/../archive.c \
317 $(srcdir)/../corefile.c \
318 $(srcdir)/../targets.c \
319 $(srcdir)/../format.c \
eda81658
DJ
320 $(srcdir)/../linker.c \
321 $(srcdir)/../simple.c \
1b315056 322 $(srcdir)/../compress.c \
4eef72c7 323 $(srcdir)/header.sed \
252b5132 324 $(srcdir)/proto.str \
87b632fc 325 $(srcdir)/../version.h \
252b5132 326 $(MKDOC)
4eef72c7
AM
327
328bfd.h: $(BFD_H_DEP)
329 echo "$(BFD_H_DEP)" | sed -f $(srcdir)/header.sed > $@
330 for file in $(BFD_H_DEP); do \
331 case $$file in \
332 *-in.h) cat $$file >> $@ ;; \
333 */header.sed) break ;; \
796f6cb7 334 *) echo $$file | sed -e 's,.*/,,' -e 's,^,/* Extracted from ,' \
c46f20ef 335 -e 's,$$,. */,' >> $@ ; \
86fb1dec 336 ./$(MKDOC) -f $(srcdir)/proto.str < $$file >> $@ ;; \
4eef72c7
AM
337 esac; \
338 done
339 echo "#ifdef __cplusplus" >> $@
340 echo "}" >> $@
341 echo "#endif" >> $@
342 echo "#endif" >> $@
252b5132 343
91506736
DJ
344bfdver.texi: $(srcdir)/Makefile.in
345 @echo "creating $@"; \
346 echo "@set VERSION $(VERSION)" > bfdver.texi; \
bba33ab1 347 if test -n "$(PKGVERSION)"; then \
91506736
DJ
348 echo "@set VERSION_PACKAGE $(PKGVERSION)" >> bfdver.texi; \
349 fi; \
350 echo "@set UPDATED `date '+%B %Y'`" >> bfdver.texi; \
bba33ab1 351 if test -n "$(REPORT_BUGS_TEXI)"; then \
91506736
DJ
352 echo "@set BUGURL $(REPORT_BUGS_TEXI)" >> bfdver.texi; \
353 fi
354
252b5132
RH
355noinst_TEXINFOS = bfdint.texi
356
19e1c431 357MOSTLYCLEANFILES = $(MKDOC) *.o *.stamp
252b5132 358
b8c449bf 359CLEANFILES = *.p *.ip
252b5132 360
19e1c431 361DISTCLEANFILES = bfd.?? bfd.??? bfd.h libbfd.h libcoff.h texput.log
252b5132
RH
362
363MAINTAINERCLEANFILES = $(DOCFILES)
7562a296
HPN
364
365# We want install to imply install-info as per GNU standards, despite the
366# cygnus option.
367install: install-info
108a6f8e 368
d5fbea21 369MAINTAINERCLEANFILES += bfd.info
108a6f8e 370
d5fbea21
DJ
371# Automake 1.9 will only build info files in the objdir if they are
372# mentioned in DISTCLEANFILES. It doesn't have to be unconditional,
373# though, so we use a bogus condition.
374if GENINSRC_NEVER
375DISTCLEANFILES += bfd.info
376endif
This page took 2.132085 seconds and 4 git commands to generate.