# By default, this Makefile builds xsqlmenu for MySQL.  Uncomment the following
# line, or run make as "make DB=msql"
# DB=msql

# Also set XFORMSBASE to the place where your Xforms 0.84 distribution
# resides.

all: xsqlmenu

#XFORMSBASE = /opt/lib
XFORMSBASE = /usr/X11R6/lib
ifeq (${DB},msql)
# Set MSQLBASE to the place where your MiniSQL distribution resides !
#MSQLBASE = /opt/lib/Hughes
MSQLBASE = /usr/local/Hughes
else
MYSQLPREFIX = /usr
endif

ifeq (${DB},msql)
CFLAGS  = -O -Wall -I$(MSQLBASE)/include
LDFLAGS = -L $(MSQLBASE)/lib -lmsql -L$(XFORMSBASE) -lforms -lXpm \
          -L/usr/X11R6/lib -lX11 -lm
LDSTATICFLAGS= -L $(MSQLBASE)/lib -lmsql $(XFORMSBASE)/libforms.a \
          $(XFORMSBASE)/libXpm.a -L/usr/X11R6/lib -lX11 -lm
.msql:
	touch .msql
	rm -f .mysql
	make clean
TYPE=.msql
else
CFLAGS  = -O -Wall -I$(MYSQLPREFIX)/include/mysql -DUSE_MYSQL
LDFLAGS = -L $(MYSQLPREFIX)/lib/mysql -lmysqlclient -L$(XFORMSBASE) -lforms \
	-lXpm -L/usr/X11R6/lib -lX11 -lm
LDSTATICFLAGS= -L $(MYSQLPREFIX)/lib/mysql -lmysqlclient $(XFORMSBASE)/libforms.a \
          $(XFORMSBASE)/libXpm.a -L/usr/X11R6/lib -lX11 -lm
.mysql:
	touch .mysql
	rm -f .msql
	make clean
TYPE=.mysql
endif

XSQLMENU.OBJ = Xsql.o XsqlHelpers.o XsqlDialog.o XsqlMain.o
RECORD.OBJ   = RecordForm.o RecordModify.o RecordInsert.o RecordSearch.o
SHOWER.OBJ   = ShowerForm.o ShowFields.o ShowSQLQuery.o

xsqlmenu: $(XSQLMENU.OBJ) $(RECORD.OBJ) $(SHOWER.OBJ)
	$(CC) $(CFLAGS) $(XSQLMENU.OBJ) $(RECORD.OBJ) $(SHOWER.OBJ) \
	-o $@ $(LDFLAGS)

xsqlmenu.static: xsqlmenu
	$(CC) $(CFLAGS) $(XSQLMENU.OBJ) $(RECORD.OBJ) $(SHOWER.OBJ) \
	-o $@ $(LDSTATICFLAGS)

$(XSQLMENU.OBJ): Xsqldefs.h Xsql.h version.h $(TYPE)
$(RECORD.OBJ):   Recorddefs.h Xsqldefs.h Xsql.h $(TYPE)
$(SHOWER.OBJ):   Xsqldefs.h Xsql.h $(TYPE)

statictar: xsqlmenu xsqlmenu.static
	mkdir xsqlmenu.linux.bin
	cp xsqlmenu xsqlmenu.static xsqlmenu.README xsqlmenu.lsm CHANGES \
	xsqlmenu.linux.bin/
	tar -cvf - xsqlmenu.linux.bin | gzip -c > xsqlmenu.LinuxBin.tar.gz
	rm -rf xsqlmenu.linux.bin

clean:
	rm -f *.o *~
