## ----------------------------------------------------------------------------
##                                                                           --
##                      GNADE  : GNu Ada Database Environment                --
##                                                                           --
##  Filename        : $Source: /var/cvs/gnuada/gnade/samples/esql/Makefile,v $
##  Description     : Makefile for the embedded SQL samples
##  Author          : Juergen Pfeifer <juergen.pfeifer@gmx.net> 
##  Created On      : 03-Jan-2001
##  Last Modified By: $Author: me $
##  Last Modified On: $Date: 2001/10/28 11:41:11 $
##  Status          : $State: Exp $
##
##  Copyright (C) 2000-2001
##
##  GNADE is copyrighted by the persons and institutions enumerated in the   --
##  AUTHORS file. This file is located in the root directory of the          --
##  GNADE distribution.                                                      --
##                                                                           --
##  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 sample programs for embedded SQL.
##
##  Restrictions
##  ============
##  None
##
##  References
##  ==========
##  None
##
sinclude ../conf.local
sinclude ../../make.conf
#
ESQLFLAGS = $(DEBUG) -v -s -pedantic -schema test.sql $(FLAGS)

# use always the local esql translator
ESQL=$(bindir)/$(esql)

# all exported executable
PROGRAMS=attachment simple_pkg simple nobel_co dynamic

# ------------------------------------------------------------------------- #
#                    C O M P I L E R   R U L E S                            #
# ------------------------------------------------------------------------- #
.SUFFIXES: .adb .adq .gpq

# run the ebedded sql translator
.adq.adb:
	$(ESQL) $(ESQLFLAGS) $*.adq

# add the  connection information dep. on the configured data base 
.gpq.adq:
	$(ADAPREP) -DDBUSER=\"$(DBUSER)\" 		\
		   -DDBPASSWD=\"$(DBPASSWD)\" 		\
		   -DDBSOURCE=\"$(DBSOURCE)\"		\
	           $*.gpq $*.adq       

# ------------------------------------------------------------------------- #
#                         E X E C U T A B L E S                             #
# ------------------------------------------------------------------------- #

all :: $(PROGRAMS)

#
# simple test program implemented as package
#
simple_pkg.adq: simple_pkg.gpq

simple_pkg: main.adb simple_pkg.adb simple_pkg.ads
	$(ADAMAKE) main.adb -o simple_pkg $(ADAFLAGS) -g $(CFLAGS) \
		$(APP_BIND_FLAGS) $(APP_LINK_FLAGS) -largs

#
# the same test program as above, implemented as a simple procedure
# in the file.
#
simple.adq: simple.gpq

simple: simple.adb 
	$(ADAMAKE) -o simple -I../../esql $(ADAFLAGS) simple.adb -cargs $(CFLAGS) \
		$(APP_BIND_FLAGS) $(APP_LINK_FLAGS) -largs

#
# the same test program as above, implemented as a simple procedure
# in the file.
#
dynamic.adq: dynamic.gpq

dynamic: dynamic.adb 
	$(ADAMAKE) -o dynamic -I../../esql $(ADAFLAGS) dynamic.adb -cargs -g $(CFLAGS) \
		$(APP_BIND_FLAGS) $(APP_LINK_FLAGS) -largs


#
# the same test program as above, implemented as a simple procedure
# in the file.
#
attachment.adq: attachment.gpq
 
attachment: attachment.adb
	$(ADAMAKE) -o attachment -I../../esql $(ADAFLAGS) attachment.adb -cargs -g $(CFLAGS) \
		$(APP_BIND_FLAGS) $(APP_LINK_FLAGS) -largs
#
# small company data base demonstration
#
nobel.adq: nobel.gpq

nobel_co: nobel_co.adb nobel.adb nobel.ads
	$(ADAMAKE) -o nobel_co -I../../esql $(ADAFLAGS) nobel_co.adb -cargs $(CFLAGS) \
		$(APP_BIND_FLAGS) $(APP_LINK_FLAGS) -largs

# ------------------------------------------------------------------------- #
#                    C L E A N   T H E   D I R E C T O R Y                  #
# ------------------------------------------------------------------------- #

clean:
	rm -rf $(PROGRAMS) b~*.* *.o *.ali core simple.adb simple_pkg.adb nobel.adb *~
	rm -rf simple.adq simple_pkg.adq nobel.adq test.sql
	rm -rf dynamic.adq dynamic.adb

distclean :: clean

