X-Git-Url: http://git.megacz.com/?p=coq-hetmet.git;a=blobdiff_plain;f=Makefile;h=c372b853007b72ff1325a33a92f22f11ccd59ea3;hp=9067ab039a2ab11af648afb8cb813cf9b75a8519;hb=6e1e4b67d01a6447f7dd44f7b5450ddc400000d9;hpb=6c06dcf3fee5a4f0c8f72c237de7bd30b7a2379b diff --git a/Makefile b/Makefile index 9067ab0..c372b85 100644 --- a/Makefile +++ b/Makefile @@ -1,15 +1,34 @@ -coqc := coqc -noglob +coqc := coqc -noglob -opt coqfiles := $(shell find src -name \*.v | grep -v \\\#) allfiles := $(coqfiles) $(shell find src -name \*.hs | grep -v \\\#) +coq_version := $(shell coqc -v | head -n1 | sed 's_.*version __' | sed 's_ .*__') +coq_version_wanted := 8.3pl2-tracer -default: build/CoqPass.hs +default: all + +all: $(allfiles) + $(MAKE) build/Makefile.coq + cd build; $(MAKE) -f Makefile.coq OPT="-opt -dont-load-proofs" All.vo build/CoqPass.hs: $(allfiles) +ifeq ($(coq_version),$(coq_version_wanted)) make build/Makefile.coq - cd build; make -f Makefile.coq OPT=-dont-load-proofs ExtractionMain.vo - cd build; make -f Makefile.coq Extraction.vo + cd build; $(MAKE) -f Makefile.coq OPT="-opt -dont-load-proofs" ExtractionMain.vo + cd build; $(MAKE) -f Makefile.coq Extraction.vo cat src/Extraction-prefix.hs > build/CoqPass.hs cat build/Extraction.hs | grep -v '^module' | grep -v '^import' >> build/CoqPass.hs +else + @echo + @echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + @echo ++ YOU DO NOT HAVE COQ VERSION $(coq_version_wanted) INSTALLED ++ + @echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + @echo + @echo Therefore, I am going to "git pull -f" from the coq-extraction-baked-in + @echo branch of the repository. + @echo + git pull -f http://git.megacz.com/coq-hetmet.git coq-extraction-baked-in:master +endif + build/Makefile.coq: $(coqfiles) src/categories/src mkdir -p build @@ -20,15 +39,28 @@ build/Makefile.coq: $(coqfiles) src/categories/src src/categories/src: git submodule update --init src/categories - cd compiler/categories; git checkout master + cd src/categories; git checkout master clean: rm -rf build +examples/test.pdf: + ../../../inplace/bin/ghc-stage2 GArrowTikZ.hs + ./GArrowTikZ > test.tex + pdflatex test.tex + open test.pdf + +examples/doc/index.html: + mkdir -p examples/doc + haddock --html Unify.hs + open Unify.html + + merged: mkdir -p .temp cd src; for A in *.v; do cat $$A | grep -v '^Require Import' > ../.temp/`echo $$A | sed s_\\\\.v_._`; done - cd src/categories/src; for A in *.v; do cat $$A | grep -v '^Require Import' > ../../../.temp/`echo $$A | sed s_\\\\.v_._`; done + cd src/categories/src; for A in *.v; do cat $$A | \ + grep -v '^Require Import' > ../../../.temp/`echo $$A | sed s_\\\\.v_._`; done cp src/Banner.v .temp/GArrows.v cd .temp; grep '^Require Import ' ../src/All.v | sed 's_Require Import _echo;echo;echo;echo;echo;cat _' | bash >> GArrows.v cd .temp; time $(coqc) -dont-load-proofs -verbose GArrows.v