############  BEGIN Things you may have to change ########## 

# The main gcl source directory.   Expects to find $(GCLDIR)/o/*.o etc.
# and it will put saved_xgcl in $(GCLDIR)/unixport/saved_xgcl
GCLDIR	= /u/mann/Software/gcl-2.2
#GCLDIR	= /usr/local/lib/gcl-2.2
#GCLDIR = /tsotsos2/share/gcl-2.2

# The current directory:
#SYSDIR	= /home/mann/LSP/GCL-GL
SYSDIR	= /h/g/mann/LSP/GCL-GL

# Way to get xlibraries (and GL).  Choose one of the following:

# Solaris (I have my own copy of the Mesa library. Also need socket and nsl.)
X_LIBS	= -L/u/mann/Software/Mesa/lib -lMesaGLU -lMesaGL -L/local/X11/lib -lXaw -lXmu -lXt -lXext -lX11 -lsocket -lnsl
IFLAGS = -I/local/X11/include

# Linux (Mesa library installed in /usr/local/lib)
#X_LIBS	= -L/usr/local/lib -lMesaGLU -lMesaGL -L/usr/X11/lib -lXaw -lXmu -lXt -lXext -lX11
#IFLAGS =

# SGI (Uses real OpenGL)
#X_LIBS	= -lGLU -lGL -lXaw -lXmu -lXt -lXext -lX11
#IFLAGS =

############  END Things you may have to change ############### 

SYSTEM=xgcl

# How to invoke gcl
LISP	= $(GCLDIR)/unixport/saved_gcl $(GCLDIR)/unixport/

SRC	= .
PORTDIR	=$(GCLDIR)/unixport

CFLAGS = -c $(DEFS)  -I../h $(STD_DEFINES) $(IFLAGS) -O

C_OBJS=$(SYSDIR)/xlib-bindings-c.o $(SYSDIR)/misc-bindings-c.o

all:  $(C_OBJS)  command
	echo '(load "sysdef.lsp")(setq si::*multiply-stacks* 10)'\
	'(compile-files)' | $(LISP)
	make save
	rm -f $(PORTDIR)/raw_$(SYSTEM)

save:
	(cd $(PORTDIR) ; make saved_$(SYSTEM) "INIT_SYSTEM_LSP=init_gcl.lsp" "SYSTEM=$(SYSTEM)" "SYSTEM_OBJS=`cat $(SYSDIR)/lisp_objs` $(C_OBJS) " "LIBSYSTEM= $(X_LIBS) " "PORTDIR=$(PORTDIR)")
	rm -f $(PORTDIR)/raw_$(SYSTEM)

command:
	echo $(PORTDIR)/saved_$(SYSTEM) $(PORTDIR)/ > $(SYSTEM)
	chmod a+x $(SYSTEM)

clean:
	rm -f *.data
	rm -f *.o
	rm -f $(SYSTEM)
	rm -f lisp_objs

############   the C code ###############

$(SYSDIR)/xlib-bindings-c.o:
	$(CC) -c xlib-bindings-c.c  $(CFLAGS)

$(SYSDIR)/misc-bindings-c.o:
	$(CC) -c misc-bindings-c.c  $(CFLAGS)
