CC = gcc
CFLAGS = -O2 -Wall
LFLAGS =
AS = as
LD = ld

X86ASFLAGS = --32
X86LDFLAGS = -melf_i386

all:	div_by_10_O2 div_by_10_O0 div_by_10_Os

x86:	divide_div_x86 divide_mul_x86

arm:	divide_mul_arm divide_shift_arm

divide_mul_arm:	divide_mul_arm.o
	$(LD) -o divide_mul_arm divide_mul_arm.o

divide_mul_arm.o:	divide_mul_arm.s
	$(AS) -o divide_mul_arm.o divide_mul_arm.s

divide_shift_arm:	divide_shift_arm.o
	$(LD) -o divide_shift_arm divide_shift_arm.o

divide_shift_arm.o:	divide_shift_arm.s
	$(AS) -o divide_shift_arm.o divide_shift_arm.s

divide_div_x86:	divide_div_x86.o
	$(LD) $(X86LDFLAGS) -o divide_div_x86 divide_div_x86.o

divide_div_x86.o:	divide_div_x86.s
	$(AS) $(X86ASFLAGS) -o divide_div_x86.o divide_div_x86.s


divide_mul_x86:	divide_mul_x86.o
	$(LD) $(X86LDFLAGS) -o divide_mul_x86 divide_mul_x86.o

divide_mul_x86.o:	divide_mul_x86.s
	$(AS) $(X86ASFLAGS) -o divide_mul_x86.o divide_mul_x86.s

	

div_by_10_O0:	div_by_10.c
	$(CC) -g -O0 -Wall -o div_by_10_O0 div_by_10.c

div_by_10_O2:	div_by_10.c
	$(CC) -g -O2 -Wall -o div_by_10_O2 div_by_10.c
	
div_by_10_Os:	div_by_10.c
	$(CC) -g -Os -Wall -o div_by_10_Os div_by_10.c



clean:	
	rm -f *~ *.o div_by_10_O2 div_by_10_O0 div_by_10_Os \
		divide_div_x86 divide_mul_x86


