# BUSH - Business Shell Makefile

#LIBS="-L/usr/local/pgsql/lib"
#LIBS=-L`pg_config --libdir` -L./apq-1.92/ -lpq -lapq
LIBS=-L./apq-2.1/ -lpq -lapq

all: c_os.o apq-2.1/Makeincl
	@echo
	@echo "---------------------------------------------------------------"
	@echo "  BUSH - Business Shell"
	@echo "---------------------------------------------------------------"
	@echo
	@echo "---------------------------------------------------------------"
	@echo "  Making AdaCGI"
	@echo "    http://www.dwheeler.com/adacgi"
	@echo "---------------------------------------------------------------"
	@echo
	gmake -C adacgi-1.6
	@echo
	@echo "---------------------------------------------------------------"
	@echo "  Making AdaVOX (Wav/AU Player)"
	@echo "    http://home.cogeco.ca/~ve3wwg"
	@echo "---------------------------------------------------------------"
	@echo
	gmake -C ADAVOX-0.51
	@echo
	@echo "---------------------------------------------------------------"
	@echo "  Making APQ (PostgreSQL/MySQL DBI)"
	@echo "    http://home.cogeco.ca/~ve3wwg"
	@echo "---------------------------------------------------------------"
	@echo
	gmake -C apq-2.1/
	@echo
	@echo "---------------------------------------------------------------"
	@echo " Making BUSH"
	@echo "   http://www.pegasoft.ca/bush.html"
	@echo "---------------------------------------------------------------"
	@echo
	gnatmake -c -i -O1 -gnatfaon -fstack-check -c -I./adacgi-1.6/ -I./apq-2.1/ -I./ADAVOX-0.51/bc -I./ADAVOX-0.51/wc -I./ADAVOX-0.51/main bush
	gnatbind -x -I./adacgi-1.6/ -I./apq-2.1/ -I./ADAVOX-0.51/bc -I./ADAVOX-0.51/wc -I./ADAVOX-0.51/main bush.ali
	gnatlink bush.ali ./ADAVOX-0.51/wc/cglue.o c_os.o $(LIBS)
	@echo
	@echo "---------------------------------------------------------------"
	@echo "  Thanks for choosing BUSH"
	@echo "---------------------------------------------------------------"
	@echo

c_os.o:	c_os.c
	cc -O -Wall -c c_os.c

apq-2.1/Makeincl:
	@echo "---------------------------------------------------------------"
	@echo "  Configuring APQ Library"
	@echo "---------------------------------------------------------------"
	./apq-2.1/configure
	mv -f Makeincl apq-2.1/Makeincl

freebsd:
	cp bush_freebsd.ads bush_os.ads
	@echo "Type  make all"
linux:
	cp bush_linux.ads bush_os.ads
	@echo "Type  make all"

hp:
	cp bush_hp.ads bush_os.ads
	cp bush_hp.adb bush_os.adb
	@echo "Type  make all"

max: clean c_os.o
	@echo
	@echo "---------------------------------------------------------------"
	@echo "Making AdaCGI"
	@echo "---------------------------------------------------------------"
	@echo
	gmake -C adacgi-1.6
	@echo
	@echo "---------------------------------------------------------------"
	@echo "Making AdaVOX"
	@echo "---------------------------------------------------------------"
	@echo
	gmake -C ADAVOX-0.51
	@echo
	@echo "---------------------------------------------------------------"
	@echo "  Making APQ (PostgreSQL/MySQL DBI)"
	@echo "    http://home.cogeco.ca/~ve3wwg"
	@echo "---------------------------------------------------------------"
	@echo
	gmake -C apq-2.1/
	@echo
	@echo "---------------------------------------------------------------"
	@echo "Making BUSH"
	@echo "---------------------------------------------------------------"
	@echo
	gnatmake -c -i -O3 -gnatf -gnatn -gnatp -ffast-math -c -I./adacgi-1.6/ -I./apq-2.1/ -I./ADAVOX-0.51/bc -I./ADAVOX-0.51/wc -I./ADAVOX-0.51/main bush
	gnatbind -x -I./adacgi-1.6/ -I./apq-2.1/ -I./ADAVOX-0.51/bc -I./ADAVOX-0.51/wc -I./ADAVOX-0.51/main bush.ali
	gnatlink bush.ali ./ADAVOX-0.51/wc/cglue.o c_os.o $(LIBS)

clean:
	gmake -C adacgi-1.6 clean
	gmake -C apq-2.1 clean
	gmake -C ADAVOX-0.51 clean
	rm -f *.o *.ali t.t t.bush core bush.zip bush

test:	all
	@echo "---------------------------------------------------------------"
	@echo "  RUNNING TESTSUITE"
	@echo "---------------------------------------------------------------"
	(cd testsuite; sh test.sh)

zip:
	rm -f bush_os.ads bush_os.adb
	zip -9r bush README INSTALL COPYING TODO Makefile *.html *.ads *.adb *.c *.adp *.txt *.bak *.hp *.linux examples doc testsuite adacgi-1.6 apq-2.1 ADAVOX-0.51

srczip:
	chmod 440 bush_linux.ads
	chmod 440 bush_hp.ads
	chmod 440 bush_hp.adb
	rm -f bush_os.ads
	zip -9r bush README INSTALL COPYING TODO Makefile *.ads *.adb *.c *.adp examples doc testsuite adacgi-1.6 apq-2.1 ADAVOX-0.51

srctar:
	chmod 440 bush_linux.ads
	chmod 440 bush_hp.ads
	chmod 440 bush_hp.adb
	rm -f bush_os.ads
	tar cfvz bush.tgz README INSTALL COPYING TODO Makefile *.ads *.adb *.c *.adp examples doc testsuite adacgi-1.6 apq-2.1 ADAVOX-0.51
	@echo "Don't forget to unpack and repack under a descriptive directory"

bintar: c_os.o all
	gnatbind -x -I./adacgi-1.6/ -I./apq-2.1/ -I./ADAVOX-0.51/bc -I./ADAVOX-0.51/wc -I./ADAVOX-0.51/main bush.ali
	gnatlink -static bush.ali ./ADAVOX-0.51/wc/cglue.o c_os.o $(LIBS)
	rm -f bush_tgz
	tar cfvz bush.tgz bush README COPYING examples doc Makefile
	@echo "Don't forget to unpack and repack under a descriptive directory"

install:
	install --mode=555 bush /usr/local/bin/bush

uninstall:
	rm /usr/local/bin/bush

help:
	@echo "First you need one of these"
	@echo "  freebsd - configure for FreeBSD/Intel"
	@echo "  hp      - configure for HP-UX (obsolete)"
	@echo "  linux   - configure for Linux/Intel"
	@echo "Then you can make"
	@echo "  all     - (default) normal build"
	@echo "  max     - maximum performance, minimum error checks"
	@echo "  install - install bush binary file in /usr/local/bin"
	@echo "  uninstall remove bush binary file in /usr/local/bin"
	@echo "  clean   - remove temporary and binary files"
	@echo "  test    - make all, then run test.bush script"
	@echo "  zip     - create a .zip source archive with important files"
	@echo "  srczip  - create a .zip source archive to share with others"
	@echo "  srctar  - create a .tgz source archive to share with others"
	@echo "  bintar  - create a tgz of binary files to share with others"


