diff --git a/Makefile b/Makefile index c4d4bddae..8f76e247a 100644 --- a/Makefile +++ b/Makefile @@ -125,6 +125,14 @@ DB2MAN?=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl XP=xsltproc -''-nonet -''-param man.charmap.use.subset "0" MAN_SOURCE=man/cppcheck.1.xml +Validation of library files: +ConfigFiles := $(wildcard cfg/*.cfg) +ConfigFilesCHECKED := $(patsubst %.cfg,%.checked,$(ConfigFiles)) +.PHONY: validateCFG +%.checked:%.cfg + xmllint --noout --relaxng cfg/cppcheck-cfg.rng $< +validateCFG: ${ConfigFilesCHECKED} + ###### Object Files diff --git a/tools/dmake.cpp b/tools/dmake.cpp index bd120d604..737304657 100644 --- a/tools/dmake.cpp +++ b/tools/dmake.cpp @@ -346,6 +346,15 @@ int main(int argc, char **argv) fout << "XP=xsltproc -''-nonet -''-param man.charmap.use.subset \"0\"\n"; fout << "MAN_SOURCE=man/cppcheck.1.xml\n\n"; + fout << "Validation of library files:\n"; + fout << "ConfigFiles := $(wildcard cfg/*.cfg)\n"; + fout << "ConfigFilesCHECKED := $(patsubst %.cfg,%.checked,$(ConfigFiles))\n"; + fout << ".PHONY: validateCFG\n"; + fout << "%.checked:%.cfg\n"; + fout << "\txmllint --noout --relaxng cfg/cppcheck-cfg.rng $<\n"; + fout << "validateCFG: ${ConfigFilesCHECKED}\n\n"; + + fout << "\n###### Object Files\n\n"; fout << "LIBOBJ = " << objfile(libfiles[0]); for (size_t i = 1; i < libfiles.size(); ++i)