include ../../conf/Makefile.inc

NSGRPC=nsgrpc
GRIDLIB=$(LIBDIR)/lib$(NSGRPC).a

default:
	cd ..; $(MAKE) gridrpclib

tests: grpc_test ddot_test ddot_test_async control_example \
       wait_any_example wait_or_example wait_and_example \
       wait_all_example argstack_test C_test_grpc

test: grpc_test

grpc_test: grpc_test.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

grpc_test.o: grpc_test.c
	$(CC) -c $(CFLAGS) $<

ddot_test: ddot_test.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

ddot_test.o: ddot_test.c
	$(CC) -c $(CFLAGS) $<

ddot_test_async: ddot_test_async.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

ddot_test_async.o: ddot_test_async.c
	$(CC) -c $(CFLAGS) $<

control_example: control_example.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

control_example.o: control_example.c
	$(CC) -c $(CFLAGS) $<

wait_any_example: wait_any_example.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

wait_any_example.o: wait_any_example.c
	$(CC) -c $(CFLAGS) $<

wait_or_example: wait_or_example.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

wait_or_example.o: wait_or_example.c
	$(CC) -c $(CFLAGS) $<

wait_and_example: wait_and_example.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

wait_and_example.o: wait_and_example.c
	$(CC) -c $(CFLAGS) $<

wait_all_example: wait_all_example.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

wait_all_example.o: wait_all_example.c
	$(CC) -c $(CFLAGS) $<

argstack_test: argstack_test.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

argstack_test.o: argstack_test.c
	$(CC) -c $(CFLAGS) $<

C_test_grpc: C_test_grpc.o $(GRIDLIB)
	$(CC) $(CFLAGS) -o $@ $< -l$(NSGRPC) -L. -L $(NETSOLVE_ROOT)/lib/$(NETSOLVE_ARCH)/ -lnetsolve $(LIBS)

C_test_grpc.o: C_test_grpc.c
	$(CC) -c $(CFLAGS) $<

clean:
	/bin/rm -f *.o *.a grpc_test ddot_test ddot_test_async control_example wait_any_example wait_or_example wait_and_example wait_all_example argstack_test C_test_grpc
