# Copyright (c) 2005-2016 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # # # # GNU Makefile that builds and runs example. NAME=som EXE=$(NAME).exe ARGS= LIGHT_ARGS=4 # The C++ compiler ifneq (,$(shell which icc 2>/dev/null)) CXX=icc endif # icc override CXXFLAGS += $(UI_CXXFLAGS) SRCFILES = som_graph.cpp som.cpp ifeq ($(shell uname), Linux) LIBS+= -lrt else ifeq ($(shell uname), Darwin) override CXXFLAGS += -Wl,-rpath,$(TBBROOT)/lib endif all: release test release: $(SRCFILES) ifeq ($(compiler),xl) # Avoiding "1586-346 (U) An error occurred during code generation. The code generation return code was 40." with -O3. $(CXX) -O2 -DNDEBUG $(CXXFLAGS) -o $(EXE) $(SRCFILES) -ltbb -ltbbmalloc $(LIBS) else $(CXX) -O3 -DNDEBUG $(CXXFLAGS) -o $(EXE) $(SRCFILES) -ltbb -ltbbmalloc $(LIBS) endif debug: $(SRCFILES) $(CXX) -g -O0 -DTBB_USE_DEBUG -D_DEBUG $(CXXFLAGS) -o $(EXE) $(SRCFILES) -ltbb_debug -ltbbmalloc_debug $(LIBS) clean: $(RM) $(EXE) *.o *.d test: $(run_cmd) ./$(EXE) $(ARGS) light_test: $(run_cmd) ./$(EXE) $(LIGHT_ARGS)