CC = gcc
CFLAGS= -O1 -Wall 
F32 =-m32
F64 =-m64


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


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

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

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

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

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

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

.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:	p1.32s p1.32d p.32D swap.32s swap.64s

p: p1.c p2.c
	$(CC) $(CFLAGS) $(F32) p1.c p2.c -o p

p.32D: p
	objdump -d p > p.32D

clean:
	rm -f *~

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