IDC		= idc -O
IINC		= 
IDFLAGS		= -g -k

FILES		= $(BIN)_object.so \
		  $(BIN)Array.so \
		  $(BIN)ArrayedCollection.so \
		  $(BIN)Association.so \
		  $(BIN)AVLTree.so \
		  $(BIN)BlockClosure.so \
		  $(BIN)ByteArray.so \
		  $(BIN)Character.so \
		  $(BIN)Collection.so \
		  $(BIN)Dictionary.so \
		  $(BIN)Float.so \
		  $(BIN)Fraction.so \
		  $(BIN)GetOpt.so \
		  $(BIN)IdentityDictionary.so \
		  $(BIN)IdentitySet.so \
		  $(BIN)Integer.so \
		  $(BIN)LargeInteger.so \
		  $(BIN)LargeNegativeInteger.so \
		  $(BIN)LargePositiveInteger.so \
		  $(BIN)LookupKey.so \
		  $(BIN)Magnitude.so \
		  $(BIN)Number.so \
		  $(BIN)Object.so \
		  $(BIN)OrderedCollection.so \
		  $(BIN)PositionableStream.so \
		  $(BIN)ReadStream.so \
		  $(BIN)SequenceableCollection.so \
		  $(BIN)Set.so \
		  $(BIN)SmallInteger.so \
		  $(BIN)Smalltalk.so \
		  $(BIN)Stream.so \
		  $(BIN)String.so \
		  $(BIN)Symbol.so \
		  $(BIN)WordArray.so \
		  $(BIN)WeakArray.so \
		  $(BIN)WriteStream.so \
		  $(BIN)perform.so \
		  $(BIN)tokenization.so \
		  $(BIN)st80.so

PREFIX		= /usr/local/lib/idc/i686-pc-linux-gnu/
CC		= cc
OBJEXT		= 
OBJEXT_O	= .o
OBJEXT_SO	= .so

all : $(FILES)

run : $(FILES) $(BIN)test-st80
	$(SHELL) -ec '( cd $(BIN).; ./test-st80 )'

.SUFFIXES :

$(BIN)%$(OBJEXT_SO) : %.st
	$(IDC) $(IINC) $(IDFLAGS) -s $< -o $@

$(BIN)%$(OBJEXT_O) : %.st
	$(IDC) $(IINC) $(IDFLAGS) -c $< -o $@

$(BIN)%$(OBJEXT) : %.st
	$(IDC) $(IINC) $(IDFLAGS) $< -o $@

install : all .FORCE
	-mkdir -p $(PREFIX)
	-cp -pr *.st $(FILES) $(PREFIX)

tidy : .FORCE
	-rm -f *.o *.d *~ .gdb* *.stackdump *.c

clean : tidy
	-rm -f $(FILES) $(BIN)test-st80 $(BIN)test-st80.exe

distclean spotless : clean
	-rm -f Makefile

.FORCE :
