Files
ispc/examples/portable/common_knc.mk

53 lines
1.2 KiB
Makefile

TASK_CXX=../omp_tasksys.cpp ../../util/ispc_malloc.cpp
TASK_OBJ=objs_knc/omp_tasksys.o objs_knc/ispc_malloc.o
TASK_LIB=-openmp
CXX=icc -openmp -mmic
CXXFLAGS+=-Iobjs_knc/ -O2 -I../../ -I../../util -I./
CXXFLAGS+= -DISPC_USE_OMP
CC=icc -openmp -mmic
CCFLAGS+= -Iobjs_knc/ -O2 -I../../ -I../../util -I./
CCFLAGS+=-DISPC_USE_OMP
LD=icc -mmic -openmp
LIBS=-lm $(TASK_LIB) -lstdc++
ISPC=ispc
ISPC_FLAGS+=-O2
ISPC_FLAGS+= --target=$(ISPC_TARGET) --c++-include-file=$(ISPC_INTRINSICS)
ISPC_HEADERS=$(ISPC_SRC:%.ispc=objs_knc/%_ispc.h)
ISPC_OBJ=$(ISPC_SRC:%.ispc=objs_knc/%_ispc.o)
CXX_OBJ=$(CXX_SRC:%.cpp=objs_knc/%.o)
CXX_OBJ+=$(TASK_OBJ)
PROG=$(EXAMPLE)_knc
all: dirs $(PROG)
dirs:
/bin/mkdir -p objs_knc/
objs_knc/%.cpp objs_knc/%.o objs_knc/%.h: dirs
clean:
/bin/rm -rf $(PROG) objs_knc
$(PROG): $(ISPC_OBJ) $(CXX_OBJ)
$(LD) -o $@ $^ $(LDFLAGS)
objs_knc/%.o: %.cpp
$(CXX) $(CXXFLAGS) -o $@ -c $<
objs_knc/%.o: ../%.cpp
$(CXX) $(CXXFLAGS) -o $@ -c $<
objs_knc/%.o: ../../%.cpp
$(CXX) $(CXXFLAGS) -o $@ -c $<
objs_knc/%.o: ../../util/%.cpp
$(CXX) $(CXXFLAGS) -o $@ -c $<
objs_knc/%_ispc.o: %.ispc
$(ISPC) $(ISPC_FLAGS) --emit-c++ -o objs_knc/$*_ispc_zmm.cpp -h objs_knc/$*_ispc.h $<
$(CXX) $(CXXFLAGS) -o $@ objs_knc/$*_ispc_zmm.cpp -c