###	-*- Makefile -*-
###	Makefile.windows
###

.SUFFIXES:	.ml .mli .cmx .cmi .cmo .cmxa .cma .c .obj

OCAMLLIBPATH  = c:\ocaml\lib

OCBYTE		= ocamlc
OCOPT		= ocamlopt

OC		= ocamlc
CC		= cl

FLAGS		=
LIBS		=

CFLAGS		= #/Ic:/devtools/ocaml/lib/caml /Ic:/devtools/curl/include
CAMLINCDIR	= -I c:/devtools/ocaml/lib/caml -I c:/devtools/curl/include

CURLHELPEROBJS	= curl-helper.obj
CURLOBJS	= curl.cmx
CURLBCOBJS	= $(CURLOBJS:.cmx=.cmo)

CURLFLAGS	= 
CURLCLIBS	= -cclib -lcurl-helper

TARGETS		= curl.cma curl.cmxa libcurl-helper.lib

all:
		@$(MAKE) -f Makefile.windows depend
		@$(MAKE) -f Makefile.windows targets

targets:	$(TARGETS) examples-dir

examples-dir:
		cd examples
		nmake -f Makefile.windows
		cd ..

curl.cma:	$(CURLBCOBJS) libcurl-helper.lib
		$(OCBYTE) -custom -a $(FLAGS) $(CURLFLAGS) -o $@ $(CURLBCOBJS) $(CURLCLIBS)

curl.cmxa:	$(CURLOBJS) libcurl-helper.lib
		$(OCOPT) -a $(FLAGS) $(CURLFLAGS) $(LIBS) $(CURLOBJS) -o $@ $(CURLCLIBS)

.ml.cmx:
		$(OCOPT) -c $(FLAGS) $< -o $@

.mli.cmi:
		$(OCBYTE) -c $(FLAGS) $< -o $@

.ml.cmo:
		$(OCBYTE) -c $(FLAGS) $< -o $@

libcurl-helper.lib:	$(CURLHELPEROBJS)
		lib /OUT:libcurl-helper.lib $(CURLHELPEROBJS)

.c.obj:
		$(OC) -c $(CFLAGS) $(CAMLINCDIR) $< -o $@

install:  all
	-mkdir $(OCAMLLIBPATH)\curl
	copy curl.cmi $(OCAMLLIBPATH)\curl
	copy curl.cma $(OCAMLLIBPATH)\curl
	copy curl.cmxa $(OCAMLLIBPATH)\curl
	copy libcurl-helper.lib $(OCAMLLIBPATH)\curl
    
clean:
		@del /f $(TARGETS) *~ *.cm* *.obj *.lib .depend core
		@cd examples
		@$(MAKE) -f Makefile.windows clean

depend:
		@ocamldep *.mli *.ml > .depend

!IF EXIST(.depend)
!INCLUDE .depend
!ENDIF


syntax highlighted by Code2HTML, v. 0.9.1