ENERGY ?= YES

ifeq ($(ENERGY), YES)
OPTIONS += -D_ENERGY_PMT_

# enable RAPL
OPTIONS += -D_ENERGY_RAPL_
# enable NVIDIA
OPTIONS += -D_ENERGY_NVIDIA_
# enable AMD
OPTIONS += # -D_ENERGY_AMD_
endif

NVCPP = nvc++
OPT   = -O3
INC   = /home/darkenergy/software/pmt/include
LIB   = /home/darkenergy/software/pmt/lib -lpmt -lm

all: mat_mult
.PHONY: clean test

mat_mult: mat_mult_block.cu energy/energy_pmt_methods.cpp energy/energy_pmt.h energy/energy_pmt_methods.h Makefile
	$(NVCPP) $(OPT) $(OPTIONS) -I$(INC) mat_mult_block.cu energy/energy_pmt_methods.cpp -o $@ -L$(LIB)
	ldd ./mat_mult

test: mat_mult
	./mat_mult

clean:
	rm -rf *.o mat_mult *~ energy/*~ energy/*.o
