#########################################################################
#                                                                       #
#                            Objective Caml                             #
#                                                                       #
#            Xavier Leroy, projet Cristal, INRIA Rocquencourt           #
#                                                                       #
#   Copyright 2001 Institut National de Recherche en Informatique et    #
#   en Automatique.  All rights reserved.  This file is distributed     #
#   under the terms of the GNU Library General Public License, with     #
#   the special exception on linking described in file ../../LICENSE.   #
#                                                                       #
#########################################################################

# $Id: Makefile.nt,v 1.6 2004/07/13 12:25:15 xleroy Exp $

include ../../config/Makefile

# Compilation options
CC=$(BYTECC)
CFLAGS=-I../../byterun
CAMLC=../../boot/ocamlrun ../../ocamlc -I ../../stdlib
CAMLOPT=../../boot/ocamlrun ../../ocamlopt -I ../../stdlib
COMPFLAGS=-warn-error A

COBJS=open.$(O) draw.$(O) events.$(O) dib.$(O)
CAMLOBJS=graphics.cmo
WIN32LIBS=$(call SYSLIB,kernel32) $(call SYSLIB,gdi32) $(call SYSLIB,user32)

all: dllgraphics.dll libgraphics.$(A) graphics.cma

allopt: libgraphics.$(A) graphics.cmxa

dllgraphics.dll: $(COBJS:.$(O)=.$(DO))
	$(call MKDLL,dllgraphics.dll,tmp.$(A),\
	  $(COBJS:.$(O)=.$(DO)) ../../byterun/ocamlrun.$(A) $(WIN32LIBS))
	rm tmp.*

libgraphics.$(A): $(COBJS:.$(O)=.$(SO))
	$(call MKLIB,libgraphics.$(A),$(COBJS:.$(O)=.$(SO)))

graphics.cma: $(CAMLOBJS)
	$(CAMLC) -a -o graphics.cma $(CAMLOBJS) \
	  -dllib -lgraphics -cclib -lgraphics -cclib "$(WIN32LIBS)"

graphics.cmxa: $(CAMLOBJS:.cmo=.cmx)
	$(CAMLOPT) -a -o graphics.cmxa $(CAMLOBJS:.cmo=.cmx) \
	  -cclib -lgraphics -cclib "$(WIN32LIBS)"

partialclean:
	rm -f *.cm*

clean: partialclean
	rm -f *.$(A) *.dll *.exp *.$(O)
	rm -f graphics.ml graphics.mli
	rm -f io.h

install:
	cp dllgraphics.dll $(STUBLIBDIR)/dllgraphics.dll
	cp libgraphics.$(A) $(LIBDIR)/libgraphics.$(A)
	cp graphics.cmi graphics.cma $(LIBDIR)

installopt:
	cp graphics.cmxa graphics.cmx graphics.$(A) $(LIBDIR)

graphics.ml: ../graph/graphics.ml
	cp ../graph/graphics.ml graphics.ml
graphics.mli: ../graph/graphics.mli
	cp ../graph/graphics.mli graphics.mli

.SUFFIXES: .ml .mli .cmo .cmi .cmx .$(DO) .$(SO)

.mli.cmi:
	$(CAMLC) -c $(COMPFLAGS) $<

.ml.cmo:
	$(CAMLC) -c $(COMPFLAGS) $<

.ml.cmx:
	$(CAMLOPT) -c $(COMPFLAGS) $<

.c.$(DO):
	$(BYTECC) $(DLLCCCOMPOPTS) $(CFLAGS) -c $<
	mv $*.$(O) $*.$(DO)

.c.$(SO):
	$(BYTECC) $(BYTECCCOMPOPTS) $(CFLAGS) -c $<
	mv $*.$(O) $*.$(SO)

depend:

graphics.cmo: graphics.cmi
graphics.cmx: graphics.cmi
draw.$(SO) draw.$(DO): libgraph.h
open.$(SO) open.$(DO): libgraph.h


syntax highlighted by Code2HTML, v. 0.9.1