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## 12MPICMN = -I. -DMP_API_COMPATIBLE -DMP_IOFUNC 13CFLAGS= -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 18ifeq ($(TARGET),mipsIRIX) 19#IRIX 20#MPICMN += -DMP_MONT_USE_MP_MUL 21MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE 22MPICMN += -DMP_USE_UINT_DIGIT 23#MPICMN += -DMP_NO_MP_WORD 24AS_OBJS = mpi_mips.o 25#ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 -exceptions 26ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 27#CFLAGS=-ansi -n32 -O3 -fullwarn -woff 1429 -D_SGI_SOURCE $(MPICMN) 28CFLAGS=-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) 32endif 33 34ifeq ($(TARGET),alphaOSF1) 35#Alpha/OSF1 36MPICMN += -DMP_ASSEMBLY_MULTIPLY 37AS_OBJS+= mpvalpha.o 38#CFLAGS= -O -Olimit 4000 -ieee_with_inexact -std1 -DOSF1 -D_REENTRANT $(MPICMN) 39CFLAGS= -O -Olimit 4000 -ieee_with_inexact -std1 -DOSF1 -D_REENTRANT \ 40 -DMP_NO_MP_WORD $(MPICMN) 41endif 42 43ifeq ($(TARGET),v9SOLARIS) 44#Solaris 64 45SOLARIS_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 47SOLARIS_ASM_FLAGS = -xchip=ultra -xarch=v9a -KPIC -mt 48AS_OBJS += montmulfv9.o 49AS_OBJS += mpi_sparc.o mpv_sparcv9.o 50MPICMN += -DMP_USE_UINT_DIGIT 51#MPICMN += -DMP_NO_MP_WORD 52MPICMN += -DMP_ASSEMBLY_MULTIPLY 53MPICMN += -DMP_USING_MONT_MULF 54CFLAGS= -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) 58endif 59 60ifeq ($(TARGET),v8plusSOLARIS) 61#Solaris 32 62SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v8plusa -KPIC -mt 63SOLARIS_ASM_FLAGS = -xchip=ultra -xarch=v8plusa -KPIC -mt 64AS_OBJS += montmulfv8.o 65AS_OBJS += mpi_sparc.o mpv_sparcv8.o 66#AS_OBJS = montmulf.o 67MPICMN += -DMP_ASSEMBLY_MULTIPLY 68MPICMN += -DMP_USING_MONT_MULF 69MPICMN += -DMP_USE_UINT_DIGIT 70MPICMN += -DMP_NO_MP_WORD 71CFLAGS=-O -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ 72 -DSOLARIS2_6 -xarch=v8plus -DXP_UNIX $(MPICMN) 73endif 74 75ifeq ($(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 83MPICMN += -DMP_USE_LONG_LONG_MULTIPLY -DMP_USE_UINT_DIGIT 84MPICMN += -DMP_NO_MP_WORD 85CFLAGS=-O -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ 86 -DSOLARIS2_6 -xarch=v8 -DXP_UNIX $(MPICMN) 87endif 88 89ifeq ($(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. 92CFLAGS= +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) 98endif 99 100ifeq ($(TARGET),ia64HPUX64) 101#HPUX 32 on ia64 102# This one is for DD64 which is the 64-bit ABI 103CFLAGS= +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) 107endif 108 109ifeq ($(TARGET),PA2.0WHPUX) 110#HPUX64 (HP PA 2.0 Wide) using MAXPY and 64-bit digits 111MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE 112AS_OBJS = mpi_hp.o hpma512.o hppa20.o 113CFLAGS= -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) 119AS = $(CC) $(CFLAGS) -c 120endif 121 122ifeq ($(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. 125MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE 126AS_OBJS = mpi_hp.o hpma512.o hppa20.o 127CFLAGS= +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) 133AS = $(CC) $(CFLAGS) -c 134endif 135 136ifeq ($(TARGET),PA1.1HPUX) 137#HPUX32 (HP PA 1.1) Pure 32 bit 138MPICMN += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD 139#MPICMN += -DMP_USE_LONG_LONG_MULTIPLY 140CFLAGS= -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) 144endif 145 146ifeq ($(TARGET),32AIX) 147# 148CC = xlC_r 149MPICMN += -DMP_USE_UINT_DIGIT 150MPICMN += -DMP_NO_DIV_WORD 151#MPICMN += -DMP_NO_MUL_WORD 152MPICMN += -DMP_NO_ADD_WORD 153MPICMN += -DMP_NO_SUB_WORD 154#MPICMN += -DMP_NO_MP_WORD 155#MPICMN += -DMP_USE_LONG_LONG_MULTIPLY 156CFLAGS = -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 159endif 160 161ifeq ($(TARGET),64AIX) 162# 163CC = xlC_r 164MPICMN += -DMP_USE_UINT_DIGIT 165CFLAGS = -O -O2 -DAIX -DSYSV -qarch=com -DAIX_64BIT -DAIX4_3 -DXP_UNIX -UDEBUG -DNDEBUG $(MPICMN) 166OBJECT_MODE=64 167export OBJECT_MODE 168endif 169 170ifeq ($(TARGET),x86LINUX) 171#Linux 172AS_OBJS = mpi_x86.o 173MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D 174MPICMN += -DMP_MONT_USE_MP_MUL -DMP_IS_LITTLE_ENDIAN 175CFLAGS= -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) 184endif 185 186ifeq ($(TARGET),armLINUX) 187MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE 188MPICMN += -DMP_USE_UINT_DIGIT 189AS_OBJS += mpi_arm.o 190endif 191 192ifeq ($(TARGET),AMD64SOLARIS) 193ASFLAGS += -xarch=generic64 194AS_OBJS = mpi_amd64.o mpi_amd64_sun.o 195MP_CONFIG = -DMP_ASSEMBLY_MULTIPLY -DMPI_AMD64 196MP_CONFIG += -DMP_IS_LITTLE_ENDIAN 197CFLAGS = -xarch=generic64 -xO4 -I. -DMP_API_COMPATIBLE -DMP_IOFUNC $(MP_CONFIG) 198MPICMN += $(MP_CONFIG) 199 200mpi_amd64_asm.o: mpi_amd64_sun.s 201 $(AS) -xarch=generic64 -P -D_ASM mpi_amd64_sun.s 202endif 203 204ifeq ($(TARGET),WIN32) 205ifeq ($(CPU_ARCH),x86_64) 206AS_OBJS = mpi_amd64.obj mpi_amd64_masm.obj mp_comba_amd64_masm.asm 207CFLAGS = -Od -Z7 -MDd -W3 -nologo -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USER) 208CFLAGS += -DWIN32 -DWIN64 -D_WINDOWS -D_AMD_64_ -D_M_AMD64 -DWIN95 -DXP_PC 209CFLAGS += $(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 $< 216else 217AS_OBJS = mpi_x86.obj 218MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D 219MPICMN += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD -DMP_API_COMPATIBLE 220MPICMN += -DMP_MONT_USE_MP_MUL 221MPICMN += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN 222CFLAGS = -Od -Z7 -MDd -W3 -nologo -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USER) 223CFLAGS += -DWIN32 -D_WINDOWS -D_X86_ -DWIN95 -DXP_PC 224CFLAGS += $(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 232endif 233endif 234