##########################################################################
#                   Cameleon                                             #
#                                                                        #
#      Copyright (C) 2002 Institut National de Recherche en Informatique et   #
#      en Automatique. All rights reserved.                              #
#                                                                        #
#      This program is free software; you can redistribute it and/or modify  #
#      it under the terms of the GNU General Public License as published by  #
#      the Free Software Foundation; either version 2 of the License, or  #
#      any later version.                                                #
#                                                                        #
#      This program 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 General Public License for more details.                      #
#                                                                        #
#      You should have received a copy of the GNU General Public License  #
#      along with this program; if not, write to the Free Software       #
#      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA          #
#      02111-1307  USA                                                   #
#                                                                        #
#      Contact: Maxence.Guesdon@inria.fr                                #
##########################################################################


include ../master.Makefile

OCAMLPP = 
EXE=example
EXE_OPT=$(EXE).opt

LINKFLAGS= 
LINKFLAGS_OPT= 

LIB_CMOFILES=sqlstx.cmo \
	helper_lp.cmo \
	parser.cmo \
	lexer.cmo \
	pp.cmo \
	sqml.cmo

LIB_CMIFILES=$(LIB_CMOFILES:.cmo=.cmi)
LIB_CMXFILES=$(LIB_CMOFILES:.cmo=.cmx)

LIB_SQML_CMI=$(LIB_SQML:.cma=.cmi)
LIB_SQML_A=$(LIB_SQML_OPT:.cmxa=.a)

EXE_CMOFILES=$(CMOFILES) test.ml
EXE_CMIFILES=$(EXE_CMOFILES:.cmo=.cmi)
EXE_CMXFILES=$(EXE_CMOFILES:.cmo=.cmx)


byte: $(LIB_SQML) $(EXE)
all: byte opt
opt: $(LIB_SQML_OPT) $(EXE_OPT)
debug: 
	$(MAKE) OCAMLPP=""

$(LIB_SQML): $(LIB_CMIFILES) $(LIB_CMOFILES)
	$(OCAMLC) -a -custom -o $@ $(LINKFLAGS) $(LIB_CMOFILES)

$(LIB_SQML_OPT): $(LIB_CMIFILES) $(LIB_CMXFILES)
	$(OCAMLOPT) -a -o $@ $(LINKFLAGS_OPT) $(LIB_CMXFILES)

$(EXE):$(EXE_CMIFILES) $(EXE_CMOFILES)
	$(OCAMLC) -o $@ $(INCLUDES) $(LIB_SQML) $(EXE_CMOFILES)

$(EXE_OPT):$(EXE_CMIFILES) $(EXE_CMXFILES)
	$(OCAMLOPT) -o $@ $(INCLUDES) $(LIB_SQML_OPT) $(EXE_CMXFILES)

# installation :
################
install:
	$(MKDIR) $(LIBDIR)
	$(MKDIR) $(BINDIR)
	$(CP) $(LIB_SQML) $(LIB_SQML_CMI) $(LIBDIR)
	if test -f $(LIB_SQML_OPT) ; then $(MAKE) installopt ; fi

installopt:
	$(MKDIR) $(LIBDIR)
	$(MKDIR) $(BINDIR)
	$(CP) $(LIB_SQML_OPT) $(LIB_SQML_CMI) $(LIB_SQML_A) $(LIBDIR)

# Documentation :
#################
dump.odoc: dummy
	$(OCAMLDOC) $(OCAMLPP) $(COMPFLAGS) -dump dump.odoc *.ml *.mli

doc: dump.odoc



# backup, clean and depend :
############################

clean::
	@rm -f *~ \#*\#
	@rm -f $(LIB_SQML) $(LIB_SQML_OPT) $(EXE) $(EXE_OPT)
	@rm -f *.cmo *.cmi *.cmx *.a *.o parser.output 
	@rm -f dump.odoc

distclean:: clean

.depend depend::
	$(OCAMLDEP) *.ml *.mli *.mll *.mly > .depend

dummy:

include .depend
