# common.mk contains most the informations for compilation

include ../../common.mk

BLOCK_SIZE = 512

# Rules and targets

EXTRA_LDFLAGS += -lhdf5 -lGL -lGLU -lGLEW -lpng
EXTRA_NVCCFLAGS += -DBLOCK_SIZE=${BLOCK_SIZE} -DLINEAR_TEXTURE

all: build

build: grassy

grassy.o: grassy.cu grassy_extra.cu ../../src/bog_device.cu ../../src/grassy_init.cu ../../src/grassy_kernel.cu ../../src/bog_io.cu
	$(NVCC) $(NVCCFLAGS) $(EXTRA_NVCCFLAGS) $(GENCODE_FLAGS) $(INCLUDES) -o $@ -c $<

grassy: grassy.o 
	$(GCC) $(CCFLAGS) -o $@ $+ $(LDFLAGS) $(EXTRA_LDFLAGS)

run: build
	./grassy

clean:
	rm -f grassy grassy.o 

