# Generated automatically from TopMakefile.in by configure.
#
# sample Makefile for Objective Caml
# Copyright (C) 2001 Jean-Christophe FILLIATRE
# 
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License version 2, as published by the Free Software Foundation.
# 
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# 
# See the GNU Library General Public License version 2 for more details
# (enclosed in the file LGPL).

# where to install the binaries
prefix=/usr/local
exec_prefix=${prefix}
BINDIR=${exec_prefix}/bin
LIBDIR=/usr/lib/

# where to install the man page
MANDIR=${prefix}/man

# other variables set by ./configure
OCAMLFIND_COMMANDS = "ocamlc=ocamlc.opt \
	ocamlopt=ocamlopt.opt \
	ocamldep=ocamldep"
OCAMLC   = ocamlfind ocamlc 
OCAMLOPT = ocamlfind ocamlopt
OCAMLDEP = ocamlfind ocamldep
OCAMLBEST = opt
OCAMLVERSION = 3.08.2
OCAMLWIN32 = no
OCAMLFIND = ocamlfind
OCAMLP4 = camlp4
OCAMLMKLIB = ocamlmklib
CAMLIDL= camlidl
EXE = 

ifdef REQUIRES
CLI_REQUIRES = -package "$(REQUIRES)"
endif

ifdef PREDICATES
CLI_PREDICATES = -predicates "$(PREDICATES)"
endif

ifdef SYNTAX 
CLI_SYNTAX = -syntax $(SYNTAX)
endif

CLI_OCAMLFIND = $(CLI_REQUIRES) $(CLI_PREDICATES) $(CLI_SYNTAX)

TEMPBUILDLIB=/home/jnarboux/geocaml/drgeocaml/lib/libgettext-ocaml-0.1/.libs
OCAMLPATH:=$(TEMPBUILDLIB)/:$(OCAMLPATH)
export OCAMLPATH

all: $(STUBSLIB) $(if $(LIBRARY), install-buildlib, $(OCAMLBEST))

CMX = $(patsubst dll%.so, lib%.a, $(CMO:.cmo=.cmx))

GENERATED = version.ml 

byte: $(if $(LIBRARY), $(NAME).cma, $(NAME).byte)
opt: $(if $(LIBRARY), $(NAME).cmxa, $(NAME).opt)

# Build the lib

$(NAME).cmxa $(NAME).cma: $(CMX) $(CMO) $(NAME)_stubs.o
	$(OCAMLMKLIB) -o $(NAME) $(NAME)_stubs.o $(CMO) $(CMX) \
	$(STUBSOBJS)

$(TEMPBUILDLIB):
	mkdir $(TEMPBUILDLIB)

install-buildlib: $(TEMPBUILDLIB) byte opt META
	$(OCAMLFIND) remove -ldconf ignore -destdir $(TEMPBUILDLIB) $(NAME) 
	$(OCAMLFIND) install -ldconf ignore -destdir $(TEMPBUILDLIB) $(NAME) $(INSTALLIB)

install-lib: byte opt META
	$(OCAMLFIND) install -destdir $(LIBDIR) $(NAME) $(INSTALLIB)

uninstall-lib:
	$(OCAMLFIND) remove -destdir $(LIBDIR) $(NAME)

# Build the executable

BLIBS = $(addsuffix .cma,$(LIBS))

$(NAME).byte: $(CMO)
	$(OCAMLC) -o $(NAME).byte $(INCLUDES) -package "$(REQUIRES)" -linkpkg \
	-predicates "$(PREDICATES)" $(BLIBS) $(CMO)

OLIBS = $(addsuffix .cmxa,$(LIBS))

$(NAME).opt: $(CMX)
	$(OCAMLOPT) -o $(NAME).opt $(INCLUDES) -package "$(REQUIRES)" -linkpkg \
	-predicates "$(PREDICATES)" $(OLIBS) $(CMX)


# Extra files

VERSION=0.1

version.ml: 
	echo "let version = \""$(VERSION)"\"" > version.ml
	echo "let date = \""`date`"\"" >> version.ml

META:
	echo "requires = \""$(REQUIRES)"\"" > META
	echo "version = \""$(VERSION)"\"" >> META
	echo "predicates = \""$(PREDICATES)"\"" >> META
	echo "archive(byte) = \""$(NAME).cma"\"" >> META
	echo "archive(native) = \""$(NAME).cmxa"\"" >> META
	

.SUFFIXES: .mli .ml .cmi .cmo .cmx .mll .mly .zog .idl .h .o

%.ml %.mli %.h %_stubs.c: %.idl
	$(CAMLIDL) -no-include $<

.c.o:
	$(OCAMLC) $(INCLUDES) -c $<	

.mli.cmi:
	$(OCAMLC) $(INCLUDES) $(CLI_OCAMLFIND) -c $<

.ml.cmo:
	$(OCAMLC) $(INCLUDES) $(CLI_OCAMLFIND) -c $<

.ml.o:
	$(OCAMLOPT) $(INCLUDES) $(CLI_OCAMLFIND) -c $<
	
.ml.cmx:
	$(OCAMLOPT) $(INCLUDES) $(CLI_OCAMLFIND) -c $<
	
.mll.ml:
	$(OCAMLLEX) $<

.mly.ml:
	$(OCAMLYACC) -v $<

.mly.mli:
	$(OCAMLYACC) -v $<
	
.zog.ml:
	$(OCAMLP4) pa_o.cmo pa_zog.cma  pr_o.cmo -impl $< > $@
	
clean::
	rm -f *.cm[iox] *.o *~
	rm -f $(GENERATED) parser.output
	rm -f $(NAME).byte $(NAME).opt
	rm -f $(NAME).cma $(NAME).cmxa
	rm -f $(NAME).a

dist-clean distclean:: clean
	rm -f TopMakefile Makefile config.cache config.log config.status

.depend depend:: $(GENERATED)
	rm -f .depend
	$(OCAMLDEP) $(INCLUDES) $(CLI_REQUIRES) $(CLI_SYNTAX) *.ml *.mli > .depend

include .depend
