############  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	= /tmp_mnt/v/sally/v1/novak/gcl-1.1

# The current directory:
SYSDIR	= /tmp_mnt/v/sally/v1/novak/gcl-1.1/xgcl-2
# way to get xlibraries:
X_LIBS	= -L/usr/local/X11R5/lib -lXaw -lXmu -lXt -lXext -lX11
# for RS6000 at UT:
#X_LIBS	= -L/usr/local/X11R5/lib -lXaw -lXmu -lXt -lXext -lX11

# for Sun's at UT use -I/usr/local/X11R5/include
IFLAGS		= -I/usr/include/X11

############  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		= $(STD_DEFINES) $(IFLAGS) -O

C_OBJS=$(SYSDIR)/Xutil-2.o $(SYSDIR)/Events.o $(SYSDIR)/XStruct-2.o \
	$(SYSDIR)/XStruct-4.o $(SYSDIR)/general-c.o 

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

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

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

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

$(SYSDIR)/Xutil-2.o:
	$(CC) -c Xutil-2.c $(CFLAGS)
	
$(SYSDIR)/Events.o:
	$(CC) -c Events.c  $(CFLAGS)

$(SYSDIR)/XStruct-2.o:
	$(CC) -c XStruct-2.c  $(CFLAGS)

$(SYSDIR)/XStruct-4.o:
	$(CC) -c XStruct-4.c  $(CFLAGS)

general-c.o:
	$(CC) -c general-c.c  $(CFLAGS)

tar:
	make tar1 TARD=xgcl-`cat version`

tar1:
	(cd .. ; tar cvf - $(TARD)/*.lsp $(TARD)/*.lisp $(TARD)/*.c $(TARD)/*.paper $(TARD)/README $(TARD)/makefile $(TARD)/version | gzip -c > $(TARD).tgz)


