srcfiles = merg.c mparset.c mparsec.c token.c tstream.c help.c
wmsrcfiles = wrapmalloc.c
hsrcfiles = hash.c
objects = merg.o mparset.o mparsec.o token.o tstream.o help.o
wrapmalloc = wrapmalloc.o
wrapmallocd = wrapmallocd.o
hash = hash.o
CFLAGS = -O2 -mpentium -fomit-frame-pointer -funroll-loops

all : merg

merg : $(objects) $(wrapmalloc) $(hash)
	$(CC) -o merg.exe $(objects) $(wrapmalloc) $(hash)

$(objects): merg.h
mparsec.o : hash.h

$(wrapmalloc) $(wrapmallocd) : wrapmalloc.h

.PHONY : clean distclean opti wmdebug dsdebug wm_dsdebug mergd1 mergd2 mergd3

clean : distclean
	del merg.exe

distclean :
	del *.o

opti :
	$(CC) $(opti) -c $(srcfiles)
	$(CC) $(opti) -o merg.exe $(objects)

$(wrapmallocd) : 
	$(CC) -D__WRAPMALLOC_DEBUG__ -c -o wrapmallocd.o wrapmalloc.c

dsdebug :
	$(CC) -D_MERG_DUPLICATESTREAM -c $(srcfiles)

wm_dsdebug : $(wrapmallocd) dsdebug
	mergd2

mergd1 : $(wrapmallocd) $(objects)
	$(CC) -o merg.exe $(objects) $(wrapmallocd) $(hash)

mergd2 : wrapmalloc.o dsdebug
	$(CC) -o merg.exe $(objects) $(wrapmalloc) $(hash)

mergd3 : $(wrapmallocd)
	$(CC) -o merg.exe $(objects) $(wrapmallocd) $(hash)
