#*********************************************************************#
#                                                                     #
#                           Objective Caml                            #
#                                                                     #
#            Pierre Weis, projet Cristal, INRIA Rocquencourt          #
#                                                                     #
#  Copyright 2000 Institut National de Recherche en Informatique et   #
#  en Automatique.  Distributed only by permission.                   #
#                                                                     #
#*********************************************************************#

LIBDIR=/usr/local/lib/ocaml/
SOURCES= ppm.ml pixels.ml
OBJS=$(SOURCES:.ml=.cmo)
OPTOBJS=$(SOURCES:.ml=.cmx)

CAMLDEP=ocamldep
CAMLC=ocamlc
CAMLOPT=ocamlopt

all: $(OBJS)

allopt: $(OBJS) $(OPTOBJS)

opt: $(OPTOBJS)

install:
	cp -p ppm.cm* $(LIBDIR)
	cp -p ppm.mli $(LIBDIR)

# For developpers only
VERSION=1.0
PPM=./ppm-$(VERSION)
TGT=/net/pauillac/infosystems/ftp/cristal/caml-light/bazar-ocaml
distrib:
	/bin/rm -rf $(PPM)
	mkdir $(PPM)
	cp ppm.ml* $(PPM)/
	cp pixels.ml* $(PPM)/
	cp README $(PPM)/
	cp INSTALL $(PPM)/
	cp Makefile $(PPM)/
	cp ./.depend $(PPM)/
	tar cvf $(PPM).tar $(PPM)/
	gzip $(PPM).tar
	/bin/rm -rf $(PPM)
	mv $(PPM).tar.gz $(TGT)/


.SUFFIXES:
.SUFFIXES: .ml .mli .cmo .cmi .cmx .mll .mly

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

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

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

.mll.cmo:
	$(CAMLLEX) $<
	$(CAMLC) -c $*.ml

.mll.cmx:
	$(CAMLLEX) $<
	$(CAMLOPT) -c $*.ml

.mly.cmo:
	$(CAMLYACC) $<
	$(CAMLC) -c $*.mli
	$(CAMLC) -c $*.ml

.mly.cmx:
	$(CAMLYACC) $<
	$(CAMLOPT) -c $*.mli
	$(CAMLOPT) -c $*.ml

.mly.cmi:
	$(CAMLYACC) $<
	$(CAMLC) -c $*.mli

.mll.ml:
	$(CAMLLEX) $<

.mly.ml:
	$(CAMLYACC) $<

clean:
	/bin/rm -f *.cm[xio] *~ *.o

.depend:
	$(CAMLDEP) *.mli *.ml > .depend

depend:
	$(CAMLDEP) *.mli *.ml > .depend

include .depend
