## ----------------------------------------------------------------------------
##                                                                           --
##                      GNADE  : GNu Ada Database Environment                --
##                                                                           --
##  Filename        : $Source: /cvsroot/gnade/gnade/test/odbc_vs_mysql/Makefile,v $
##  Description     : Makefile for the embedded SQL samples
##  Author          : Michael Erdmann <michael.erdmann@snafu.de>
##  Created On      : 27-Jan-2001
##  Last Modified By: $Author: me $
##  Last Modified On: $Date: 2001/11/12 20:41:49 $
##  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.
##
##  all       : builds all binaries
##  clean     : remove all binaries and objects
##  newdb     : builds a new data base
##  distclean : clean up completely
##
##  Restrictions
##  ============
##
##  References
##  ==========
##
sinclude ../conf.local
sinclude ../../make.conf

.SUFFIXES: .adb .adq
#
# run the ebedded sql translator
#
.adq.adb:

ESQLFLAGS = $(DEBUG) -v -s -pedantic -schema test.sql $(FLAGS)
# use always the local esql translator
ESQL=$(bindir)/$(esql)

PROGRAMS=test_mysql test_odbc
DBNAME=ottodb

MYSQL_LIBS=-L/usr/lib/mysql -ladamysql -lmysqlclient
#
all :: newdb $(PROGRAMS)

DBPASSWD=""

# ------------------------------------------------------------------------- #
#                         E X E C U T A B L E S                             #
# ------------------------------------------------------------------------- #
test_mysql.adb: test_mysql.gpb
	$(ADAPREP) -DDBNAME=\"$(DBNAME)\" 	\
		   -DDBUSER=\"$(DBUSER)\"   	\
		   -DDBPASSWD=\"$(DBPASSWD)\"   \
		   test_mysql.gpb test_mysql.adb

test_mysql: test_mysql.adb
	$(ADAMAKE) -o test_mysql  $(ADAFLAGS) test_mysql.adb  -cargs $(CFLAGS) \
		$(APP_BIND_FLAGS) $(APP_LINK_FLAGS_NOLIB) -largs $(MYSQL_LIBS)

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


test_odbc: test_odbc.gpq
	$(ADAPREP) -DDBUSER=\"$(DBUSER)\" 		\
		-DDBPASSWD=\"$(DBPASSWD)\" 		\
		-DDBSOURCE=\"$(DBNAME)\"		\
	         test_odbc.gpq test_odbc.adq
	$(ESQL) $(ESQLFLAGS) test_odbc.adq
	$(ADAMAKE) test_odbc.adb -o test_odbc $(ADAFLAGS) -g $(CFLAGS) \
		$(APP_BIND_FLAGS) $(APP_LINK_FLAGS) -largs
#
# ------------------------------------------------------------------------- #
#                             D A T A B A S E                               #
# ------------------------------------------------------------------------- #
# Build the data base
newdb: $(DBNAME).log

# create the data base
$(DBNAME).log: dbinstall.sql
	mysqladmin -u $(DBUSER)  create $(DBNAME)
	mysql -u gnade $(DBNAME) < dbinstall.sql 
	touch $(DBNAME).log

# ------------------------------------------------------------------------- #
#                    C L E A N   T H E   D I R E C T O R Y                  #
# ------------------------------------------------------------------------- #
clean:
	- mysqladmin -u $(DBUSER)  -f drop $(DBNAME)
	rm -f $(DBNAME).log
	rm -rf $(PROGRAMS) b~*.* *.o *.ali core test_odbc.adb test_mysql.adb *~ *.log

distclean :: clean 

