summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.nmake60
-rw-r--r--nmake.bat1
2 files changed, 61 insertions, 0 deletions
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 class=\"space\"> <\\/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
diff --git a/nmake.bat b/nmake.bat
new file mode 100644
index 0000000..cd40453
--- /dev/null
+++ b/nmake.bat
@@ -0,0 +1 @@
+@nmake.exe /nologo /f Makefile.nmake %*