]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/pxp/pxp/Makefile
Initial revision
[helm.git] / helm / DEVEL / pxp / pxp / Makefile
diff --git a/helm/DEVEL/pxp/pxp/Makefile b/helm/DEVEL/pxp/pxp/Makefile
new file mode 100644 (file)
index 0000000..f08eab9
--- /dev/null
@@ -0,0 +1,105 @@
+# make all:            make bytecode archive
+# make opt:            make native archive
+# make install:        install bytecode archive, and if present, native archive
+# make uninstall:      uninstall package
+# make clean:          remove intermediate files (in this directory)
+# make CLEAN:           remove intermediate files (recursively)
+# make distclean:      remove any superflous files (recursively)
+# make release:        cleanup, create archive, tag CVS module 
+#                      (for developers)
+
+#----------------------------------------------------------------------
+
+include Makefile.conf
+
+.PHONY: all
+all: 
+       $(MAKE) -C m2parsergen all
+       $(MAKE) -C tools/ucs2_to_utf8 all
+       $(MAKE) -f Makefile.code all
+       $(MAKE) -C compatibility all
+
+.PHONY: opt
+opt: 
+       $(MAKE) -C m2parsergen all
+       $(MAKE) -C tools/ucs2_to_utf8 all
+       $(MAKE) -f Makefile.code opt
+       $(MAKE) -C compatibility opt
+
+.PHONY: install
+install: all tmp/pxp_entity.mli
+       files=`tools/collect_files *.cmi *.cma *.cmxa *.a \
+               pxp_utf8.cmo pxp_utf8.cmx pxp_utf8.o` && \
+       ocamlfind install $(NAME) $(MLI) tmp/pxp_entity.mli $$files META
+
+.PHONY: uninstall
+uninstall:
+       ocamlfind remove $(NAME)
+
+.PHONY: markup-install
+markup-install:
+       $(MAKE) -C compatibility install
+
+.PHONY: markup-uninstall
+markup-uninstall:
+       $(MAKE) -C compatibility uninstall
+
+tmp/pxp_entity.mli: pxp_entity.ml
+       mkdir -p tmp
+       rm -f tmp/pxp_entity.*
+       cp pxp_entity.ml tmp
+       echo '(* Sorry, this is currently undocumented *)' >tmp/mli
+       ocamlc -i -c tmp/pxp_entity.ml >>tmp/mli
+       mv tmp/mli tmp/pxp_entity.mli
+
+.PHONY: clean
+clean:
+       rm -f *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa *.new *.old
+       rm -f pxp_yacc.ml
+       touch lexers/objects_iso88591 lexers/objects_utf8 lexers/depend
+       $(MAKE) -C lexers clean
+       $(MAKE) -C compatibility clean
+
+.PHONY: CLEAN
+CLEAN: clean
+       $(MAKE) -C doc CLEAN
+       $(MAKE) -C examples CLEAN
+       $(MAKE) -C rtests CLEAN
+       $(MAKE) -C m2parsergen CLEAN
+       touch tools/ucs2_to_utf8/depend
+       $(MAKE) -C tools/ucs2_to_utf8 clean
+
+.PHONY: distclean
+distclean: clean
+       rm -f *~ depend depend.pkg
+       $(MAKE) -C doc distclean
+       $(MAKE) -C examples distclean
+       $(MAKE) -C rtests distclean
+       $(MAKE) -C m2parsergen distclean
+       touch tools/ucs2_to_utf8/depend
+       $(MAKE) -C tools/ucs2_to_utf8 clean
+       $(MAKE) -C compatibility distclean
+
+RELEASE: META
+       awk '/version/ { print substr($$3,2,length($$3)-2) }' META >RELEASE
+
+.PHONY: dist
+dist: RELEASE
+       r=`head -1 RELEASE`; cd ..; gtar czf $(NAME)-$$r.tar.gz --exclude='*/CVS*' --exclude="*~" --exclude="*/depend.pkg" --exclude="*/depend" --exclude="*/oo_questions*" --exclude="*/testsamples*" --exclude="*/tmp/*" --exclude="*reptil*" --exclude="*/doc/common.xml" --exclude="*/doc/config.xml" --exclude="*.fig.bak" --exclude="*/ps/pic*" --exclude="*/examples/panel*" --exclude="*/examples/xmlforms_gtk*" --exclude="*/Mail*" $(NAME)/*
+
+.PHONY: tag-release
+tag-release: RELEASE
+       r=`head -1 RELEASE | sed -e s/\\\./-/g`; cd ..; cvs tag -F $(NAME)-$$r markup
+
+.PHONY: release
+release: distclean
+       $(MAKE) tag-release
+       $(MAKE) dist
+
+.PHONY: dev
+dev:
+       $(MAKE) all
+       -$(MAKE) uninstall
+       $(MAKE) install
+       $(MAKE) -C examples/validate distclean
+       $(MAKE) -C examples/validate validate