GHC  = gdh
CC   = gcc
RM   = rm -f

LINK_OPTS = -parallel -optc-DDEBUG -optc-D__PARALLEL_HASKELL__ -static -cpp -fvia-C -fglasgow-exts
COMP_OPTS = -parallel -fglasgow-exts -static -cpp -fvia-C

.SUFFIXES : .hs .hi .o

%.hi : %.o
	@:

%.o : %.hs
	$(RM) $@
	$(GHC) $(COMP_OPTS) -c $< 

HSRC = PrelDistributed.hs
SRC = Distributed.hs Channel.hs MutSig.hs MVar.hs Bounded.hs ChClass.hs



all : PrelDistributed.o $(SRC:.hs=.o)

hack : PrelDistributed.hc

tidy :
	$(RM) $(SRC:.hs=.o)
	$(RM) PrelDistributed.o 
	$(RM) $(SRC:.hs=.hi)
	
	


PrelDistributed.hc : PrelDistributed.hs
	echo WARNING: PrelDistributed.hs must be compiled with ccall type hack!!!
	$(RM) PrelDistributed.hc
	$(GHC) $(COMP_OPTS) -C PrelDistributed.hs

PrelDistributed.o : 
	echo WARNING: PrelDistributed.hc must be generated by: make hack
	$(RM) PrelDistributed.o
	$(GHC) $(COMP_OPTS) -c PrelDistributed.hc

Distributed.o : PrelDistributed.hi

MutSig.o : Distributed.hi

Channel.o : Distributed.hi MutSig.hi

MVar.o : Distributed.hi MutSig.hi

Bounded.o : Distributed.hi MutSig.hi
