1##*** Makefile ****************************************************************
2##
3## This file is part of BibTool.
4## It is distributed under the GNU General Public License.
5## See the file COPYING for details.
6##
7## (c) 1997-2020 Gerd Neugebauer
8##
9## Net: gene@gerd-neugebauer.de
10##
11##*****************************************************************************
12
13LATEX     = latex
14LUALATEX  = lualatex
15BIBTEX    = bibtex8
16MAKEINDEX = makeindex
17
18DIR_SEP   = /
19
20.SUFFIXES: .tex .toc .dvi .pdf .aux .bbl .ind .idx $(SUFFIXES)
21
22.tex.pdf:
23	$(LUALATEX) $<
24.tex.dvi:
25	$(LATEX) $<
26.tex.toc:
27	$(LUALATEX) $<
28.tex.idx:
29	$(LUALATEX) $<
30.tex.aux:
31	$(LUALATEX) $<
32.aux.bbl:
33	$(BIBTEX) $*
34
35TARGETS = bibtool.pdf ref_card.pdf c_lib.pdf
36
37##-----------------------------------------------------------------------------
38
39all: $(TARGETS)
40
41##-----------------------------------------------------------------------------
42
43bibtool.dvi: config.tex bibtool.tex bibtool.bbl bibtool.ind
44	$(LATEX) bibtool
45	$(LATEX) bibtool
46
47bibtool.pdf: config.tex bibtool.tex bibtool.bbl bibtool.ind
48	$(LUALATEX) bibtool
49	$(LUALATEX) bibtool
50
51bibtool.ind ind index: bibtool.idx
52	$(MAKEINDEX) -s bibtool.ist bibtool
53
54##-----------------------------------------------------------------------------
55
56config.tex: ..$(DIR_SEP)version.c .$(DIR_SEP)make_version.pl
57	.$(DIR_SEP)make_version.pl ..$(DIR_SEP)version.c > $*.tex
58
59##-----------------------------------------------------------------------------
60
61ref_card.dvi: ref_card.tex config.tex
62	$(LATEX) ref_card.tex
63
64ref_card.pdf: ref_card.tex config.tex
65	$(LUALATEX) ref_card.tex
66
67##-----------------------------------------------------------------------------
68
69CDIR	= ..$(DIR_SEP)
70HDIR	= ..$(DIR_SEP)include$(DIR_SEP)bibtool$(DIR_SEP)
71CFILES	= $(HDIR)bibtool.h	\
72	  $(HDIR)check.h	\
73	  $(CDIR)check.c	\
74	  $(HDIR)crossref.h	\
75	  $(CDIR)crossref.c	\
76	  $(HDIR)database.h	\
77	  $(CDIR)database.c	\
78	  $(HDIR)entry.h	\
79	  $(CDIR)entry.c	\
80	  $(HDIR)error.h	\
81	  $(CDIR)error.c	\
82	  $(HDIR)expand.h	\
83	  $(CDIR)expand.c	\
84	  $(HDIR)init.h		\
85	  $(CDIR)init.c		\
86	  $(HDIR)keynode.h	\
87	  $(HDIR)key.h		\
88	  $(CDIR)key.c		\
89	  $(HDIR)macros.h	\
90	  $(CDIR)macros.c	\
91	  $(HDIR)names.h	\
92	  $(CDIR)names.c	\
93	  $(HDIR)parse.h	\
94	  $(CDIR)parse.c	\
95	  $(HDIR)print.h	\
96	  $(CDIR)print.c	\
97	  $(HDIR)pxfile.h	\
98	  $(CDIR)pxfile.c	\
99	  $(HDIR)record.h	\
100	  $(CDIR)record.c	\
101	  $(HDIR)rewrite.h	\
102	  $(CDIR)rewrite.c	\
103	  $(HDIR)resource.h	\
104	  $(HDIR)rsc.h		\
105	  $(CDIR)rsc.c		\
106	  $(HDIR)s_parse.h	\
107	  $(CDIR)s_parse.c	\
108	  $(HDIR)stack.h	\
109	  $(CDIR)stack.c	\
110	  $(HDIR)sbuffer.h	\
111	  $(CDIR)sbuffer.c	\
112	  $(HDIR)symbols.h	\
113	  $(CDIR)symbols.c	\
114	  $(HDIR)tex_aux.h	\
115	  $(CDIR)tex_aux.c	\
116	  $(HDIR)tex_read.h	\
117	  $(CDIR)tex_read.c	\
118	  $(HDIR)type.h		\
119	  $(CDIR)type.c		\
120	  $(HDIR)version.h	\
121	  $(CDIR)version.c	\
122	  $(HDIR)wordlist.h	\
123	  $(CDIR)wordlist.c
124
125c_lib:
126	$(LATEX) c_lib.tex
127	$(MAKEINDEX) -s bibtool.ist c_lib
128	$(LATEX) c_lib.tex
129
130c_lib.dvi: c_lib.tex c_main.tex c.tex config.tex
131	$(LATEX) c_lib.tex
132	$(MAKEINDEX) -s bibtool.ist c_lib
133	$(LATEX) c_lib.tex
134
135c_lib.pdf: c_lib.tex c_main.tex c.tex config.tex
136	$(LUALATEX) c_lib.tex
137	$(MAKEINDEX) -s bibtool.ist c_lib
138	$(LUALATEX) c_lib.tex
139
140c_main.tex: $(CDIR)main.c c_get.pl
141	perl c_get.pl $(CDIR)main.c > $@
142c.tex: $(CFILES) c_get.pl
143	perl c_get.pl $(CFILES) > $@
144
145##-----------------------------------------------------------------------------
146
147clean:
148	$(RM) *.bak *.BAK *~ *.log *.ilg *.blg *.toc *.out *.aux *.idx *.ind *.bbl
149
150veryclean: clean
151	$(RM) c.tex c_main.tex config.tex
152
153distclean: veryclean
154	$(RM) $(TARGETS)
155
156##-----------------------------------------------------------------------------
157