CXX = icpc
CXXFLAGS=-qopenmp -mkl -g -O3
CPUFLAGS = $(CXXFLAGS) -xCORE-AVX2

CPUOBJECTS = rngutil.o worker.o main.o

TARGET=app-CPU


.SUFFIXES: .o .cc 

all: $(TARGET) instructions

%-CPU: $(CPUOBJECTS)
	$(info )
	$(info Linking the CPU executable:)
	$(CXX) $(CPUFLAGS) -o $@ $(CPUOBJECTS)


.cc.o:
	$(info )
	$(info Compiling a CPU object file:)
	$(CXX) -c $(CPUFLAGS) $(OPTFLAGS) -o "$@" "$<"


instructions: 
	$(info )
	$(info TO EXECUTE THE APPLICATION: )
	$(info "make run-cpu" to run the application on the host CPU)
	$(info )

run-cpu: app-CPU
	./app-CPU 

clean: 
	rm -f $(CPUOBJECTS) $(MICOBJECTS) $(TARGET) 

