ICC ?= icc
TARGET_ICC ?= $(ICC)
INSTALL ?= install
VERSION ?= 0.0.0
prefix ?= /usr
exec_prefix ?= $(prefix)
libexecdir ?= $(exec_prefix)/libexec
datarootdir ?= $(prefix)/share
docdir ?= $(datarootdir)/doc/micperf
srcinstalldir ?= $(prefix)/src/micperf

all: mkl_conv libxsmm_conv
install: mkl_conv_install libxsmm_conv_install

mkl_conv:
	$(MAKE) -C mkl_conv all

libxsmm_conv:
	$(MAKE) -C libxsmm_conv/ libxsmm
	$(MAKE) -C libxsmm_conv/samples/dnn all

clean:
	$(MAKE) -C mkl_conv clean
	$(MAKE) -C libxsmm_conv clean

libxsmm_conv_install:
	$(INSTALL) -d $(DESTDIR)$(libexecdir)/micperf/x86_64_AVX512
	$(INSTALL) libxsmm_conv/samples/dnn/layer_example_f32 $(DESTDIR)$(libexecdir)/micperf/x86_64_AVX512

mkl_conv_install:
	$(INSTALL) -d $(DESTDIR)$(libexecdir)/micperf/x86_64_AVX512
	$(INSTALL) mkl_conv/std_conv_bench $(DESTDIR)$(libexecdir)/micperf/x86_64_AVX512

.PHONY: all install clean \
	mkl_conv libxsmm_conv \
	libxsmm_conv_install mkl_conv_install

