CFLAGS = -O -DLARGE_MEM -DVERBOSE

OBJS =	cube.o \
	phase1.o \
	phase2.o \
	setcube.o \
	permcube.o \
	prntsol.o \
	globals.o

cube:	$(OBJS)
	$(CC) $(CFLAGS) -o dikcube $(OBJS)
	size dikcube

size222:	size222.o
	$(CC) $(CFLAGS) -o size222 size222.o
	size size222

size333c.o:	size333c.c
	$(CC) $(CFLAGS) -DCTWIST -c size333c.c

size333c:	size333c.o
	$(CC) $(CFLAGS) -o size333c size333c.o
	size size333c

sizesquare:	sizesquare.o
	$(CC) $(CFLAGS) -o sizesquare sizesquare.o
	size sizesquare

sizedom.o:	sizedom.c
	$(CC) $(CFLAGS) -DCCPERM -DIPERM -c sizedom.c

sizedom:	sizedom.o
	$(CC) $(CFLAGS) -o sizedom sizedom.o
	size sizedom

sizekoc1:	sizekoc1.o
	$(CC) $(CFLAGS) -o sizekoc1 sizekoc1.o
	size sizekoc1

sizekoc2.o:	sizekoc2.c
	$(CC) $(CFLAGS) -DCCPERM -DIPERM -c sizekoc2.c

sizekoc2:	sizekoc2.o
	$(CC) $(CFLAGS) -o sizekoc2 sizekoc2.o
	size sizekoc2

all:	cube size222 size333c sizesquare sizedom sizekoc1 sizekoc2

clean:
	rm -f *.o core

clobber distclean: clean
	rm -f dikcube size222 size333c sizesquare sizedom sizekoc1 sizekoc2

$(OBJS):	globals.h
phase1.o:	trans/twist.a
phase1.o:	trans/flip.a
phase1.o:	trans/choice.a
phase1.o:	trans/mixed1.a
phase2.o:	trans/perm8.a
phase2.o:	trans/perm4.a
phase2.o:	trans/cperm.a
phase2.o:	trans/eperm.a
phase2.o:	trans/sperm.a
phase2.o:	trans/mixed2.a
size222.o:	trans/perm7.a
size222.o:	trans/twist7.a
size222.o:	trans/cperm7.a
size222.o:	longtype.h
size333c.o:	trans/inv.a
size333c.o:	trans/perm8.a
size333c.o:	trans/cperm.a
size333c.o:	trans/cperm.r
size333c.o:	trans/cperm.c
size333c.o:	trans/cperm.m
size333c.o:	trans/twist.a
size333c.o:	trans/twist.r
size333c.o:	trans/twist.c
size333c.o:	trans/twist.m
size333c.o:	longtype.h
sizesquare.o:	trans/perm4.a
sizesquare.o:	trans/eperm2.a
sizesquare.o:	trans/cperm2.a
sizesquare.o:	longtype.h
sizedom.o:	trans/inv.a
sizedom.o:	trans/perm8.a
sizedom.o:	trans/cperm.a
sizedom.o:	trans/cperm.r
sizedom.o:	trans/cperm.c
sizedom.o:	trans/cperm.m
sizedom.o:	trans/eperm.a
sizedom.o:	trans/eperm.r
sizedom.o:	trans/eperm.c
sizedom.o:	trans/eperm.m
sizedom.o:	longtype.h
sizekoc1.o:	trans/inv.a
sizekoc1.o:	trans/perm8.a
sizekoc1.o:	trans/twist.a
sizekoc1.o:	trans/twist.r
sizekoc1.o:	trans/twist.c
sizekoc1.o:	trans/flip.a
sizekoc1.o:	trans/flip.r
sizekoc1.o:	trans/flip.m
sizekoc1.o:	trans/choice.a
sizekoc1.o:	trans/choice.r
sizekoc1.o:	trans/choice.m
sizekoc1.o:	longtype.h
sizekoc2.o:	trans/inv.a
sizekoc2.o:	trans/perm8.a
sizekoc2.o:	trans/cperm.a
sizekoc2.o:	trans/cperm.r
sizekoc2.o:	trans/cperm.c
sizekoc2.o:	trans/eperm.a
sizekoc2.o:	trans/eperm.r
sizekoc2.o:	trans/eperm.m
sizekoc2.o:	trans/sperm.a
sizekoc2.o:	trans/sperm.r
sizekoc2.o:	trans/sperm.m
sizekoc2.o:	longtype.h

