diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 87 | 
1 files changed, 45 insertions, 42 deletions
| @@ -29,49 +29,54 @@ debug:  	cmake .. -DCMAKE_BUILD_TYPE=Debug; \  	cmake --build . -tarball: +tarball: spec.html  	rm -rf $(PKGDIR); \  	mkdir -p $(PKGDIR)/man/man1; \  	cp -r src $(PKGDIR)/; \ +	cp spec.html $(PKGDIR); \  	cp CMakeLists.txt $(PKGDIR); \ +	perl -ne '$$p++ if /^### JavaScript/; print if (!$$p)' Makefile > $(PKGDIR)/Makefile; \  	cp man/man1/cmark.1 $(PKGDIR)/man/man1/; \  	cp README.md LICENSE spec.txt runtests.pl $(PKGDIR)/; \ -	tar cvzf cmark-$(SPECVERSION).tar.gz $(PKGDIR) +	tar czf cmark-$(SPECVERSION).tar.gz $(PKGDIR); \ +	rm -rf $(PKGDIR)  clean:  	rm -rf $(BUILDDIR)  $(PROG): all +$(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 -README.html: README.md template.html -	pandoc --template template.html -S -s -t html5 -o $@ $< - -spec: test spec.html +test: $(SPEC) +	perl runtests.pl $< $(PROG) -spec.md: $(SPEC) -	perl spec2md.pl < $< > $@ +testlib: $(SPEC) +	perl runtests.pl $< ./wrapper.py -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/␣/<span class="space"> <\/span>/g' \ -	> $@ +leakcheck: $(PROG) +	cat leakcheck.md | valgrind --leak-check=full --dsymutil=yes $(PROG) +fuzztest: +	{ for i in `seq 1 10`; do \ +	  cat /dev/urandom | head -c $(FUZZCHARS) | iconv -f latin1 -t utf-8 | tee fuzz-$$i.txt | \ +		/usr/bin/env time -p $(PROG) >/dev/null && rm fuzz-$$i.txt ; \ +	done } 2>&1 | grep 'user\|abnormally' -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 +operf: $(PROG) +	operf $(PROG) <$(BENCHINP) >/dev/null -test: $(SPEC) -	perl runtests.pl $< $(PROG) +distclean: clean +	-rm -f js/commonmark.js +	-rm -rf *.dSYM +	-rm -f README.html +	-rm -f spec.md fuzz.txt spec.html -testlib: $(SPEC) -	perl runtests.pl $< ./wrapper.py +### JavaScript ###  js/commonmark.js: js/lib/index.js ${JSMODULES}  	browserify --standalone commonmark $< -o $@ @@ -85,35 +90,33 @@ jshint:  benchjs:  	node js/bench.js ${BENCHINP} -$(SRCDIR)/case_fold_switch.inc: $(DATADIR)/CaseFolding-3.2.0.txt -	perl mkcasefold.pl < $< > $@ +npm: +	cd js; npm publish  dingus: js/commonmark.js  	echo "Starting dingus server at http://localhost:9000" && python -m SimpleHTTPServer 9000 -leakcheck: $(PROG) -	cat leakcheck.md | valgrind --leak-check=full --dsymutil=yes $(PROG) +### Spec ### -operf: $(PROG) -	operf $(PROG) <$(BENCHINP) >/dev/null +spec.md: $(SPEC) +	perl spec2md.pl < $< > $@ -fuzztest: -	{ for i in `seq 1 10`; do \ -	  cat /dev/urandom | head -c $(FUZZCHARS) | iconv -f latin1 -t utf-8 | tee fuzz-$$i.txt | \ -		/usr/bin/env time -p $(PROG) >/dev/null && rm fuzz-$$i.txt ; \ -	done } 2>&1 | grep 'user\|abnormally' +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/␣/<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 + +### Website ###  update-site: spec.html js/commonmark.js  	make -C $(SITE) update  upload-site: spec.html  	make -C $(SITE) upload - -npm: -	cd js; npm publish - -distclean: clean -	-rm -f js/commonmark.js -	-rm -rf *.dSYM -	-rm -f README.html -	-rm -f spec.md fuzz.txt spec.html | 
