#CC = /usr/local/cs/bin/gcc
CC = gcc
CFLAGS= -O1 -Wall 
CINC =
F32 =-m32
F32c =-m32 -march=i686 -msse4 -mfpmath=sse
F64 =-m64
NCMOV = -fno-if-conversion


.SUFFIXES: .c .32s .32bs .64s .32o .64o .32d .64d


.c.32s:
	$(CC) $(CFLAGS) $(CINC) -S $(F32) $*.c -o $*.32s

.c.32bs:
	$(CC) $(CFLAGS) $(CINC) -S $(F32) $(NCMOV) $*.c -o $*.32bs

.c.64s:
	$(CC) $(CFLAGS) $(CINC) -S $(F64) $*.c -o $*.64s

.c.32d:
	$(CC) $(CFLAGS) $(CINC) $(F32) $*.c -o $*
	objdump -d $* > $*.32d
	rm -f $*

.c.64d:
	$(CC) $(CFLAGS) $(CINC) $(F64) $*.c -o $*
	objdump -d $* > $*.64d
	rm -f $*

all: logical files

logical: logical.c
	$(CC) $(CFLAGS) $(F32) logical.c -o logical

files:	mul12.32s arith.32s logical.32s control.32s control.32bs control.64s loop.32s logical


clean:
	rm -f *~

superclean: clean
	rm -f *.32s *.64s *.32o *.64o *.32d *.64d *.32D *.64D

