
#define GCC
#define CLEAN
#define SQ

#ifdef UNI
userobj = uni.o support.o
#else
#ifdef PRO
userobj = prof.o support.o
#else
#ifdef SQ
userobj = square.o support.o basic_barrier.o
#else
userobj = strips.o support.o 
#endif
#endif
#endif


/* userobj = fib.o rpc.o att.o atomic.o */
/* userobj = spawn_all.o */

rpc.o: rpc.ca $(USERH)
	gcc -x c $(CFLAGS) -S rpc.ca
	augment rpc.s -o aug-rpc.s
	gcc -c aug-rpc.s -o rpc.o
	
att.o: att.ca library.h att.h
fib.o: fib.ca $(USERH) rpc.h
atomic.o: atomic.c att.h

btest.o: btest.ca $(USERH)
test2.o: test2.ca $(USERH)
data.o: data.ca $(USERH) event.h events.h
test.o: test.ca $(USERH)
queens.o: queens.ca $(USERH)
sync.o: sync.ca $(USERH)
basic_barrier.o: basic_barrier.ca $(USERH)
spawn_all.o: spawn_all.ca $(USERH) net_p.param
wave.o: wave.ca $(USERH) library.h
wave2.o: wave2.ca $(USERH) library.h
barrier.o: barrier.ca $(USERH) library.h
disk.o : disk.c disk.h $(USERH)
testdisk.o: testdisk.ca disk.h $(USERH)

uni.o: uni.ca $(USERH) sor.h
support.o: support.c sor.h
model: model.c ../linreg/root.o solve.h
	cc -o model model.c ../linreg/root.o -lm
prof.o: prof.ca $(USERH)
square.o: square.ca sor.h map.h $(USERH)
strips.o: strips.ca sor.h map.h $(USERH)

#ifndef CC
#define GCC
#endif

/* CFLAGS = -O*/
