|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 ## |
|
6 ## Define CFLAGS to contain any local options your compiler |
|
7 ## setup requires. |
|
8 ## |
|
9 ## Conditional compilation options are no longer here; see |
|
10 ## the file 'mpi-config.h' instead. |
|
11 ## |
|
12 MPICMN = -I. -DMP_API_COMPATIBLE -DMP_IOFUNC |
|
13 CFLAGS= -O $(MPICMN) |
|
14 #CFLAGS=-ansi -fullwarn -woff 1521 -O3 $(MPICMN) |
|
15 #CFLAGS=-ansi -pedantic -Wall -O3 $(MPICMN) |
|
16 #CFLAGS=-ansi -pedantic -Wall -g -O2 -DMP_DEBUG=1 $(MPICMN) |
|
17 |
|
18 ifeq ($(TARGET),mipsIRIX) |
|
19 #IRIX |
|
20 #MPICMN += -DMP_MONT_USE_MP_MUL |
|
21 MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE |
|
22 MPICMN += -DMP_USE_UINT_DIGIT |
|
23 #MPICMN += -DMP_NO_MP_WORD |
|
24 AS_OBJS = mpi_mips.o |
|
25 #ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 -exceptions |
|
26 ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 |
|
27 #CFLAGS=-ansi -n32 -O3 -fullwarn -woff 1429 -D_SGI_SOURCE $(MPICMN) |
|
28 CFLAGS=-ansi -n32 -O2 -fullwarn -woff 1429 -D_SGI_SOURCE $(MPICMN) |
|
29 #CFLAGS=-ansi -n32 -g -fullwarn -woff 1429 -D_SGI_SOURCE $(MPICMN) |
|
30 #CFLAGS=-ansi -64 -O2 -fullwarn -woff 1429 -D_SGI_SOURCE -DMP_NO_MP_WORD \ |
|
31 $(MPICMN) |
|
32 endif |
|
33 |
|
34 ifeq ($(TARGET),alphaOSF1) |
|
35 #Alpha/OSF1 |
|
36 MPICMN += -DMP_ASSEMBLY_MULTIPLY |
|
37 AS_OBJS+= mpvalpha.o |
|
38 #CFLAGS= -O -Olimit 4000 -ieee_with_inexact -std1 -DOSF1 -D_REENTRANT $(MPICMN) |
|
39 CFLAGS= -O -Olimit 4000 -ieee_with_inexact -std1 -DOSF1 -D_REENTRANT \ |
|
40 -DMP_NO_MP_WORD $(MPICMN) |
|
41 endif |
|
42 |
|
43 ifeq ($(TARGET),v9SOLARIS) |
|
44 #Solaris 64 |
|
45 SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xchip=ultra -xarch=v9a -KPIC -mt |
|
46 #SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v9a -KPIC -mt |
|
47 SOLARIS_ASM_FLAGS = -xchip=ultra -xarch=v9a -KPIC -mt |
|
48 AS_OBJS += montmulfv9.o |
|
49 AS_OBJS += mpi_sparc.o mpv_sparcv9.o |
|
50 MPICMN += -DMP_USE_UINT_DIGIT |
|
51 #MPICMN += -DMP_NO_MP_WORD |
|
52 MPICMN += -DMP_ASSEMBLY_MULTIPLY |
|
53 MPICMN += -DMP_USING_MONT_MULF |
|
54 CFLAGS= -O -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ |
|
55 -DSOLARIS2_8 -xarch=v9 -DXP_UNIX $(MPICMN) |
|
56 #CFLAGS= -g -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ |
|
57 -DSOLARIS2_8 -xarch=v9 -DXP_UNIX $(MPICMN) |
|
58 endif |
|
59 |
|
60 ifeq ($(TARGET),v8plusSOLARIS) |
|
61 #Solaris 32 |
|
62 SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v8plusa -KPIC -mt |
|
63 SOLARIS_ASM_FLAGS = -xchip=ultra -xarch=v8plusa -KPIC -mt |
|
64 AS_OBJS += montmulfv8.o |
|
65 AS_OBJS += mpi_sparc.o mpv_sparcv8.o |
|
66 #AS_OBJS = montmulf.o |
|
67 MPICMN += -DMP_ASSEMBLY_MULTIPLY |
|
68 MPICMN += -DMP_USING_MONT_MULF |
|
69 MPICMN += -DMP_USE_UINT_DIGIT |
|
70 MPICMN += -DMP_NO_MP_WORD |
|
71 CFLAGS=-O -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ |
|
72 -DSOLARIS2_6 -xarch=v8plus -DXP_UNIX $(MPICMN) |
|
73 endif |
|
74 |
|
75 ifeq ($(TARGET),v8SOLARIS) |
|
76 #Solaris 32 |
|
77 #SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v8 -KPIC -mt |
|
78 #SOLARIS_ASM_FLAGS = -xchip=ultra -xarch=v8plusa -KPIC -mt |
|
79 #AS_OBJS = montmulfv8.o mpi_sparc.o mpv_sparcv8.o |
|
80 #AS_OBJS = montmulf.o |
|
81 #MPICMN += -DMP_USING_MONT_MULF |
|
82 #MPICMN += -DMP_ASSEMBLY_MULTIPLY |
|
83 MPICMN += -DMP_USE_LONG_LONG_MULTIPLY -DMP_USE_UINT_DIGIT |
|
84 MPICMN += -DMP_NO_MP_WORD |
|
85 CFLAGS=-O -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ |
|
86 -DSOLARIS2_6 -xarch=v8 -DXP_UNIX $(MPICMN) |
|
87 endif |
|
88 |
|
89 ifeq ($(TARGET),ia64HPUX) |
|
90 #HPUX 32 on ia64 -- 64 bit digits SCREAM. |
|
91 # This one is for DD32 which is the 32-bit ABI with 64-bit registers. |
|
92 CFLAGS= +O3 -DHPUX10 -D_POSIX_C_SOURCE=199506L -Aa +Z -DHPUX -Dhppa \ |
|
93 -D_HPUX_SOURCE -Aa +e -z +p +DD32 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) |
|
94 #CFLAGS= -O -DHPUX10 -D_POSIX_C_SOURCE=199506L -Aa +Z -DHPUX -Dhppa \ |
|
95 -D_HPUX_SOURCE -Aa +e -z +p +DD32 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) |
|
96 #CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ |
|
97 -D_HPUX_SOURCE -Aa +e -z +p +DD32 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) |
|
98 endif |
|
99 |
|
100 ifeq ($(TARGET),ia64HPUX64) |
|
101 #HPUX 32 on ia64 |
|
102 # This one is for DD64 which is the 64-bit ABI |
|
103 CFLAGS= +O3 -DHPUX10 -D_POSIX_C_SOURCE=199506L -Aa +Z -DHPUX -Dhppa \ |
|
104 -D_HPUX_SOURCE -Aa +e -z +p +DD64 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) |
|
105 #CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ |
|
106 -D_HPUX_SOURCE -Aa +e -z +p +DD64 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) |
|
107 endif |
|
108 |
|
109 ifeq ($(TARGET),PA2.0WHPUX) |
|
110 #HPUX64 (HP PA 2.0 Wide) using MAXPY and 64-bit digits |
|
111 MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE |
|
112 AS_OBJS = mpi_hp.o hpma512.o hppa20.o |
|
113 CFLAGS= -O -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ |
|
114 -D_HPUX_SOURCE -Aa +e -z +DA2.0W +DS2.0 +O3 +DChpux -DHPUX11 -DXP_UNIX \ |
|
115 $(MPICMN) |
|
116 #CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ |
|
117 -D_HPUX_SOURCE -Aa +e -z +DA2.0W +DS2.0 +DChpux -DHPUX11 -DXP_UNIX \ |
|
118 $(MPICMN) |
|
119 AS = $(CC) $(CFLAGS) -c |
|
120 endif |
|
121 |
|
122 ifeq ($(TARGET),PA2.0NHPUX) |
|
123 #HPUX32 (HP PA 2.0 Narrow) hybrid model, using 32-bit digits |
|
124 # This one is for DA2.0 (N) which is the 32-bit ABI with 64-bit registers. |
|
125 MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE |
|
126 AS_OBJS = mpi_hp.o hpma512.o hppa20.o |
|
127 CFLAGS= +O3 -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ |
|
128 -D_HPUX_SOURCE -Aa +e -z +DA2.0 +DS2.0 +DChpux -DHPUX11 -DXP_UNIX \ |
|
129 -Wl,+k $(MPICMN) |
|
130 #CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ |
|
131 -D_HPUX_SOURCE -Aa +e -z +DA2.0 +DS2.0 +DChpux -DHPUX11 -DXP_UNIX \ |
|
132 -Wl,+k $(MPICMN) |
|
133 AS = $(CC) $(CFLAGS) -c |
|
134 endif |
|
135 |
|
136 ifeq ($(TARGET),PA1.1HPUX) |
|
137 #HPUX32 (HP PA 1.1) Pure 32 bit |
|
138 MPICMN += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD |
|
139 #MPICMN += -DMP_USE_LONG_LONG_MULTIPLY |
|
140 CFLAGS= -O -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ |
|
141 -D_HPUX_SOURCE +DAportable +DS1.1 -DHPUX11 -DXP_UNIX $(MPICMN) |
|
142 ##CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ |
|
143 # -D_HPUX_SOURCE +DAportable +DS1.1 -DHPUX11 -DXP_UNIX $(MPICMN) |
|
144 endif |
|
145 |
|
146 ifeq ($(TARGET),32AIX) |
|
147 # |
|
148 CC = xlC_r |
|
149 MPICMN += -DMP_USE_UINT_DIGIT |
|
150 MPICMN += -DMP_NO_DIV_WORD |
|
151 #MPICMN += -DMP_NO_MUL_WORD |
|
152 MPICMN += -DMP_NO_ADD_WORD |
|
153 MPICMN += -DMP_NO_SUB_WORD |
|
154 #MPICMN += -DMP_NO_MP_WORD |
|
155 #MPICMN += -DMP_USE_LONG_LONG_MULTIPLY |
|
156 CFLAGS = -O -DAIX -DSYSV -qarch=com -DAIX4_3 -DXP_UNIX -UDEBUG -DNDEBUG $(MPICMN) |
|
157 #CFLAGS = -g -DAIX -DSYSV -qarch=com -DAIX4_3 -DXP_UNIX -UDEBUG -DNDEBUG $(MPICMN) |
|
158 #CFLAGS += -pg |
|
159 endif |
|
160 |
|
161 ifeq ($(TARGET),64AIX) |
|
162 # |
|
163 CC = xlC_r |
|
164 MPICMN += -DMP_USE_UINT_DIGIT |
|
165 CFLAGS = -O -O2 -DAIX -DSYSV -qarch=com -DAIX_64BIT -DAIX4_3 -DXP_UNIX -UDEBUG -DNDEBUG $(MPICMN) |
|
166 OBJECT_MODE=64 |
|
167 export OBJECT_MODE |
|
168 endif |
|
169 |
|
170 ifeq ($(TARGET),x86LINUX) |
|
171 #Linux |
|
172 AS_OBJS = mpi_x86.o |
|
173 MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D |
|
174 MPICMN += -DMP_MONT_USE_MP_MUL -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN |
|
175 CFLAGS= -O2 -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall \ |
|
176 -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR \ |
|
177 -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT $(MPICMN) |
|
178 #CFLAGS= -g -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall \ |
|
179 -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR \ |
|
180 -DXP_UNIX -DDEBUG -UNDEBUG -D_REENTRANT $(MPICMN) |
|
181 #CFLAGS= -g -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall \ |
|
182 -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR \ |
|
183 -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT $(MPICMN) |
|
184 endif |
|
185 |
|
186 ifeq ($(TARGET),armLINUX) |
|
187 MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE |
|
188 MPICMN += -DMP_USE_UINT_DIGIT |
|
189 AS_OBJS += mpi_arm.o |
|
190 endif |
|
191 |
|
192 ifeq ($(TARGET),AMD64SOLARIS) |
|
193 ASFLAGS += -xarch=generic64 |
|
194 AS_OBJS = mpi_amd64.o mpi_amd64_sun.o |
|
195 MP_CONFIG = -DMP_ASSEMBLY_MULTIPLY -DMPI_AMD64 |
|
196 MP_CONFIG += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN |
|
197 CFLAGS = -xarch=generic64 -xO4 -I. -DMP_API_COMPATIBLE -DMP_IOFUNC $(MP_CONFIG) |
|
198 MPICMN += $(MP_CONFIG) |
|
199 |
|
200 mpi_amd64_asm.o: mpi_amd64_sun.s |
|
201 $(AS) -xarch=generic64 -P -D_ASM mpi_amd64_sun.s |
|
202 endif |
|
203 |
|
204 ifeq ($(TARGET),WIN32) |
|
205 ifeq ($(CPU_ARCH),x86_64) |
|
206 AS_OBJS = mpi_amd64.obj mpi_amd64_masm.obj mp_comba_amd64_masm.asm |
|
207 CFLAGS = -Od -Z7 -MDd -W3 -nologo -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USER) |
|
208 CFLAGS += -DWIN32 -DWIN64 -D_WINDOWS -D_AMD_64_ -D_M_AMD64 -DWIN95 -DXP_PC |
|
209 CFLAGS += $(MPICMN) |
|
210 |
|
211 $(AS_OBJS): %.obj : %.asm |
|
212 ml64 -Cp -Sn -Zi -coff -nologo -c $< |
|
213 |
|
214 $(LIBOBJS): %.obj : %.c |
|
215 cl $(CFLAGS) -Fo$@ -c $< |
|
216 else |
|
217 AS_OBJS = mpi_x86.obj |
|
218 MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D |
|
219 MPICMN += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD -DMP_API_COMPATIBLE |
|
220 MPICMN += -DMP_MONT_USE_MP_MUL |
|
221 MPICMN += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN |
|
222 CFLAGS = -Od -Z7 -MDd -W3 -nologo -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USER) |
|
223 CFLAGS += -DWIN32 -D_WINDOWS -D_X86_ -DWIN95 -DXP_PC |
|
224 CFLAGS += $(MPICMN) |
|
225 |
|
226 $(AS_OBJS): %.obj : %.asm |
|
227 ml -Cp -Sn -Zi -coff -nologo -c $< |
|
228 |
|
229 $(LIBOBJS): %.obj : %.c |
|
230 cl $(CFLAGS) -Fo$@ -c $< |
|
231 |
|
232 endif |
|
233 endif |