[CMAKE]
[reactos.git] / lib / 3rdparty / stlport / build / Makefiles / nmake / vc-common.mak
1 # Time-stamp: <04/02/04 14:15:31 ptr>
2 # $Id$
3
4 #INCLUDES = -I$(SRCROOT)/include
5 #INCLUDES =
6
7 !ifndef CXX
8 CXX = cl
9 !endif
10 !ifndef CC
11 CC = cl
12 !endif
13 !ifndef LINK
14 LINK = link /fixed:no
15 !endif
16 !ifndef RC
17 RC = rc
18 !endif
19
20 !if "$(COMPILER_NAME)" == "vc6"
21 MSVC_VERSION=1200
22 !else if "$(COMPILER_NAME)" == "vc70"
23 MSVC_VERSION=1300
24 !else if "$(COMPILER_NAME)" == "vc71"
25 MSVC_VERSION=1310
26 !else if "$(COMPILER_NAME)" == "vc80"
27 MSVC_VERSION=1400
28 !else
29 MSVC_VERSION=1500
30 !endif
31
32 !ifdef WITH_STATIC_RTL
33 !if defined (WITHOUT_THREAD) && ($(MSVC_VERSION) < 1400)
34 OPT_DBG = $(OPT_DBG) /MLd
35 OPT_STLDBG = $(OPT_STLDBG) /MLd
36 OPT_REL = $(OPT_REL) /ML
37 !else
38 OPT_DBG = $(OPT_DBG) /MTd
39 OPT_STLDBG = $(OPT_STLDBG) /MTd
40 OPT_REL = $(OPT_REL) /MT
41 !endif
42 DEFS_REL = $(DEFS_REL) /D_STLP_USE_DYNAMIC_LIB
43 DEFS_DBG = $(DEFS_DBG) /D_STLP_USE_DYNAMIC_LIB
44 DEFS_STLDBG = $(DEFS_STLDBG) /D_STLP_USE_DYNAMIC_LIB
45 !else
46 OPT_DBG = $(OPT_DBG) /MDd
47 OPT_STLDBG = $(OPT_STLDBG) /MDd
48 OPT_REL = $(OPT_REL) /MD
49 !endif
50
51 !ifdef WITH_DYNAMIC_RTL
52 OPT_STATIC_DBG = $(OPT_STATIC_DBG) /MDd
53 OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /MDd
54 OPT_STATIC_REL = $(OPT_STATIC_REL) /MD
55 DEFS_STATIC_REL = $(DEFS_STATIC_REL) /D_STLP_USE_STATIC_LIB
56 DEFS_STATIC_DBG = $(DEFS_STATIC_DBG) /D_STLP_USE_STATIC_LIB
57 DEFS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) /D_STLP_USE_STATIC_LIB
58 !else
59 !if defined (WITHOUT_THREAD) && ($(MSVC_VERSION) < 1400)
60 OPT_STATIC_DBG = $(OPT_STATIC_DBG) /MLd
61 OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /MLd
62 OPT_STATIC_REL = $(OPT_STATIC_REL) /ML
63 !else
64 OPT_STATIC_DBG = $(OPT_STATIC_DBG) /MTd
65 OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /MTd
66 OPT_STATIC_REL = $(OPT_STATIC_REL) /MT
67 !endif
68 !endif
69
70 !ifdef WITHOUT_THREAD
71 #Normally thread support activation is detected by STLport depending on the
72 #compiler runtime version option (/ML /MLd); but as there is no more single
73 #threaded runtime after VC.Net2003 we simply always define _STLP_NO_THREADS
74 DEFS_REL = $(DEFS_REL) /D_STLP_NO_THREADS
75 DEFS_DBG = $(DEFS_DBG) /D_STLP_NO_THREADS
76 DEFS_STLDBG = $(DEFS_STLDBG) /D_STLP_NO_THREADS
77 DEFS_STATIC_REL = $(DEFS_STATIC_REL) /D_STLP_NO_THREADS
78 DEFS_STATIC_DBG = $(DEFS_STATIC_DBG) /D_STLP_NO_THREADS
79 DEFS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) /D_STLP_NO_THREADS
80 !endif
81
82 DEFS = $(DEFS) /DWINVER=$(WINVER)
83
84 !ifdef WITHOUT_RTTI
85 !if $(MSVC_VERSION) >= 1400
86 CXXFLAGS_COMMON = $(CXXFLAGS_COMMON) /GR-
87 CFLAGS_COMMON = $(CFLAGS_COMMON) /GR-
88 !endif
89 !else
90 !if $(MSVC_VERSION) < 1400
91 CXXFLAGS_COMMON = $(CXXFLAGS_COMMON) /GR
92 CFLAGS_COMMON = $(CFLAGS_COMMON) /GR
93 !endif
94 !endif
95
96 !ifdef STLP_BUILD_BOOST_PATH
97 CXXFLAGS_COMMON = $(CXXFLAGS_COMMON) /D_STLP_USE_BOOST_SUPPORT
98 CFLAGS_COMMON = $(CFLAGS_COMMON) /D_STLP_USE_BOOST_SUPPORT
99 !endif
100
101 !ifdef DEFS
102 DEFS_REL = $(DEFS) $(DEFS_REL)
103 DEFS_DBG = $(DEFS) $(DEFS_DBG)
104 DEFS_STLDBG = $(DEFS) $(DEFS_STLDBG)
105 DEFS_STATIC_REL = $(DEFS) $(DEFS_STATIC_REL)
106 DEFS_STATIC_DBG = $(DEFS) $(DEFS_STATIC_DBG)
107 DEFS_STATIC_STLDBG = $(DEFS) $(DEFS_STATIC_STLDBG)
108 !endif
109 !ifdef OPT
110 OPT_REL = $(OPT) $(OPT_REL)
111 OPT_DBG = $(OPT) $(OPT_DBG)
112 OPT_STLDBG = $(OPT) $(OPT_STLDBG)
113 OPT_STATIC_REL = $(OPT) $(OPT_STATIC_REL)
114 OPT_STATIC_DBG = $(OPT) $(OPT_STATIC_DBG)
115 OPT_STATIC_STLDBG = $(OPT) $(OPT_STATIC_STLDBG)
116 !endif
117
118 !if "$(COMPILER_NAME)" != "icl"
119 OUTPUT_OPTION = /Fo$@ /Fd$(PDB_NAME_OUT)
120 OUTPUT_OPTION_DBG = /Fo$@ /Fd$(PDB_NAME_OUT_DBG)
121 OUTPUT_OPTION_STLDBG = /Fo$@ /Fd$(PDB_NAME_OUT_STLDBG)
122 OUTPUT_OPTION_STATIC = /Fo$@ /Fd$(A_PDB_NAME_OUT)
123 OUTPUT_OPTION_STATIC_DBG = /Fo$@ /Fd$(A_PDB_NAME_OUT_DBG)
124 OUTPUT_OPTION_STATIC_STLDBG = /Fo$@ /Fd$(A_PDB_NAME_OUT_STLDBG)
125 !else
126 OUTPUT_OPTION = /Fo$@
127 OUTPUT_OPTION_DBG = /Fo$@
128 OUTPUT_OPTION_STLDBG = /Fo$@
129 OUTPUT_OPTION_STATIC = /Fo$@
130 OUTPUT_OPTION_STATIC_DBG = /Fo$@
131 OUTPUT_OPTION_STATIC_STLDBG = /Fo$@
132 !endif
133
134 LINK_OUTPUT_OPTION = /out:$@
135 RC_OUTPUT_OPTION = /fo $@
136 RC_OUTPUT_OPTION_DBG = /fo $@
137 RC_OUTPUT_OPTION_STLDBG = /fo $@
138 DEFS_REL = $(DEFS_REL) /DWIN32 /D_WINDOWS
139 DEFS_STATIC_REL = $(DEFS_STATIC_REL) /DWIN32 /D_WINDOWS
140 DEFS_DBG = $(DEFS_DBG) /DWIN32 /D_WINDOWS
141 DEFS_STATIC_DBG = $(DEFS_STATIC_DBG) /DWIN32 /D_WINDOWS
142 DEFS_STLDBG = $(DEFS_STLDBG) /DWIN32 /D_WINDOWS
143 DEFS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) /DWIN32 /D_WINDOWS
144 CPPFLAGS_REL = $(DEFS_REL) $(INCLUDES)
145 CPPFLAGS_STATIC_REL = $(DEFS_STATIC_REL) $(INCLUDES)
146 CPPFLAGS_DBG = $(DEFS_DBG) $(INCLUDES)
147 CPPFLAGS_STATIC_DBG = $(DEFS_STATIC_DBG) $(INCLUDES)
148 CPPFLAGS_STLDBG = $(DEFS_STLDBG) $(INCLUDES)
149 CPPFLAGS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) $(INCLUDES)
150
151
152 CFLAGS_REL = $(CFLAGS_COMMON) $(OPT_REL)
153 CFLAGS_STATIC_REL = $(CFLAGS_COMMON) $(OPT_STATIC_REL)
154 CFLAGS_DBG = $(CFLAGS_COMMON) $(OPT_DBG)
155 CFLAGS_STATIC_DBG = $(CFLAGS_COMMON) $(OPT_STATIC_DBG)
156 CFLAGS_STLDBG = $(CFLAGS_COMMON) $(OPT_STLDBG)
157 CFLAGS_STATIC_STLDBG = $(CFLAGS_COMMON) $(OPT_STATIC_STLDBG)
158 CXXFLAGS_REL = $(CXXFLAGS_COMMON) $(OPT_REL)
159 CXXFLAGS_STATIC_REL = $(CXXFLAGS_COMMON) $(OPT_STATIC_REL)
160 CXXFLAGS_DBG = $(CXXFLAGS_COMMON) $(OPT_DBG)
161 CXXFLAGS_STATIC_DBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_DBG)
162 CXXFLAGS_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STLDBG)
163 CXXFLAGS_STATIC_STLDBG = $(CXXFLAGS_COMMON) $(OPT_STATIC_STLDBG)
164 COMPILE_c_REL = $(CC) $(CFLAGS_REL) $(CPPFLAGS_REL) $(TARGET_ARCH) /c
165 COMPILE_c_STATIC_REL = $(CC) $(CFLAGS_STATIC_REL) $(CPPFLAGS_STATIC_REL) $(TARGET_ARCH) /c
166 COMPILE_c_DBG = $(CC) $(CFLAGS_DBG) $(CPPFLAGS_DBG) $(TARGET_ARCH) /c
167 COMPILE_c_STATIC_DBG = $(CC) $(CFLAGS_STATIC_DBG) $(CPPFLAGS_STATIC_DBG) $(TARGET_ARCH) /c
168 COMPILE_c_STLDBG = $(CC) $(CFLAGS_STLDBG) $(CPPFLAGS_STLDBG) $(TARGET_ARCH) /c
169 COMPILE_c_STATIC_STLDBG = $(CC) $(CFLAGS_STATIC_STLDBG) $(CPPFLAGS_STATIC_STLDBG) $(TARGET_ARCH) /c
170 COMPILE_cc_REL = $(CXX) $(CXXFLAGS_REL) $(CPPFLAGS_REL) $(TARGET_ARCH) /c
171 COMPILE_cc_STATIC_REL = $(CXX) $(CXXFLAGS_STATIC_REL) $(CPPFLAGS_STATIC_REL) $(TARGET_ARCH) /c
172 COMPILE_cc_DBG = $(CXX) $(CXXFLAGS_DBG) $(CPPFLAGS_DBG) $(TARGET_ARCH) /c
173 COMPILE_cc_STATIC_DBG = $(CXX) $(CXXFLAGS_STATIC_DBG) $(CPPFLAGS_STATIC_DBG) $(TARGET_ARCH) /c
174 COMPILE_cc_STLDBG = $(CXX) $(CXXFLAGS_STLDBG) $(CPPFLAGS_STLDBG) $(TARGET_ARCH) /c
175 COMPILE_cc_STATIC_STLDBG = $(CXX) $(CXXFLAGS_STATIC_STLDBG) $(CPPFLAGS_STATIC_STLDBG) $(TARGET_ARCH) /c
176 COMPILE_rc_REL = $(RC) $(RC_FLAGS_REL) /D "BUILD_INFOS=$(CXXFLAGS_REL)"
177 COMPILE_rc_STATIC_REL = $(RC) $(RC_FLAGS_REL) /D "BUILD_INFOS=$(CXXFLAGS_STATIC_REL)"
178 COMPILE_rc_DBG = $(RC) $(RC_FLAGS_DBG) /DBUILD=d /D "BUILD_INFOS=$(CXXFLAGS_DBG)"
179 COMPILE_rc_STATIC_DBG = $(RC) $(RC_FLAGS_DBG) /DBUILD=d /D "BUILD_INFOS=$(CXXFLAGS_STATIC_DBG)"
180 COMPILE_rc_STLDBG = $(RC) $(RC_FLAGS_STLDBG) /DBUILD=stld /D "BUILD_INFOS=$(CXXFLAGS_STLDBG) /D_STLP_DEBUG"
181 COMPILE_rc_STATIC_STLDBG = $(RC) $(RC_FLAGS_STLDBG) /DBUILD=stld /D "BUILD_INFOS=$(CXXFLAGS_STATIC_STLDBG) /D_STLP_DEBUG"
182 LINK_cc_REL = $(LINK) /nologo /incremental:no /debug /pdb:$(PDB_NAME_OUT) $(LDFLAGS_REL)
183 LINK_cc_DBG = $(LINK) /nologo /incremental:no /debug /pdb:$(PDB_NAME_OUT_DBG) $(LDFLAGS_DBG)
184 LINK_cc_STLDBG = $(LINK) /nologo /incremental:no /debug /pdb:$(PDB_NAME_OUT_STLDBG) $(LDFLAGS_STLDBG)
185 LINK_cc_A_REL = $(LINK) /nologo /incremental:no /debug /pdb:$(A_PDB_NAME_OUT) $(LDFLAGS_A_REL)
186 LINK_cc_A_DBG = $(LINK) /nologo /incremental:no /debug /pdb:$(A_PDB_NAME_OUT_DBG) $(LDFLAGS_DBG)
187 LINK_cc_A_STLDBG = $(LINK) /nologo /incremental:no /debug /pdb:$(A_PDB_NAME_OUT_STLDBG) $(LDFLAGS_STLDBG)
188
189 CDEPFLAGS = /FD /E
190 CCDEPFLAGS = /FD /E
191
192 # STLport DEBUG mode specific defines
193 DEFS_STLDBG = $(DEFS_STLDBG) /D_DEBUG /D_STLP_DEBUG
194 DEFS_DBG = $(DEFS_DBG) /D_DEBUG
195 DEFS_REL = $(DEFS_REL) /DNDEBUG
196 DEFS_STATIC_STLDBG = $(DEFS_STATIC_STLDBG) /D_DEBUG /D_STLP_DEBUG
197 DEFS_STATIC_DBG = $(DEFS_STATIC_DBG) /D_DEBUG
198 DEFS_STATIC_REL = $(DEFS_STATIC_REL) /DNDEBUG
199
200 # optimization and debug compiler flags
201 OPT_REL = $(OPT_REL) /Zi /O2
202 OPT_DBG = $(OPT_DBG) /Zi
203 OPT_STLDBG = $(OPT_STLDBG) /Zi
204 OPT_STATIC_REL = $(OPT_STATIC_REL) /Zi /O2
205 OPT_STATIC_DBG = $(OPT_STATIC_DBG) /Zi
206 OPT_STATIC_STLDBG = $(OPT_STATIC_STLDBG) /Zi