1# Time-stamp: <07/03/08 21:41:21 ptr>
2#
3# Copyright (c) 1997-1999, 2002, 2003, 2005-2007
4# Petr Ovtchenkov
5#
6# Portion Copyright (c) 1999-2001
7# Parallel Graphics Ltd.
8#
9# Licensed under the Academic Free License version 3.0
10#
11
12#INCLUDES :=
13
14CXX := icpc
15CC := icc
16
17ifdef TARGET_OS
18# CXX := ${TARGET_OS}-c++
19# CC := ${TARGET_OS}-gcc
20endif
21
22CXX_VERSION := $(shell ${CXX} --version | awk 'NR == 1 {print $$3; }')
23# if we didn't get anything from that, use the old style for versions < 9
24ifeq (${CXX_VERSION},)
25CXX_VERSION := $(shell ${CXX} --version)
26endif
27
28CXX_VERSION_MAJOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$1; }')
29CXX_VERSION_MINOR := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$2; }')
30# CXX_VERSION_PATCH := $(shell echo ${CXX_VERSION} | awk 'BEGIN { FS = "."; } { print $$3; }')
31
32SYSINCLUDES := -I$(shell which icpc | xargs dirname | xargs dirname)/include/c++
33
34DEFS ?=
35OPT ?=
36
37ifndef WITHOUT_THREAD
38DEFS += -D_REENTRANT
39endif
40
41OUTPUT_OPTION = -o $@
42LINK_OUTPUT_OPTION = ${OUTPUT_OPTION}
43CPPFLAGS = $(DEFS) $(INCLUDES) $(SYSINCLUDES)
44
45ifeq ($(OSNAME),linux)
46CCFLAGS = $(OPT)
47CFLAGS = $(OPT)
48# CXXFLAGS = -pthread -nostdinc++ -fexceptions -fident $(OPT)
49CXXFLAGS = $(OPT)
50endif
51
52CDEPFLAGS = -E -M
53CCDEPFLAGS = -E -M
54
55# STLport DEBUG mode specific defines
56stldbg-static :	    DEFS += -D_STLP_DEBUG
57stldbg-shared :     DEFS += -D_STLP_DEBUG
58stldbg-static-dep : DEFS += -D_STLP_DEBUG
59stldbg-shared-dep : DEFS += -D_STLP_DEBUG
60
61# optimization and debug compiler flags
62release-static : OPT += -O2
63release-shared : OPT += -O2
64
65dbg-static : OPT += -g
66dbg-shared : OPT += -g
67#dbg-static-dep : OPT += -g
68#dbg-shared-dep : OPT += -g
69
70stldbg-static : OPT += -g
71stldbg-shared : OPT += -g
72#stldbg-static-dep : OPT += -g
73#stldbg-shared-dep : OPT += -g
74
75# dependency output parser (dependencies collector)
76
77DP_OUTPUT_DIR = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR)/\1.o $@ : |g' > $@; \
78                           [ -s $@ ] || rm -f $@
79
80DP_OUTPUT_DIR_DBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_DBG)/\1.o $@ : |g' > $@; \
81                           [ -s $@ ] || rm -f $@
82
83DP_OUTPUT_DIR_STLDBG = | sed 's|\($*\)\.o[ :]*|$(OUTPUT_DIR_STLDBG)/\1.o $@ : |g' > $@; \
84                           [ -s $@ ] || rm -f $@
85
86