# 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