## ----------------------------------------------------------------------------
##                                                                           --
##                      GNADE  : GNu Ada Database Environment                --
##
##  Filename        : $Source: /var/cvs/gnuada/gnade/esql/Makefile,v $
##  Description     : Makefile for the ESQL Translator
##  Author          : Michael Erdmann
##  Created On      : 22-Dec-2000
##  Last Modified By: $Author: jp $
##  Last Modified On: $Date: 2001/08/08 20:10:12 $
##  Status          : $State: Exp $
##
##  Copyright (C) 2000-2001
##
##  GNADE is free software;  you can redistribute it  and/or modify it under --
##  terms of the  GNU General Public License as published  by the Free Soft- --
##  ware  Foundation;  either version 2,  or (at your option) any later ver- --
##  sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
##  OUT 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  distributed with GNAT;  see file COPYING.  If not, write --
##  to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
##  MA 02111-1307, USA.                                                      --
##                                                                           --
##  As a special exception,  if other files  instantiate  generics from      --
##  GNADE Ada units, or you link GNADE Ada units or libraries with other     --
##  files  to produce an executable, these  units or libraries do not by     --
##  itself cause the resulting  executable  to  be covered  by the  GNU      --
##  General  Public  License.  This exception does not however invalidate    --
##  any other reasons why  the executable file  might be covered by the      --
##  GNU Public License.                                                      --
##                                                                           --
##  GNADE is implemented to work with GNAT, the GNU Ada compiler.            --
##                                                                           --
## ----------------------------------------------------------------------------
##
##  Functional Description
##  ======================
##  This makefile builds the esql translator and exports the support components
##  for the esql translator.
##
##  make       - build all
##  make label - rebuild only the main pro. with the current release 
##               string.
##
##  Restrictions
##  ============
##  None
##
##  References
##  ==========
##  None
##
sinclude ../make.conf

ADAFLAGS = -a -I$(ADAINCLUDE) -g -gnatf
ESQLVERS = $(GNADE_MAJOR).$(GNADE_MINOR).$(GNADE_PATCHLEVEL)


## ------------------------------------------------------------------------- #
##                        E X E C U T A B L E S		                     #
## ------------------------------------------------------------------------- #
all ::	$(bindir)/$(esql)

$(bindir)/$(esql) : $(esql)
	$(CP) $(esql) $@
	chmod 0755 $@

support :								\
	gnu-db-esql_support.o						\
	gnu-db-esql_support-odbc.o					\
	sql_standard.o

sql_standard.o : sql_standard.ads
	$(ADA) -c $(ADAFLAGS) $*.ads $(CFLAGS)	
	$(CP) $*.ad[sb] $(ADAINCLUDE)
	$(CP) $*.ali $(ADALIB)
	$(CP) $*.o $(ADALIB)

gnu-db-esql_support.o: gnu-db-esql_support.adb gnu-db-esql_support.ads
	$(ADA) -c $(ADAFLAGS) $*.adb $(CFLAGS)	
	$(CP) $*.ad[sb] $(ADAINCLUDE)
	$(CP) $*.ali $(ADALIB)
	$(CP) $*.o $(ADALIB)

gnu-db-esql_support-odbc.o: 						\
	gnu-db-esql_support-odbc.adb gnu-db-esql_support-odbc.ads	\
	gnu-db-esql_support.ads
	$(ADA) -c $(ADAFLAGS) $*.adb $(CFLAGS)	
	$(CP) $*.ad[sb] $(ADAINCLUDE)
	$(CP) $*.ali $(ADALIB)
	$(CP) $*.o $(ADALIB)

## ------------------------------------------------------------------------ #
##               E M B E D D E D    S Q L    T R A N S L A T O R            #
## ------------------------------------------------------------------------ #

gesql.adb: gesql.gpb ../VERSION
	$(ADAPREP) -DVersion=\"$(ESQLVERS)\" gesql.gpb gesql.adb

$(esql) : support gesql.adb 			\
	scanner.adb scanner.ads 		\
	driver.adb driver.ads 			\
	esql_parser.ads esql_parser.adb 	\
	options.ads
	$(ADAMAKE) $(ADAFLAGS) -o $@ gesql.adb -cargs $(CFLAGS) \
		$(APP_BIND_FLAGS) $(APP_LINK_FLAGS) -largs

# ------------------------------------------------------------------------- #
#               THINGS TO DO FOR A DISTIRBUTION PACKAGE                     #
# ------------------------------------------------------------------------- #
dist:
	rm -f main.adb
	$(MAKE) esql

# ------------------------------------------------------------------------- #
#                    C L E A N   T H E   D I R E C T O R Y                  #
# ------------------------------------------------------------------------- #
clean:
	rm -rf  b~*.* *.o *.ali core esql simple.adb *~
	rm -f gesql.adb gesql
	rm -f $(bindir)/gesql 
	rm -f $(ADAINCLUDE)/sql_standard.ads
	rm -f $(ADAINCLUDE)/gnu-db-esql_support.ad[bs] 
	rm -f $(ADALIB)/gnu-db-esql_support.o \
	      $(ADALIB)/gnu-db-esql_support.ali 

distclean :: clean
