summaryrefslogtreecommitdiff
path: root/Build/source/utils/chktex/Makefile.am
blob: 5812cacc633a317356b2cfe0531fb6339673c4bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
## Makefile.am for the TeX Live subdirectory utils/chktex/
##
## Copyright (C) 2010, 2011 Peter Breitenlohner <tex-live@tug.org>
## You may freely use, modify and/or distribute this file.
##
#************************************************************************
#
#  Adapted for TeX Live from chktex/Makefile.1n
#
#************************************************************************
##
ACLOCAL_AMFLAGS = -I ../../m4

## We want to re-distribute the whole original chktex source tree.
##
## With current automake (1.10.2) 'make distcheck' fails when
## DISTFILES contains a directory and files in that directory.
## Thus nodist_* for all files in $(CHKTEX_TREE).
EXTRA_DIST = $(CHKTEX_TREE)

## Patches applied to the original source tree
##
EXTRA_DIST += $(CHKTEX_TREE)-PATCHES

# in case of an SVN repository
dist-hook:
	rm -rf `find $(distdir) -name .svn`

AM_CPPFLAGS = -DNO_KPSE_DLL
AM_CFLAGS = $(WARNING_CFLAGS)

bin_PROGRAMS = chktex

chktex_SOURCES = \
	getopt.c \
	getopt.h \
	getopt1.c \
	$(CHKTEX_TREE)/ChkTeX.c \
	$(CHKTEX_TREE)/ChkTeX.h \
	$(CHKTEX_TREE)/FindErrs.c \
	$(CHKTEX_TREE)/FindErrs.h \
	$(CHKTEX_TREE)/OpSys.c \
	$(CHKTEX_TREE)/OpSys.h \
	$(CHKTEX_TREE)/Resource.c \
	$(CHKTEX_TREE)/Resource.h \
	$(CHKTEX_TREE)/Utility.c \
	$(CHKTEX_TREE)/Utility.h \
	$(CHKTEX_TREE)/types.h

man_MANS = \
	$(CHKTEX_TREE)/chktex.1 \
	$(CHKTEX_TREE)/chkweb.1 \
	$(CHKTEX_TREE)/deweb.1

perl_scripts = deweb

scriptsdir = texmf/scripts/chktex
texmfdir = ${prefix}/$(scriptsdir)
nodist_texmf_SCRIPTS = $(perl_scripts:=.pl)

if WIN32
if WIN32_WRAP
## We treat the WIN32 wrappers as SCRIPTS to avoid automatic build rules
nodist_bin_SCRIPTS = $(perl_scripts:=.exe)
runscript = $(srcdir)/../../texk/texlive/w32_wrapper/runscript.exe
$(nodist_bin_SCRIPTS): $(runscript)
	$(LN_S) $(runscript) $@
endif WIN32_WRAP
else !WIN32
bin_SCRIPTS = $(CHKTEX_TREE)/chkweb
endif !WIN32

install-data-hook:
if !WIN32
	case "$(bindir)" in \
	  */bin) $(MAKE) $(AM_MAKEFLAGS) REL=.. install-links;; \
	  */bin/*) $(MAKE) $(AM_MAKEFLAGS) REL=../.. install-links;; \
	  *) echo "strange directory '$(bindir)' for linked scripts" >&2; \
	     exit 1;; \
	esac
endif !WIN32

.PHONY: install-links
install-links:
	@cd $(DESTDIR)$(bindir) && \
	  for f in $(perl_scripts); do \
	    rm -f $$f; \
	    echo "creating link '$$f' -> '$(REL)/$(scriptsdir)/$$f.pl'"; \
	    $(LN_S) $(REL)/$(scriptsdir)/$$f.pl $$f || exit 1; \
	  done  

uninstall-hook:
if !WIN32
	@for f in $(perl_scripts); do \
	  echo "rm -f '$(DESTDIR)$(bindir)/$$f'"; \
	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
	done
endif !WIN32

# resource file
configdir = ${prefix}/texmf/chktex

config_DATA = $(CHKTEX_TREE)/chktexrc

# documentation
pdfdocdir = ${prefix}/texmf/doc/chktex

dist_pdfdoc_DATA = ChkTeX.pdf

ChkTeX.pdf: $(PDF_DEPEND)
	$(PDFLATEX) -interaction batchmode $(srcdir)/ChkTeX.tex
	$(PDFLATEX) -interaction batchmode $(srcdir)/ChkTeX.tex

CLEANFILES = $(nodist_bin_SCRIPTS) ChkTeX.aux ChkTeX.log

## We distribute ChkTeX.tex (generated from $(CHKTEX_TREE)/ChkTeX.tex.in)
## and ChkTeX.pdf, but also need rules to create them if missing or
## (in maintainer-mode) to update them if required.
.PHONY: build-tex
all-local: stamp-tex
stamp-tex: ChkTeX.tmp
	$(MAKE) $(AM_MAKEFLAGS) build-tex
	$(MAKE) $(AM_MAKEFLAGS) ChkTeX.pdf
	echo timestamp >$@
DISTCLEANFILES = stamp-tex
build-tex:
	cmp -s ChkTeX.tmp $(srcdir)/ChkTeX.tex \
	  || cp ChkTeX.tmp $(srcdir)/ChkTeX.tex

EXTRA_DIST += ChkTeX.tex

# chktex tests
TESTS = chktex.test

TESTS_ENVIRONMENT = CHKTEX_TREE=$(CHKTEX_TREE)

EXTRA_DIST += chktex.test

CLEANFILES += chktest