# MAIN = Ground
MAIN = Main

DIR = edu/ws99/fads/sorting
TGZ = sorting


HC = ghc
# HC = hbc
# HC_OPTS = -O

INCDIR = ../xform
LIBS = $(INCDIR)/libXForm.a


HC_OPTS +=  -i$(INCDIR)

OBJS = $(MAIN).o \
FiniteMap.o   Linear.o      Maybes.o      Set.o \
Iso.o         PO.o          


#########################################################################

all : $(MAIN)

$(MAIN) : $(OBJS)
	$(HC) $(HC_OPTS) -o $(MAIN) $(OBJS) $(LIBS)

#########################################################################

%.o : %.hs
	$(HC)  $(HC_OPTS) -c $< -o $@

%.hi : %.o
	@if [ ! -f $@ ] ; then echo Panic! $< exists, but $@ does not. ; exit 1; fi

#########################################################################

# bookkeeping ########################################################

clean :
	rm -f  *~ *.aux *.log *.dvi

tgz : 
	( cd  $(HOME); gtar cvvfz $(TGZ).tgz \
	`find $(DIR) \( -name "*.tex" -o -name "*.cls" -o -name "*.hs" -o -name "*.fig" -o -name "*Makefile" \) -print`  \
	`find $(DIR)/$(INCDIR) \( -name "*.tex" -o -name "*.cls" -o -name "*.hs" -o -name "*.fig" -o -name "*Makefile" \) -print` ; \
	echo "saving as $(DIR)/history/$(TGZ)-`date +%d-%b-%y`.tgz" ; \
	cp $(TGZ).tgz $(DIR)/history/$(TGZ)-`date +%d-%b-%y`.tgz \
	)

tofloppy : tgz
	mcopy -v -o $(HOME)/$(TGZ).tgz a:
	mdir a:

fromfloppy :
	( cd $(HOME) \
	; mcopy -n -v a:$(TGZ).tgz $(HOME)/ \
	; gtar xvvfz $(TGZ).tgz \
	)

#########################################################################


.depend :
	$(HC) $(HC_OPTS) -M -optdep-f -optdep.depend *.hs


include .depend