IDC		= idc -O
IINC		= -I../st80
IDFLAGS		= -g -k

FILES		= $(BIN)ArgumentVariableNode.so \
		  $(BIN)ArrayLiteralNode.so \
		  $(BIN)ArrayNode.so \
		  $(BIN)AssignmentNode.so \
		  $(BIN)BlockNode.so \
		  $(BIN)ByteArrayNode.so \
		  $(BIN)CodeGenerator.so \
		  $(BIN)CCodeGenerator.so \
		  $(BIN)CManagedCodeGenerator.so \
		  $(BIN)CharacterNode.so \
		  $(BIN)Compiler.so \
		  $(BIN)CompilerOptions.so \
		  $(BIN)DefinitionNode.so \
		  $(BIN)EncodedVariableNode.so \
		  $(BIN)Encoder.so \
		  $(BIN)ExecNode.so \
		  $(BIN)ExternNode.so \
		  $(BIN)FloatNode.so \
		  $(BIN)GlobalVariableNode.so \
		  $(BIN)ImportNode.so \
		  $(BIN)IncludeNode.so \
		  $(BIN)IntegerNode.so \
		  $(BIN)LiteralNode.so \
		  $(BIN)LocalVariableNode.so \
		  $(BIN)MethodNode.so \
		  $(BIN)ParseNode.so \
		  $(BIN)Parser.so \
		  $(BIN)PrimitiveNode.so \
		  $(BIN)PrototypeNode.so \
		  $(BIN)ReturnNode.so \
		  $(BIN)Scanner.so \
		  $(BIN)ScannerContext.so \
		  $(BIN)ScannerPosition.so \
		  $(BIN)Scope.so \
		  $(BIN)SendNode.so \
		  $(BIN)SequenceNode.so \
		  $(BIN)SlotVariableNode.so \
		  $(BIN)StringIO.so \
		  $(BIN)StringNode.so \
		  $(BIN)SymbolNode.so \
		  $(BIN)TemporaryVariableNode.so \
		  $(BIN)VariableNode.so \
		  $(BIN)WordArrayNode.so \
		  $(BIN)idc \
		  $(BIN)./include \
		  $(BIN)gc.a

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

all : $(FILES) $(BIN)idc1$(OBJEXT)

.SUFFIXES :

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

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

$(BIN)idc : ../idc/idc
	-$(SHELL) -ec 'cp -p ../idc/idc $(BIN)idc'

$(BIN)./include : 
	-$(SHELL) -ec 'mkdir $(BIN)./include; cp -pr ../$(GCDIR)/include $(BIN)./include/gc; find $(BIN)./include/gc -name .svn -exec rm -rf {} \;'

$(BIN)gc.a : 
	-$(SHELL) -ec 'cp -p ../$(GCDIR)/gc.a $(BIN).'

install : all .FORCE
	mkdir -p $(PREFIX)
	-cp -pr *.st $(FILES) $(BIN)idc1$(OBJEXT) $(PREFIX)
	-cp -pr $(BIN)idc /usr/local/bin/.

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

clean : tidy
	-rm -f $(FILES) $(BIN)idc1$(OBJEXT)

distclean spotless : clean
	-rm -f Makefile

.FORCE :
