xref: /Universal-ctags/makefiles/testing.mak (revision 0a48205621ab3df464612df83b01304f31354c2c)
13acefd99SMasatake YAMATO# -*- makefile -*-
25d6f69f4SHiroo HAYASHI.PHONY: check units fuzz noise tmain tinst tlib man-test clean-units clean-tlib clean-tmain clean-gcov clean-man-test run-gcov codecheck cppcheck dicts validate-input check-genfile
32e20966dSMike Burns
4c5616f29SMasatake YAMATOEXTRA_DIST += misc/units misc/units.py misc/man-test.py
575c26bdfSMasatake YAMATOEXTRA_DIST += misc/tlib misc/mini-geany.expected
65d6f69f4SHiroo HAYASHIMAN_TEST_TMPDIR = ManTest
775c26bdfSMasatake YAMATO
8e7cce0cfSHiroo HAYASHIcheck: tmain units tlib man-test check-genfile
92e20966dSMike Burns
105d6f69f4SHiroo HAYASHI# We may use CLEANFILES, DISTCLEANFILES, or etc.
115d6f69f4SHiroo HAYASHI# clean-tlib and clean-gcov are not included
125d6f69f4SHiroo HAYASHIclean-local: clean-units clean-tmain clean-man-test
13450ec04aSK.Takata
142e20966dSMike BurnsCTAGS_TEST = ./ctags$(EXEEXT)
1581b92a1aSMasatake YAMATOREADTAGS_TEST = ./readtags$(EXEEXT)
1675c26bdfSMasatake YAMATOMINI_GEANY_TEST = ./mini-geany$(EXEEXT)
17d8f6b0edSMasatake YAMATOOPTSCRIPT_TEST = ./optscript$(EXEEXT)
18942128b4SMasatake YAMATO
19942128b4SMasatake YAMATOif HAVE_TIMEOUT
20942128b4SMasatake YAMATOTIMEOUT = 1
21942128b4SMasatake YAMATOelse
22942128b4SMasatake YAMATOTIMEOUT = 0
23942128b4SMasatake YAMATOendif
24942128b4SMasatake YAMATO
252e20966dSMike BurnsLANGUAGES=
262e20966dSMike BurnsCATEGORIES=
272e20966dSMike BurnsUNITS=
28a3f9ddccSMasatake YAMATOPMAP=
292e20966dSMike Burns
30c89f4176SColomban WendlingSILENT = $(SILENT_@AM_V@)
31c89f4176SColomban WendlingSILENT_ = $(SILENT_@AM_DEFAULT_V@)
32c89f4176SColomban WendlingSILENT_0 = @
33c89f4176SColomban Wendling
34f1da30fbSColomban WendlingV_RUN = $(V_RUN_@AM_V@)
35f1da30fbSColomban WendlingV_RUN_ = $(V_RUN_@AM_DEFAULT_V@)
36f1da30fbSColomban WendlingV_RUN_0 = @echo "  RUN      $@";
37f1da30fbSColomban Wendling
382e20966dSMike Burns#
392e20966dSMike Burns# FUZZ Target
402e20966dSMike Burns#
412e20966dSMike Burns# SHELL must be dash or bash.
422e20966dSMike Burns#
432e20966dSMike Burnsfuzz: $(CTAGS_TEST)
44f1da30fbSColomban Wendling	$(V_RUN) \
4572c31db2SMasatake YAMATO	if test -n "$${ZSH_VERSION+set}"; then set -o SH_WORD_SPLIT; fi; \
46a2ff2b45SMasatake YAMATO	if test x$(VG) = x1; then		\
47a2ff2b45SMasatake YAMATO		VALGRIND=--with-valgrind;	\
48a2ff2b45SMasatake YAMATO	fi;					\
492e20966dSMike Burns	c="$(srcdir)/misc/units fuzz \
502e20966dSMike Burns		--ctags=$(CTAGS_TEST) \
512e20966dSMike Burns		--languages=$(LANGUAGES) \
52a2ff2b45SMasatake YAMATO		$${VALGRIND} --run-shrink \
53c044f593SMasatake YAMATO		--with-timeout=`expr $(TIMEOUT) '*' 10`"; \
542e20966dSMike Burns	$(SHELL) $${c} $(srcdir)/Units
552e20966dSMike Burns
562e20966dSMike Burns#
572e20966dSMike Burns# NOISE Target
582e20966dSMike Burns#
592e20966dSMike Burnsnoise: $(CTAGS_TEST)
60f1da30fbSColomban Wendling	$(V_RUN) \
6172c31db2SMasatake YAMATO	if test -n "$${ZSH_VERSION+set}"; then set -o SH_WORD_SPLIT; fi; \
62a2ff2b45SMasatake YAMATO	if test x$(VG) = x1; then		\
63a2ff2b45SMasatake YAMATO		VALGRIND=--with-valgrind;	\
64a2ff2b45SMasatake YAMATO	fi;					\
652e20966dSMike Burns	c="$(srcdir)/misc/units noise \
662e20966dSMike Burns		--ctags=$(CTAGS_TEST) \
672e20966dSMike Burns		--languages=$(LANGUAGES) \
68a2ff2b45SMasatake YAMATO		$${VALGRIND} --run-shrink \
692e20966dSMike Burns		--with-timeout=$(TIMEOUT)"; \
702e20966dSMike Burns	$(SHELL) $${c} $(srcdir)/Units
712e20966dSMike Burns
722e20966dSMike Burns#
732e20966dSMike Burns# CHOP Target
742e20966dSMike Burns#
752e20966dSMike Burnschop: $(CTAGS_TEST)
76f1da30fbSColomban Wendling	$(V_RUN) \
7772c31db2SMasatake YAMATO	if test -n "$${ZSH_VERSION+set}"; then set -o SH_WORD_SPLIT; fi; \
78a2ff2b45SMasatake YAMATO	if test x$(VG) = x1; then		\
79a2ff2b45SMasatake YAMATO		VALGRIND=--with-valgrind;	\
80a2ff2b45SMasatake YAMATO	fi;					\
812e20966dSMike Burns	c="$(srcdir)/misc/units chop \
822e20966dSMike Burns		--ctags=$(CTAGS_TEST) \
832e20966dSMike Burns		--languages=$(LANGUAGES) \
84a2ff2b45SMasatake YAMATO		$${VALGRIND} --run-shrink \
852e20966dSMike Burns		--with-timeout=$(TIMEOUT)"; \
862e20966dSMike Burns	$(SHELL) $${c} $(srcdir)/Units
87a379e1ccSMasatake YAMATOslap: $(CTAGS_TEST)
88f1da30fbSColomban Wendling	$(V_RUN) \
89a379e1ccSMasatake YAMATO	if test -n "$${ZSH_VERSION+set}"; then set -o SH_WORD_SPLIT; fi; \
90a379e1ccSMasatake YAMATO	if test x$(VG) = x1; then		\
91a379e1ccSMasatake YAMATO		VALGRIND=--with-valgrind;	\
92a379e1ccSMasatake YAMATO	fi;					\
93a379e1ccSMasatake YAMATO	c="$(srcdir)/misc/units slap \
94a379e1ccSMasatake YAMATO		--ctags=$(CTAGS_TEST) \
95a379e1ccSMasatake YAMATO		--languages=$(LANGUAGES) \
96a379e1ccSMasatake YAMATO		$${VALGRIND} --run-shrink \
97a379e1ccSMasatake YAMATO		--with-timeout=$(TIMEOUT)"; \
98a379e1ccSMasatake YAMATO	$(SHELL) $${c} $(srcdir)/Units
992e20966dSMike Burns
1002e20966dSMike Burns#
1012e20966dSMike Burns# UNITS Target
1022e20966dSMike Burns#
1032e20966dSMike Burnsunits: $(CTAGS_TEST)
104f1da30fbSColomban Wendling	$(V_RUN) \
10572c31db2SMasatake YAMATO	if test -n "$${ZSH_VERSION+set}"; then set -o SH_WORD_SPLIT; fi; \
106a2ff2b45SMasatake YAMATO	if test x$(VG) = x1; then		\
107a2ff2b45SMasatake YAMATO		VALGRIND=--with-valgrind;	\
108a2ff2b45SMasatake YAMATO	fi;					\
10929fc8d61SMasatake YAMATO	if ! test x$(CI) = x; then	\
110a2ff2b45SMasatake YAMATO		SHOW_DIFF_OUTPUT=--show-diff-output;		\
111a2ff2b45SMasatake YAMATO	fi;							\
1122e20966dSMike Burns	builddir=$$(pwd); \
113354c22ffSK.Takata	if ! test x$(PYTHON) = x; then	\
114354c22ffSK.Takata		PROG=$(PYTHON);		\
115354c22ffSK.Takata		SCRIPT=$(srcdir)/misc/units.py;	\
116354c22ffSK.Takata		if type cygpath > /dev/null 2>&1; then	\
117354c22ffSK.Takata			builddir=$$(cygpath -m "$$(pwd)");	\
118354c22ffSK.Takata			if ! test x$(SHELL) = x; then	\
119354c22ffSK.Takata				SHELL_OPT=--shell=$$(cygpath -m $(SHELL));	\
120354c22ffSK.Takata			fi;	\
121354c22ffSK.Takata		else	\
122354c22ffSK.Takata			if ! test x$(SHELL) = x; then	\
123354c22ffSK.Takata				SHELL_OPT=--shell=$(SHELL);	\
124354c22ffSK.Takata			fi;	\
125354c22ffSK.Takata		fi;	\
126354c22ffSK.Takata	else	\
127354c22ffSK.Takata		PROG=$(SHELL);		\
128354c22ffSK.Takata		SCRIPT=$(srcdir)/misc/units;	\
129354c22ffSK.Takata	fi;	\
1302e20966dSMike Burns	mkdir -p $${builddir}/Units && \
1312e20966dSMike Burns	\
132354c22ffSK.Takata	c="$${SCRIPT} run \
1332e20966dSMike Burns		--ctags=$(CTAGS_TEST) \
1342e20966dSMike Burns		--languages=$(LANGUAGES) \
1352e20966dSMike Burns		--categories=$(CATEGORIES) \
1362e20966dSMike Burns		--units=$(UNITS) \
137a3f9ddccSMasatake YAMATO		--with-pretense-map=$(PMAP) \
138a2ff2b45SMasatake YAMATO		$${VALGRIND} --run-shrink \
139fb0ce4a0SMasatake YAMATO		--with-timeout=`expr $(TIMEOUT) '*' 10`\
140354c22ffSK.Takata		$${SHELL_OPT} \
141a2ff2b45SMasatake YAMATO		$${SHOW_DIFF_OUTPUT}"; \
142354c22ffSK.Takata		 $${PROG} $${c} $(srcdir)/Units $${builddir}/Units
1432e20966dSMike Burns
1442e20966dSMike Burnsclean-units:
1452e20966dSMike Burns	$(SILENT) echo Cleaning test units
146f63ccdcdSMasatake YAMATO	$(SILENT) if test -d $$(pwd)/Units; then \
147f63ccdcdSMasatake YAMATO		$(SHELL) $(srcdir)/misc/units clean $$(pwd)/Units; \
148f63ccdcdSMasatake YAMATO	fi
1492e20966dSMike Burns
1502e20966dSMike Burns#
151e5399325SMasatake YAMATO# VALIDATE-INPUT Target
1523b27c41cSMasatake YAMATO#
153e5399325SMasatake YAMATOvalidate-input:
1543b27c41cSMasatake YAMATO	$(V_RUN) \
1553b27c41cSMasatake YAMATO	if test -n "$${ZSH_VERSION+set}"; then set -o SH_WORD_SPLIT; fi; \
156e5399325SMasatake YAMATO	if test -n "$(VALIDATORS)"; then	\
157e5399325SMasatake YAMATO		VALIDATORS="--validators=$(VALIDATORS)"; \
1583b27c41cSMasatake YAMATO	fi; \
159e5399325SMasatake YAMATO	c="$(srcdir)/misc/units validate-input $${VALIDATORS}"; \
160e5399325SMasatake YAMATO		$(SHELL) $${c} $(srcdir)/Units $(srcdir)/misc/validators
1613b27c41cSMasatake YAMATO#
1622e20966dSMike Burns# Test main part, not parsers
1632e20966dSMike Burns#
16481b92a1aSMasatake YAMATOtmain: $(CTAGS_TEST) $(READTAGS_TEST) $(OPTSCRIPT_TEST)
165f1da30fbSColomban Wendling	$(V_RUN) \
16672c31db2SMasatake YAMATO	if test -n "$${ZSH_VERSION+set}"; then set -o SH_WORD_SPLIT; fi; \
167a2ff2b45SMasatake YAMATO	if test x$(VG) = x1; then		\
168a2ff2b45SMasatake YAMATO		VALGRIND=--with-valgrind;	\
169a2ff2b45SMasatake YAMATO	fi;					\
17029fc8d61SMasatake YAMATO	if ! test x$(CI) = x; then	\
171a2ff2b45SMasatake YAMATO		SHOW_DIFF_OUTPUT=--show-diff-output;		\
172a2ff2b45SMasatake YAMATO	fi;							\
1732e20966dSMike Burns	builddir=$$(pwd); \
174354c22ffSK.Takata	if ! test x$(PYTHON) = x; then	\
175354c22ffSK.Takata		PROG=$(PYTHON);		\
176354c22ffSK.Takata		SCRIPT=$(srcdir)/misc/units.py;	\
177354c22ffSK.Takata		if type cygpath > /dev/null 2>&1; then	\
178354c22ffSK.Takata			builddir=$$(cygpath -m "$$(pwd)");	\
179354c22ffSK.Takata			if ! test x$(SHELL) = x; then	\
180354c22ffSK.Takata				SHELL_OPT=--shell=$$(cygpath -m $(SHELL));	\
181354c22ffSK.Takata			fi;	\
182354c22ffSK.Takata		else	\
183354c22ffSK.Takata			if ! test x$(SHELL) = x; then	\
184354c22ffSK.Takata				SHELL_OPT=--shell=$(SHELL);	\
185354c22ffSK.Takata			fi;	\
186354c22ffSK.Takata		fi;	\
187354c22ffSK.Takata	else	\
188354c22ffSK.Takata		PROG=$(SHELL);		\
189354c22ffSK.Takata		SCRIPT=$(srcdir)/misc/units;	\
190354c22ffSK.Takata	fi;	\
1912e20966dSMike Burns	mkdir -p $${builddir}/Tmain && \
1922e20966dSMike Burns	\
193354c22ffSK.Takata	c="$${SCRIPT} tmain \
1942e20966dSMike Burns		--ctags=$(CTAGS_TEST) \
1959e5ade65SMasatake YAMATO		--units=$(UNITS) \
196a2ff2b45SMasatake YAMATO		$${VALGRIND} \
197354c22ffSK.Takata		$${SHELL_OPT} \
198a2ff2b45SMasatake YAMATO		$${SHOW_DIFF_OUTPUT}"; \
199354c22ffSK.Takata		$${PROG} $${c} $(srcdir)/Tmain $${builddir}/Tmain
2002e20966dSMike Burns
2012e20966dSMike Burnsclean-tmain:
2022e20966dSMike Burns	$(SILENT) echo Cleaning main part tests
203f63ccdcdSMasatake YAMATO	$(SILENT) if test -d $$(pwd)/Tmain; then \
204f63ccdcdSMasatake YAMATO		$(SHELL) $(srcdir)/misc/units clean-tmain $$(pwd)/Tmain; \
205f63ccdcdSMasatake YAMATO	fi
2062e20966dSMike Burns
20775c26bdfSMasatake YAMATOtlib: $(MINI_GEANY_TEST)
20875c26bdfSMasatake YAMATO	$(V_RUN) \
20975c26bdfSMasatake YAMATO	builddir=$$(pwd); \
21075c26bdfSMasatake YAMATO	mkdir -p $${builddir}/misc; \
21175c26bdfSMasatake YAMATO	if test -s '$(MINI_GEANY_TEST)'; then \
212e1748c9eSMasatake YAMATO		if $(SHELL) $(srcdir)/misc/tlib $(MINI_GEANY_TEST) \
21375c26bdfSMasatake YAMATO			$(srcdir)/misc/mini-geany.expected \
21475c26bdfSMasatake YAMATO			$${builddir}/misc/mini-geany.actual \
215e1748c9eSMasatake YAMATO			$(VG); then \
21675c26bdfSMasatake YAMATO			echo 'mini-geany: OK'; \
21775c26bdfSMasatake YAMATO		else \
218e1748c9eSMasatake YAMATO			echo 'mini-geany: FAILED'; \
219e1748c9eSMasatake YAMATO		fi; \
220e1748c9eSMasatake YAMATO	else \
22175c26bdfSMasatake YAMATO		echo 'mini-geany: SKIP'; \
22275c26bdfSMasatake YAMATO	fi
22375c26bdfSMasatake YAMATOclean-tlib:
22475c26bdfSMasatake YAMATO	$(SILENT) echo Cleaning libctags part tests
22575c26bdfSMasatake YAMATO	$(SILENT) builddir=$$(pwd); \
22675c26bdfSMasatake YAMATO		rm -f $${builddir}/misc/mini-geany.actual
22775c26bdfSMasatake YAMATO
2282e20966dSMike Burns#
2292e20966dSMike Burns# Test installation
2302e20966dSMike Burns#
2312e20966dSMike Burnstinst:
232f1da30fbSColomban Wendling	$(V_RUN) \
2332e20966dSMike Burns	builddir=$$(pwd); \
2342e20966dSMike Burns	rm -rf $$builddir/$(TINST_ROOT); \
2352e20966dSMike Burns	$(SHELL) $(srcdir)/misc/tinst $(srcdir) $$builddir/$(TINST_ROOT)
2362e20966dSMike Burns
2372e20966dSMike Burns#
2382e20966dSMike Burns# Test readtags
2392e20966dSMike Burns#
2408ea2732eSColomban Wendlingif USE_READCMD
24181b92a1aSMasatake YAMATOroundtrip: $(READTAGS_TEST)
242f1da30fbSColomban Wendling	$(V_RUN) \
24329fc8d61SMasatake YAMATO	if ! test x$(CI) = x; then	\
2449404b13cSMasatake YAMATO		ROUNDTRIP_FLAGS=--minitrip;			\
2459404b13cSMasatake YAMATO	fi;							\
2462e20966dSMike Burns	builddir=$$(pwd); \
2479f04cd44SMasatake YAMATO	$(SHELL) $(srcdir)/misc/roundtrip $(READTAGS_TEST) $${builddir}/Units $${ROUNDTRIP_FLAGS}
2488ea2732eSColomban Wendlingelse
2498ea2732eSColomban Wendlingroundtrip:
2508ea2732eSColomban Wendlingendif
2512e20966dSMike Burns
2522e20966dSMike Burns#
2532e20966dSMike Burns# Checking code in ctags own rules
2542e20966dSMike Burns#
255180e8f7bSMasatake YAMATOcodecheck: $(CTAGS_TEST)
256949effb8SMasatake YAMATO	$(V_RUN) $(SHELL) misc/src-check
2572e20966dSMike Burns
2582e20966dSMike Burns#
259fe2a62feSMasatake YAMATO# Report coverage (usable only if ctags is built with "configure --enable-coverage-gcov".)
2602e20966dSMike Burns#
2612e20966dSMike Burnsrun-gcov:
2622e20966dSMike Burns	$(CTAGS_TEST) -o - $$(find ./Units -name 'input.*'| grep -v '.*b/.*') > /dev/null
2632e20966dSMike Burns	gcov $$(find -name '*.gcda')
2642e20966dSMike Burns
2652e20966dSMike Burnsclean-gcov:
2662e20966dSMike Burns	$(SILENT) echo Cleaning coverage reports
267cc7e45b5SMasatake YAMATO	$(SILENT) rm -f $(ALL_SRCS:.c=.gcda)
2682e20966dSMike Burns	$(SILENT) rm -f $(srcdir)/*.gcov
269bd2376d5SMasatake YAMATO
270bd2376d5SMasatake YAMATO#
271bd2376d5SMasatake YAMATO# Cppcheck
272bd2376d5SMasatake YAMATO#
273bd2376d5SMasatake YAMATOCPPCHECK_DEFS   = -DHAVE_LIBYAML -DHAVE_LIBXML -DHAVE_COPROC -DHAVE_DECL___ENVIRON
274bd2376d5SMasatake YAMATOCPPCHECK_UNDEFS = -UDEBUG -UMIO_DEBUG -UCXX_DEBUGGING_ENABLED
275bd2376d5SMasatake YAMATOCPPCHECK_FLAGS  = --enable=all
276bd2376d5SMasatake YAMATO
277bd2376d5SMasatake YAMATOcppcheck:
2782c516e35SMasatake YAMATO	cppcheck $(CPPCHECK_DEFS) $(CPPCHECK_UNDEFS) $(CPPCHECK_FLAGS) \
279bd2376d5SMasatake YAMATO		 $$(git  ls-files | grep '^\(parsers\|main\)/.*\.[ch]' )
2802115dcfbSMasatake YAMATO#
2812115dcfbSMasatake YAMATO# Testing examples in per-language man pages
2822115dcfbSMasatake YAMATO#
2832115dcfbSMasatake YAMATOman-test: $(CTAGS_TEST)
2842115dcfbSMasatake YAMATO	$(V_RUN) \
2855d6f69f4SHiroo HAYASHI	$(PYTHON) $(srcdir)/misc/man-test.py $(MAN_TEST_TMPDIR) $(CTAGS_TEST) $(srcdir)/man/ctags-lang-*.7.rst.in
2865d6f69f4SHiroo HAYASHI
2875d6f69f4SHiroo HAYASHIclean-man-test:
2885d6f69f4SHiroo HAYASHI	rm -rf $(MAN_TEST_TMPDIR)
289e7cce0cfSHiroo HAYASHI
290e7cce0cfSHiroo HAYASHI# check if generated files are committed.
291e7cce0cfSHiroo HAYASHI#   Note: "make -B" cannot be used here, since it reruns automake
292e7cce0cfSHiroo HAYASHIchkgen_verbose = $(chkgen_verbose_@AM_V@)
293e7cce0cfSHiroo HAYASHIchkgen_verbose_ = $(chkgen_verbose_@AM_DEFAULT_V@)
294e7cce0cfSHiroo HAYASHIchkgen_verbose_0 = @echo CHKGEN "    $@";
295e7cce0cfSHiroo HAYASHIcheck-genfile:
2968834894eSMasatake YAMATOif BUILD_IN_GIT_REPO
297e7cce0cfSHiroo HAYASHI# OPTLIB2C_SRCS : committed for win32 build
298e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)rm -f $(OPTLIB2C_SRCS)
299e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)$(MAKE) $(OPTLIB2C_SRCS)
300e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)if ! git diff --exit-code $(OPTLIB2C_DIR); then \
301e7cce0cfSHiroo HAYASHI		echo "Files under $(OPTLIB2C_DIR) are not up to date." ; \
302e7cce0cfSHiroo HAYASHI		echo "If you change $(OPTLIB2C_DIR)/foo.ctags, don't forget to add $(OPTLIB2C_DIR)/foo.c to your commit." ; \
303e7cce0cfSHiroo HAYASHI		exit 1 ; \
304e7cce0cfSHiroo HAYASHI	else \
305e7cce0cfSHiroo HAYASHI		echo "Files under $(OPTLIB2C_DIR) are up to date." ; \
306e7cce0cfSHiroo HAYASHI	fi
307e7cce0cfSHiroo HAYASHI# TXT2CSTR_SRCS : committed for win32 build
308e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)rm -f $(TXT2CSTR_SRCS)
309e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)$(MAKE) $(TXT2CSTR_SRCS)
310e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)if ! git diff --exit-code $(TXT2CSTR_DIR); then \
311e7cce0cfSHiroo HAYASHI		echo "Files under $(TXT2CSTR_DIR) are not up to date." ; \
312e7cce0cfSHiroo HAYASHI		echo "If you change $(TXT2CSTR_DIR)/foo.ps, don't forget to add $(TXT2CSTR_DIR)/foo.c to your commit." ; \
313e7cce0cfSHiroo HAYASHI		exit 1 ; \
314e7cce0cfSHiroo HAYASHI	else \
315e7cce0cfSHiroo HAYASHI		echo "Files under $(TXT2CSTR_DIR) are up to date." ; \
316e7cce0cfSHiroo HAYASHI	fi
317e7cce0cfSHiroo HAYASHIif HAVE_RST2MAN
318e7cce0cfSHiroo HAYASHI# man/*.in : committed for man pages to be genrated without rst2man
319d3af9c1eSfpliu#   make clean-docs remove both man/*.in and docs/man/*.rst
320e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)$(MAKE) -C man clean-docs
321d3af9c1eSfpliu	$(chkgen_verbose)$(MAKE) -C man man-in
322e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)if ! git diff --exit-code -- man; then \
323e7cce0cfSHiroo HAYASHI		echo "Files under man/ are not up to date." ; \
324d3af9c1eSfpliu		echo "Please execute 'make -C man man-in' and commit them." ; \
325e7cce0cfSHiroo HAYASHI		exit 1 ; \
326e7cce0cfSHiroo HAYASHI	else \
327e7cce0cfSHiroo HAYASHI		echo "Files under man are up to date." ; \
328e7cce0cfSHiroo HAYASHI	fi
329e7cce0cfSHiroo HAYASHI# docs/man/*.rst : committed for Read the Docs
330e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)$(MAKE) -C man update-docs
331e7cce0cfSHiroo HAYASHI	$(chkgen_verbose)if ! git diff --exit-code -- docs/man; then \
332e7cce0cfSHiroo HAYASHI		echo "Files under docs/man/ are not up to date." ; \
333e7cce0cfSHiroo HAYASHI		echo "Please execute 'make -C man update-docs' and commit them." ; \
334e7cce0cfSHiroo HAYASHI		exit 1 ; \
335e7cce0cfSHiroo HAYASHI	else \
336e7cce0cfSHiroo HAYASHI		echo "Files under docs/man are up to date." ; \
337e7cce0cfSHiroo HAYASHI	fi
338e7cce0cfSHiroo HAYASHIendif
339619cd66cSHiroo HAYASHI# win32/ctags_vs2013.vcxproj* : committed for win32 build without POSIX tools
340619cd66cSHiroo HAYASHI#   regenerate files w/o out-of-source build and w/ GNU make
341619cd66cSHiroo HAYASHI	$(chkgen_verbose)if test "$(top_srcdir)" = "$(top_builddir)" \
342619cd66cSHiroo HAYASHI		&& ($(MAKE) --version) 2>/dev/null | grep -q GNU ; then \
343619cd66cSHiroo HAYASHI		$(MAKE) -BC win32 ; \
344619cd66cSHiroo HAYASHI	fi
345619cd66cSHiroo HAYASHI	$(chkgen_verbose)if ! git diff --exit-code -- win32; then \
346*283da594SK.Takata		if test "$(SKIP_CHECKGEN_WIN32)" = "yes"; then \
347*283da594SK.Takata			echo "Skip checking the files under win32." ; \
348*283da594SK.Takata			exit 0 ; \
349*283da594SK.Takata		else \
350619cd66cSHiroo HAYASHI			echo "Files under win32/ are not up to date." ; \
351619cd66cSHiroo HAYASHI			echo "Please execute 'make -BC win32' and commit them." ; \
352619cd66cSHiroo HAYASHI			exit 1 ; \
353*283da594SK.Takata		fi \
354619cd66cSHiroo HAYASHI	else \
355619cd66cSHiroo HAYASHI		echo "Files under win32 are up to date." ; \
356619cd66cSHiroo HAYASHI	fi
3578834894eSMasatake YAMATOendif
358