Plasma GitLab Archive
Projects Blog Knowledge

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

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml