diff options
author | Nick Wellnhofer <wellnhofer@aevum.de> | 2014-11-16 19:03:42 +0100 |
---|---|---|
committer | Nick Wellnhofer <wellnhofer@aevum.de> | 2014-11-16 22:42:27 +0100 |
commit | 52045957a87f2c86f61f2054cafbebe050a1299b (patch) | |
tree | 170095017d2cd1716a6664a4b4895760c4eed451 | |
parent | cdc270613f605375a790b5d722f21fedb4203710 (diff) |
Add Makefile and wrapper for nmake
-rw-r--r-- | Makefile.nmake | 60 | ||||
-rw-r--r-- | nmake.bat | 1 |
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 %*
|