coqc := coqc -noglob
-coqfiles := $(shell find src -name \*.v)
-allfiles := $(coqfiles) $(shell find src -name \*.hs)
+coqfiles := $(shell find src -name \*.v | grep -v \\\#)
+allfiles := $(coqfiles) $(shell find src -name \*.hs | grep -v \\\#)
default: build/CoqPass.hs
-build/CoqPass.hs: build/Makefile.coq $(allfiles)
+build/CoqPass.hs: $(allfiles)
+ make build/Makefile.coq
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
-build/Makefile.coq: $(coqfiles)
+build/Makefile.coq: $(coqfiles) src/categories/src
mkdir -p build
rm -f build/*.v
rm -f build/*.d
- cd build; ln -s ../src/*.v .
+ cd build; ln -fs `find ../src -name \*.v` .
cd build; coq_makefile *.v > Makefile.coq
+src/categories/src:
+ git submodule update --init src/categories
+ cd compiler/categories; git checkout master
+
clean:
rm -rf build
+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
+ 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
+ echo
+ echo COMPILATION OK
+ echo
# this is for Adam's use only!
-publish:
+push: build/CoqPass.hs
+ git push http://git.megacz.com/coq-hetmet.git master
+ git add -f build/CoqPass.hs; \
+ git commit -m 'update baked-in CoqPass.hs' && \
+ (git push -f http://git.megacz.com/coq-hetmet.git master:coq-extraction-baked-in; \
+ git reset HEAD^)
rm -rf .temp
mkdir .temp
cd .temp; ln -s ../src/*.v .
pdflatex $$A.tex < /dev/null; done
ssh login.eecs.berkeley.edu -- 'rm public_html/coq-in-ghc/pdfs/*.pdf' ; true
scp .temp/*.pdf login.eecs.berkeley.edu:public_html/coq-in-ghc/pdfs/
- rm -rf .temp
\ No newline at end of file
+ rm -rf .temp