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


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


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

.c.32cs:
	$(CC) $(CFLAGS) $(CINC) -S $(F32c) $*.c -o $*.$(MACHINE)32cs

.c.64s:
	$(CC) $(CFLAGS) $(CINC) -S $(F64) $*.c -o $*.$(MACHINE)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 $*

files:	bufdemo.32s bufdemo.32d bufdemo bufdemo-protected bufdemo.32pd bufdemo.32s

bufdemo: bufdemo.c
	$(CC) $(CFLAGS) $(CINC) $(F32) bufdemo.c -o bufdemo

bufdemo-protected: bufdemo.c
	$(CC) $(CFLAGS) $(CINC) $(F32) -fstack-protector-all bufdemo.c -o bufdemo-protected

bufdemo.32pd: bufdemo-protected
	objdump -d bufdemo-protected > bufdemo.32pd

bufdemo.32ps: bufdemo.c
	$(CC) $(CFLAGS) $(CINC) $(F32) -fstack-protector-all bufdemo.c -S -o bufdemo.32ps

clean:
	rm -f *~
