OBJECTS = netconst.cmo netstring_str.cmo netbuffer.cmo netunichar.cmo \ netaux.cmo netchannels.cmo netsockaddr.cmo \ netdb.cmo netmappings.cmo netconversion.cmo netulex.cmo \ netencoding.cmo netstream.cmo netdate.cmo \ mimestring.cmo \ nethtml_scanner.cmo nethtml.cmo \ neturl.cmo \ netaddress.cmo netcompression.cmo \ netmime.cmo netsendmail.cmo nethttp.cmo \ netpagebuffer.cmo netfs.cmo netglob_lex.cmo netglob.cmo \ netauth.cmo netnumber.cmo rtypes.cmo xdr_mstring.cmo xdr.cmo PKGNAME = netstring REQUIRES = $(REGEXP_PROVIDER_MAKE) bigarray INCLUDES += $(INC_NETSYS) INCLUDES += -I ../netstring-pcre ISO_MAPPINGS = mappings/iso*.unimap JP_MAPPINGS = mappings/jis*.*map KR_MAPPINGS = mappings/ks*.*map OTHER_MAPPINGS = mappings/cp*.unimap \ mappings/adobe*.unimap \ mappings/koi*.unimap \ mappings/mac*.unimap \ mappings/windows*.unimap PMAP = netmappings_iso.pmap netmappings_other.pmap netmappings_jp.pmap netmappings_kr.pmap # netconversion.cmx, netbuffer.cmx: # Allow cross-library inlining for these modules OCAMLOPT_OPTIONS_FOR_netbuffer.ml = -inline 10 INSTALL_EXTRA_CMO = netmappings_iso netmappings_jp netmappings_kr \ netmappings_other netmappings_min \ netstring_top \ netaccel_link INSTALL_EXTRA_CMX = netmappings_iso netmappings_jp netmappings_kr \ netmappings_other netmappings_min \ netconversion \ netbuffer netnumber rtypes xdr INSTALL_EXTRA = $(INSTALL_EXTRA_CMO:=.cmo) \ $(INSTALL_EXTRA_CMX:=.cmx) $(INSTALL_EXTRA_CMX:=.p.cmx) \ $(INSTALL_EXTRA_CMX:=.o) $(INSTALL_EXTRA_CMX:=.p.o) \ netdb-packlist \ dllnetaccel_c.* DOBJECTS = netconversion.mli netchannels.mli netstream.mli mimestring.mli \ netmime.mli netsendmail.mli neturl.mli netaddress.mli netbuffer.mli \ netdate.mli netencoding.mli netulex.mli netaccel.mli \ netaccel_link.mli nethtml.mli netstring_str.mli \ netmappings.mli netaux.mli nethttp.mli netpagebuffer.mli \ netfs.mli netglob.mli netauth.mli netsockaddr.mli \ netnumber.mli rtypes.mli xdr_mstring.mli xdr.mli \ netcompression.mli netunichar.mli \ netchannels_tut.txt netmime_tut.txt netsendmail_tut.txt \ netulex_tut.txt neturl_tut.txt PP_OPTIONS = -pp "$(CPPO) $(NETNUMBER_DEFS) $(REGEXP_DEFS)" INSTOTHER = install-netdb PACKLIST = netdb-packlist BUILD_EXTRA = $(PMAP:.pmap=.cmo) netmappings_min.cmo ALL_EXTRA = $(BUILD_EXTRA) netstring_top.cmo netaccel.cma netaccel_link.cmo OPT_EXTRA = $(BUILD_EXTRA:.cmo=.cmx) netaccel.cma: netaccel_c.o netaccel.cmo $(OCAMLMKLIB) -o netaccel -oc netaccel_c netaccel_c.o netaccel.cmo #netaccel.cmxa: netaccel_c.o netaccel.cmx # $(OCAMLMKLIB) -o netaccel -oc netaccel_c netaccel_c.o netaccel.cmx netdb.ml: netdb.mlp netdb.cmi sed -e 's|@NET_DB_DIR@|$(NET_DB_DIR)|' netdb.mlp >netdb.ml netdb_done: tools_done $(PMAP) mkdir -p netdb cd netdb && \ ../tools/unimap_to_ocaml/unimap_to_ocaml -netdb ../*.pmap touch netdb_done netmappings_iso.pmap: tools_done test ! -d mappings || tools/unimap_to_ocaml/unimap_to_ocaml \ -o netmappings_iso.pmap -pmap $(ISO_MAPPINGS) netmappings_iso.ml: netmappings_iso.pmap netdb.cmi tools/unimap_to_ocaml/unimap_to_ocaml \ -o netmappings_iso.ml netmappings_iso.pmap netmappings_jp.pmap: tools_done test ! -d mappings || tools/unimap_to_ocaml/unimap_to_ocaml \ -o netmappings_jp.pmap -pmap $(JP_MAPPINGS) # test ! -f mappings/Unihan.txt.bz2 || \ # bzip2 -c -d mappings/Unihan.txt.bz2 | \ # tools/unimap_to_ocaml/unihan_extract \ # -o netmappings_jp.pmap -jis0208 -jis0212 netmappings_jp.ml: netmappings_jp.pmap netdb.cmi tools/unimap_to_ocaml/unimap_to_ocaml \ -o netmappings_jp.ml netmappings_jp.pmap netmappings_kr.pmap: tools_done test ! -d mappings || tools/unimap_to_ocaml/unimap_to_ocaml \ -o netmappings_kr.pmap -pmap $(KR_MAPPINGS) netmappings_kr.ml: netmappings_kr.pmap netdb.cmi tools/unimap_to_ocaml/unimap_to_ocaml \ -o netmappings_kr.ml netmappings_kr.pmap netmappings_other.pmap: tools_done test ! -d mappings || tools/unimap_to_ocaml/unimap_to_ocaml \ -o netmappings_other.pmap -pmap $(OTHER_MAPPINGS) netmappings_other.ml: netmappings_other.pmap netdb.cmi tools/unimap_to_ocaml/unimap_to_ocaml \ -o netmappings_other.ml netmappings_other.pmap netdb-packlist: netdb_done test -d netdb (cd netdb && ls *.netdb) | \ { while read f; do echo "$(NET_DB_DIR)/$$f"; done; } >netdb-packlist .PHONY: install-netdb install-netdb: mkdir -p "$(DESTDIR)$(NET_DB_DIR)" cp netdb/*.netdb "$(DESTDIR)$(NET_DB_DIR)" @echo "Installed .netdb files into $(DESTDIR)$(NET_DB_DIR)" tools_done: cd tools && $(MAKE) touch tools_done netconst.ml: netconst.mlp sed -e 's/@VERSION@/$(VERSION)/' netconst.mlp >netconst.ml netconst.cmo: netconst.cmi netconst.cmx: netconst.cmi # netnumber: NETNUMBER_DEFS = -D WORDSIZE_$(WORD_SIZE) -D HOST_IS_$(ENDIANESS) \ -D USE_NETSYS_XDR OCAMLOPT_OPTIONS_FOR_netnumber.ml = -inline 10 OCAMLOPT_OPTIONS_FOR_xdr.ml = -inline 5 OCAMLC_OPTIONS_FOR_netstring_top.ml = -I +compiler-libs unicode_charinfo.txt: ocaml ../../tools/unicode_extract.ml > unicode_charinfo.txt netunichar.ml: unicode_charinfo.txt ocaml ../../tools/unicode_charinfo.ml unicode_charinfo.txt \ > netunichar.ml include $(TOP_DIR)/Makefile.rules CLEAN_LIST += tools_done netdb_done netdb.ml $(PMAP:.pmap=.ml) CLEAN_LIST += netconst.ml clean:: test ! -d mappings || rm -f $(PMAP) rm -rf netdb cd tools && $(MAKE) clean distclean:: $(MAKE) clean