#
# ******************************
# *  PORTABLE AI LAB - UNI ZH  *
# ******************************
#
# Filename:   Makefile
# Short Desc: Compile & build the pAILab interface
# Version:    1.2
# Status:     ok
# Last Mod:   Sept 1, 1991
# Author:     na
# ---------------------------------------------------------------

#################################################################
#	All site specific pathnames are defined here		#
#################################################################

# The main directory where the pAILab software is located

PAILDIR     = /home/pail
BITMAPDIR   = $(PAILDIR)/bitmaps

# The directory for the source files of the GIN interface 

SOURCEDIR   = $(PAILDIR)/pail-lib/acl-gin
EXAMPLEDIR  = $(PAILDIR)/pail-lib/acl-gin/examples

# the Allegro CL image pathname

CL	= clx4.1

# You shouldn't need to change these pathnames...

ECHO	= /bin/echo
RM	= /bin/rm
TAR	= /usr/bin/tar
AWK	= /bin/awk

#################################################################
#	This ends the site specific section of the Makefile	#
#################################################################

# The options for Common Lisp: -qq supresses the loading of the
# default startup file ~/.clinit.cl

CLOPTS	= -qq

PAILLIB   = $(PAILDIR)/pail-lib/pail-lib.cl

SOURCES = gin.cl   menu.cl   bar.cl   select-button.cl   text-scroller.cl   help.cl   scroll-display.cl
FASLS	= gin.fasl menu.fasl bar.fasl select-button.fasl text-scroller.fasl help.fasl scroll-display.fasl

EXAMPLES   = $(EXAMPLEDIR)/pop-up-button.cl	  $(EXAMPLEDIR)/help-button.cl  \
	     $(EXAMPLEDIR)/radio-button.cl	  $(EXAMPLEDIR)/push-button.cl  \
	     $(EXAMPLEDIR)/select-button.cl	  $(EXAMPLEDIR)/make-display.cl \
	     $(EXAMPLEDIR)/make-scroll-display.cl $(EXAMPLEDIR)/draw-display.cl

BITMAPS = $(BITMAPDIR)/up \
	  $(BITMAPDIR)/down \
	  $(BITMAPDIR)/pail-logo \
	  $(BITMAPDIR)/pail-icon


all:	$(SOURCES) ;
	cd $(SOURCEDIR)
	for i in $(SOURCES) ;\
		do $(ECHO) $$i ;\
	done | $(AWK) 'BEGIN { print "(defpackage :cw-examples (:use :common-lisp :cw) (:nicknames :cwex))"; \
			       print "(defpackage :gin (:use :common-lisp :cw-examples) (:nicknames :gi))"; \
			       print "(defpackage :pail-lib (:use :common-lisp :gin))"; \
			       print ":ld $(PAILLIB)"; \
			       print "(export (defparameter pail-lib::*pail-path* (make-pathname :directory \"$(PAILDIR)\")) :pail-lib)"; \
			       print "(excl:chdir \"$(SOURCEDIR)\")"; \
			       print ":ld gin.cl" } \
	 { printf "(compile-file-if-needed \"%s\")", $$0}' - | $(CL) $(CLOPTS) -batch
#	mv -f $(PAILDIR)/pail-lib/acl-gin.fasl $(PAILDIR)/pail-lib/acl-gin.fasl~
	cat $(FASLS) > $(PAILDIR)/pail-lib/acl-gin.fasl

clean:
	$(RM) -f core $(FASLS)

fresh:
	for i in $(SOURCES) ;\
		do touch $$i ;\
	done

tar:	$(SOURCES) ;
	cd $(PAILDIR);\
	$(TAR) -cvf pail-lib/acl-gin/GIN.tar `for i in $(SOURCES) ;\
		do $(ECHO) pail-lib/acl-gin/$$i ;\
	done | $(AWK) 'BEGIN { print "bitmaps"; \
			       print "pail-lib/pail-lib.cl"; \
			       print "pail-lib/acl-gin/HELP"; \
			       print "pail-lib/acl-gin/README"; \
			       print "pail-lib/acl-gin/Changes*"; \
			       print "pail-lib/acl-gin/Makefile"; \
			       print "pail-lib/acl-gin/*.old"; \
			       print "pail-lib/acl-gin/Bugs"; \
			       print "pail-lib/acl-gin/examples"; } \
	 { print $$0 }' -`; \
	compress  pail-lib/acl-gin/GIN.tar

cat:
#	cp $(PAILDIR)/pail-lib/acl-gin.fasl $(PAILDIR)/pail-lib/acl-gin.fasl~
	cat $(FASLS) > $(PAILDIR)/pail-lib/acl-gin.fasl
	

# --------------------------------------------------------------------------
# END OF FILE
# --------------------------------------------------------------------------
