--- /dev/null
+# 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