CFLAGS = -fomit-frame-pointer  -g
CC = gcc
OBJS = fifo.sig.sml.o \
fifo.sml.o \
queue.sig.sml.o \
queue.sml.o \
thread.sig.sml.o \
preempt_co_thread.sig.sml.o \
preempt_co_thread.sml.o \
future.sig.sml.o \
future.sml.o \
random.sml.o \
radixsort.sml.o \
radix_arg.sml.o \
radixtest.sml.o

radix:	$(OBJS)
	$(CC) $(CFLAGS) -o $@ $(OBJS) -lsml2c -lm

fifo.sig.sml.o:	fifo.sig.sml.c
	$(CC) $(CFLAGS) -c -o $@ fifo.sig.sml.c

fifo.sml.o:	fifo.sml.c
	$(CC) $(CFLAGS) -c -o $@ fifo.sml.c

queue.sig.sml.o:	queue.sig.sml.c
	$(CC) $(CFLAGS) -c -o $@ queue.sig.sml.c

queue.sml.o:	queue.sml.c
	$(CC) $(CFLAGS) -c -o $@ queue.sml.c

thread.sig.sml.o:	thread.sig.sml.c
	$(CC) $(CFLAGS) -c -o $@ thread.sig.sml.c

preempt_co_thread.sig.sml.o:	preempt_co_thread.sig.sml.c
	$(CC) $(CFLAGS) -c -o $@ preempt_co_thread.sig.sml.c

preempt_co_thread.sml.o:	preempt_co_thread.sml.c
	$(CC) $(CFLAGS) -c -o $@ preempt_co_thread.sml.c

future.sig.sml.o:	future.sig.sml.c
	$(CC) $(CFLAGS) -c -o $@ future.sig.sml.c

future.sml.o:	future.sml.c
	$(CC) $(CFLAGS) -c -o $@ future.sml.c

random.sml.o:	random.sml.c
	$(CC) $(CFLAGS) -c -o $@ random.sml.c

radixsort.sml.o:	radixsort.sml.c
	$(CC) $(CFLAGS) -c -o $@ radixsort.sml.c

radix_arg.sml.o:	radix_arg.sml.c
	$(CC) $(CFLAGS) -c -o $@ radix_arg.sml.c

radixtest.sml.o:	radixtest.sml.c
	$(CC) $(CFLAGS) -c -o $@ radixtest.sml.c


