
PROGRAM = nqueens

UPC_LIB = ../../lib
UTIL_LIB = ../utils
SRCS   = $(PROGRAM).c $(UPC_LIB)/taskq.c $(UPC_LIB)/map.c $(UTIL_LIB)/timers.c
OBJS   = $(PROGRAM).o taskq.o map.o timers.o

UPCC   = upcc
UPCC_FLAGS = -network=smp
CLINK  = $(UPCC)
CLINKFLAGS  = ${UPCC_FLAGS}
VPATH = .:${UPC_LIB}:${UTIL_LIB}

${PROGRAM}: $(OBJS)
	$(CLINK) ${CLINKFLAGS} -o ${PROGRAM} ${OBJS} 

${PROGRAM}.o: ${PROGRAM}.c upc_task.h taskq.h timers.h
	${UPCC} ${UPCC_FLAGS} -c ${PROGRAM}.c -I${UPC_LIB} -I${UTIL_LIB}

taskq.o: taskq.c upc_task.h taskq.h
	${UPCC} ${UPCC_FLAGS} -c ${UPC_LIB}/taskq.c -I${UPC_LIB}

map.o: map.c taskq.h
	${UPCC} ${UPCC_FLAGS} -c ${UPC_LIB}/map.c -I${UPC_LIB}

timers.o: timers.c timers.h
	${UPCC} ${UPCC_FLAGS} -c ${UTIL_LIB}/timers.c -I${UTIL_LIB}

clean:
	-rm -f $(OBJS) $(PROGRAM) *.dbg
