| # Copyright 2005-2010 Intel Corporation. All Rights Reserved. |
| # |
| # This file is part of Threading Building Blocks. |
| # |
| # Threading Building Blocks is free software; you can redistribute it |
| # and/or modify it under the terms of the GNU General Public License |
| # version 2 as published by the Free Software Foundation. |
| # |
| # Threading Building Blocks is distributed in the hope that it will be |
| # useful, but WITHOUT ANY WARRANTY; without even the implied warranty |
| # of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with Threading Building Blocks; if not, write to the Free Software |
| # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| # |
| # As a special exception, you may use this file as part of a free software |
| # library without restriction. Specifically, if other files instantiate |
| # templates or use macros or inline functions from this file, or you compile |
| # this file and link it with other files to produce an executable, this |
| # file does not by itself cause the resulting executable to be covered by |
| # the GNU General Public License. This exception does not however |
| # invalidate any other reasons why the executable file might be covered by |
| # the GNU General Public License. |
| |
| # The C++ compiler |
| #CXX=g++ |
| |
| # detecting MS Windows (for MinGW support) |
| ifeq ($(OS), Windows_NT) |
| RM = cmd /C del /Q /F |
| RD = cmd /C rmdir |
| UI = con |
| EXE = $(NAME)$(SUFFIX).exe |
| |
| else |
| RM = rm -f |
| RD = rmdir -r |
| # detecting x64 |
| ifeq ($(shell uname -m),x86_64) |
| x64 ?= 64 |
| endif |
| # detecting UI ("mac", "x" or "con") |
| ifeq ($(shell uname),Darwin) |
| UI ?= mac |
| else |
| UI ?= $(shell sh -c "[ -f /usr/X11R6/lib$(x64)/libX11.so -o -f /usr/lib$(x64)/libX11.so ] && echo x || echo con") |
| endif |
| |
| ifeq ($(UI),x) |
| EXE = $(NAME)$(SUFFIX) |
| CXXFLAGS += -I/usr/X11R6/include |
| LIBS += -lpthread -L/usr/X11R6/lib$(x64) -lX11 |
| # detect if libXext can be found |
| ifeq ($(shell sh -c "[ -f /usr/X11R6/lib$(x64)/libXext.so -o -f /usr/lib$(x64)/libXext.so ] && echo 0"),0) |
| LIBS += -lXext |
| else # no libXext |
| CXXFLAGS += -DX_NOSHMEM |
| endif # libXext |
| |
| else # ! X |
| ifeq ($(UI),mac) |
| TBBLIBSPATH ?= /Library/Frameworks/TBB.framework/Libraries |
| CXXFLAGS += -arch i386 -mmacosx-version-min=10.4 -msse3 -ftree-vectorize |
| LIBS += -framework OpenGL -framework AGL -framework Carbon -L$(TBBLIBSPATH) |
| APPRES = $(NAME)$(SUFFIX).app/Contents/Resources |
| EXE = $(NAME)$(SUFFIX).app/Contents/MacOS/$(NAME)$(SUFFIX) |
| ifneq (,$(shell xcode-select -print-path 2>/dev/null)) |
| PBXCP = $(shell xcode-select -print-path)/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp |
| else |
| # look in /System and /Developer |
| PBXCP = $(wildcard /[SD]*/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp) |
| endif |
| PBXCP += -resolve-src-symlinks -exclude .DS_Store -exclude CVS -exclude .svn |
| |
| else # ! Mac |
| UI = con |
| EXE = $(NAME)$(SUFFIX) |
| |
| endif # Mac |
| endif # X |
| endif # Windows vs. other |