CC = gcc
TARGET_RDMA    = GrabContinuous_RDMATest
TARGET_DMABUF  = GrabContinuous_DmaBufTest
CFLAGS   = -g -std=c99
INCFLAGS = -I../../../Include
LNKFLAGS = -L. -lIKapC -lIKapBoard -lusb-1.0 -lm -pthread -Wl,--no-as-needed -Wl,-rpath,.
# -ldl is required for dlopen/dlsym (CUDA dynamic loading)
LNKFLAGS_RDMA = $(LNKFLAGS) -ldl

all: $(TARGET_RDMA) $(TARGET_DMABUF)

$(TARGET_RDMA): $(TARGET_RDMA).o
	$(CC) $(CFLAGS) -o $(TARGET_RDMA) $(TARGET_RDMA).o $(LNKFLAGS_RDMA)

$(TARGET_DMABUF): $(TARGET_DMABUF).o
	$(CC) $(CFLAGS) -o $(TARGET_DMABUF) $(TARGET_DMABUF).o $(LNKFLAGS)

clean:
	rm -f *.o $(TARGET_RDMA) $(TARGET_DMABUF) *~

.c.o:
	$(CC) $(CFLAGS) $(INCFLAGS) -c $?

.cpp.o:
	$(CC) $(CFLAGS) $(INCFLAGS) -c $?
