From 52045957a87f2c86f61f2054cafbebe050a1299b Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Sun, 16 Nov 2014 19:03:42 +0100 Subject: Add Makefile and wrapper for nmake --- Makefile.nmake | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Makefile.nmake (limited to 'Makefile.nmake') diff --git a/Makefile.nmake b/Makefile.nmake new file mode 100644 index 0000000..0436bc6 --- /dev/null +++ b/Makefile.nmake @@ -0,0 +1,60 @@ +SRCDIR=src +DATADIR=data +BUILDDIR=build +INSTALLDIR=windows +SPEC=spec.txt +PROG=$(BUILDDIR)\src\cmark.exe +GENERATOR=NMake Makefiles + +all: $(BUILDDIR) + @pushd $(BUILDDIR) && $(MAKE) /nologo && popd + +$(BUILDDIR): + @cmake --version > nul || (echo "You need cmake to build this program: http://www.cmake.org/download/" && exit 1) + -mkdir $(BUILDDIR) 2> nul + pushd $(BUILDDIR) && \ + cmake \ + -G "$(GENERATOR)" \ + -D CMAKE_BUILD_TYPE=$(BUILD_TYPE) \ + -D CMAKE_INSTALL_PREFIX=$(INSTALLDIR) \ + .. && \ + popd + +install: all + @pushd $(BUILDDIR) && $(MAKE) /nologo install && popd + +clean: + -rmdir /s /q $(BUILDDIR) $(MINGW_INSTALLDIR) 2> nul + +$(SRCDIR)\case_fold_switch.inc: $(DATADIR)\CaseFolding-3.2.0.txt + perl mkcasefold.pl < $? > $@ + +man\man1\cmark.1: man\cmark.1.md + pandoc $? -o $@ -s -t man + +test: $(SPEC) all + perl runtests.pl $(SPEC) $(PROG) + +testlib: $(SPEC) all + perl runtests.pl $(SPEC) .\wrapper.py + +distclean: clean + del /q src\scanners.c 2> nul + del /q spec.md spec.html 2> nul + +### Spec ### + +spec.md: $(SPEC) + perl spec2md.pl < $? > $@ + +spec.html: spec.md template.html + pandoc --no-highlight --number-sections --template template.html -s --toc -S $? | \ + perl -pe "s/a href=\"@([^"]*)\"/a id=\"\\1\" href=\"#\\1\" class=\"definition\"/g" | \ + perl -pe "s/\\x{2423}/ <\\/span>/g" \ + > $@ + +spec.pdf: spec.md template.tex specfilter.hs + pandoc -s $? --template template.tex \ + --filter specfilter.hs -o $@ --latex-engine=xelatex --toc \ + --number-sections -V documentclass=report -V tocdepth=2 \ + -V classoption=twosides -- cgit v1.2.3