X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fnetstring%2FMakefile;fp=helm%2FDEVEL%2Fpxp%2Fnetstring%2FMakefile;h=98f9ef0139267f64c141cb4ebc7dca5911481842;hb=c03d2c1fdab8d228cb88aaba5ca0f556318bebc5;hp=0000000000000000000000000000000000000000;hpb=758057e85325f94cd88583feb1fdf6b038e35055;p=helm.git diff --git a/helm/DEVEL/pxp/netstring/Makefile b/helm/DEVEL/pxp/netstring/Makefile new file mode 100644 index 000000000..98f9ef013 --- /dev/null +++ b/helm/DEVEL/pxp/netstring/Makefile @@ -0,0 +1,151 @@ +# 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 +# make distclean: remove any superflous files +# make release: cleanup, create archive, tag CVS module +# (for developers) + +#---------------------------------------------------------------------- +# specific rules for this package: + +OBJECTS = netstring_str.cmo \ + netencoding.cmo netbuffer.cmo netstream.cmo \ + mimestring.cmo cgi.cmo base64.cmo \ + nethtml_scanner.cmo nethtml.cmo \ + neturl.cmo \ + netmappings.cmo netconversion.cmo +XOBJECTS = $(OBJECTS:.cmo=.cmx) +ARCHIVE = netstring.cma +XARCHIVE = netstring.cmxa + +NAME = netstring +REQUIRES = str + +ISO_MAPPINGS = mappings/iso*.unimap +OTHER_MAPPINGS = mappings/cp*.unimap \ + mappings/adobe*.unimap \ + mappings/jis*.unimap \ + mappings/koi*.unimap \ + mappings/mac*.unimap \ + mappings/windows*.unimap + +all: $(ARCHIVE) \ + netstring_top.cmo netstring_mt.cmo \ + netmappings_iso.cmo netmappings_other.cmo + +opt: $(XARCHIVE) \ + netstring_mt.cmx \ + netmappings_iso.cmx netmappings_other.cmx + + +$(ARCHIVE): $(OBJECTS) + $(OCAMLC) -a -o $(ARCHIVE) $(OBJECTS) + +$(XARCHIVE): $(XOBJECTS) + $(OCAMLOPT) -a -o $(XARCHIVE) $(XOBJECTS) + +netmappings_iso.ml: + $(MAKE) -C tools + test ! -d mappings || tools/unimap_to_ocaml/unimap_to_ocaml \ + -o netmappings_iso.ml $(ISO_MAPPINGS) + +netmappings_other.ml: + $(MAKE) -C tools + test ! -d mappings || tools/unimap_to_ocaml/unimap_to_ocaml \ + -o netmappings_other.ml $(OTHER_MAPPINGS) + +#---------------------------------------------------------------------- +# general rules: + +OPTIONS = +OCAMLC = ocamlc $(DEBUG) $(OPTIONS) $(ROPTIONS) +OCAMLOPT = ocamlopt $(OPTIONS) $(ROPTIONS) +OCAMLLEX = ocamllex +OCAMLDEP = ocamldep $(OPTIONS) +OCAMLFIND = ocamlfind + +DEBUG = +# Invoke with: make DEBUG=-g + +depend: *.ml *.mli + $(OCAMLDEP) *.ml *.mli >depend + +depend.pkg: Makefile + $(OCAMLFIND) use -p ROPTIONS= $(REQUIRES) >depend.pkg + +.PHONY: install +install: all + { test ! -f $(XARCHIVE) || extra="*.cmxa *.a netstring_mt.cmx netmappings_iso.cmx netmappings_other.cmx netstring_mt.o netmappings_iso.o netmappings_other.o"; }; \ + $(OCAMLFIND) install $(NAME) *.mli *.cmi *.cma netstring_top.cmo netstring_mt.cmo netmappings_iso.cmo netmappings_other.cmo META $$extra + +.PHONY: install-cgi +install-cgi: + $(OCAMLFIND) install cgi compat-cgi/META + + +.PHONY: install-base64 +install-base64: + $(OCAMLFIND) install base64 compat-base64/META + + +.PHONY: uninstall +uninstall: + $(OCAMLFIND) remove $(NAME) + +.PHONY: uninstall-cgi +uninstall-cgi: + $(OCAMLFIND) remove cgi + +.PHONY: uninstall-base64 +uninstall-base64: + $(OCAMLFIND) remove base64 + +.PHONY: clean +clean: + rm -f *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa + test ! -d mappings || rm -f netmappings_iso.ml netmappings_other.ml + +.PHONY: distclean +distclean: + rm -f *.cmi *.cmo *.cma *.cmx *.o *.a *.cmxa + rm -f *~ depend depend.pkg compat-cgi/*~ compat-base64/*~ + $(MAKE) -C tests distclean + $(MAKE) -C doc distclean + $(MAKE) -C tools 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="*/depend.pkg" --exclude="*/depend" --exclude="*/doc/common.xml" --exclude="*/doc/config.xml" --exclude="*/doc/readme.dtd" --exclude="*/Mail" --exclude="*/mappings" $(NAME) + +.PHONY: tag-release +tag-release: RELEASE + r=`head -1 RELEASE | sed -e s/\\\./-/g`; cd ..; cvs tag -F $(NAME)-$$r $(NAME) + +.PHONY: release +release: distclean + test -f netmappings_iso.ml + test -f netmappings_other.ml + $(MAKE) tag-release + $(MAKE) dist + +.SUFFIXES: .cmo .cmi .cmx .ml .mli .mll + +.ml.cmx: + $(OCAMLOPT) -c -thread $< + +.ml.cmo: + $(OCAMLC) -c -thread $< + +.mli.cmi: + $(OCAMLC) -c $< + +.mll.ml: + $(OCAMLLEX) $< + +include depend +include depend.pkg