PROGRAM = main
o	= .o
LDOBJS  = _object$o Object$o Object-imp$o \
	  BitSet$o Scanner$o GrammarProduction$o ReductionGrammar$o Assembler$o PowerPC$o \
	  CokeExpression$o CokeTransform$o CokeScanner$o CokeType$o CokeCompiler$o
LDLIBS  = 
SHOBJS	= 

IDC = idc -k -Wc,-pipe

all : $(SHOBJS) $(LDOBJS) $(PROGRAM)

%.so : %.st
	$(IDC) -s $<

%.o : %.st
	$(IDC) -c $<

% : %.st $(LDOBJS)
	$(IDC) $< $(LDOBJS) $(LDLIBS)

run : all
	./$(PROGRAM) < test.k

stats : .FORCE
	sort -u $(LDOBJS:$o=.st) | wc -l

tidy: .FORCE
	rm -f *~

clean : tidy .FORCE
	rm -f $(PROGRAM) $(PROGRAM).c $(LIBS) *.exe *.so.c *.so *.o.c *.o .gdb*

spotless : clean .FORCE

.FORCE :
