michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: ## michael@0: ## Define CFLAGS to contain any local options your compiler michael@0: ## setup requires. michael@0: ## michael@0: ## Conditional compilation options are no longer here; see michael@0: ## the file 'mpi-config.h' instead. michael@0: ## michael@0: MPICMN = -I. -DMP_API_COMPATIBLE -DMP_IOFUNC michael@0: CFLAGS= -O $(MPICMN) michael@0: #CFLAGS=-ansi -fullwarn -woff 1521 -O3 $(MPICMN) michael@0: #CFLAGS=-ansi -pedantic -Wall -O3 $(MPICMN) michael@0: #CFLAGS=-ansi -pedantic -Wall -g -O2 -DMP_DEBUG=1 $(MPICMN) michael@0: michael@0: ifeq ($(TARGET),mipsIRIX) michael@0: #IRIX michael@0: #MPICMN += -DMP_MONT_USE_MP_MUL michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE michael@0: MPICMN += -DMP_USE_UINT_DIGIT michael@0: #MPICMN += -DMP_NO_MP_WORD michael@0: AS_OBJS = mpi_mips.o michael@0: #ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 -exceptions michael@0: ASFLAGS = -O -OPT:Olimit=4000 -dollar -fullwarn -xansi -n32 -mips3 michael@0: #CFLAGS=-ansi -n32 -O3 -fullwarn -woff 1429 -D_SGI_SOURCE $(MPICMN) michael@0: CFLAGS=-ansi -n32 -O2 -fullwarn -woff 1429 -D_SGI_SOURCE $(MPICMN) michael@0: #CFLAGS=-ansi -n32 -g -fullwarn -woff 1429 -D_SGI_SOURCE $(MPICMN) michael@0: #CFLAGS=-ansi -64 -O2 -fullwarn -woff 1429 -D_SGI_SOURCE -DMP_NO_MP_WORD \ michael@0: $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),alphaOSF1) michael@0: #Alpha/OSF1 michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY michael@0: AS_OBJS+= mpvalpha.o michael@0: #CFLAGS= -O -Olimit 4000 -ieee_with_inexact -std1 -DOSF1 -D_REENTRANT $(MPICMN) michael@0: CFLAGS= -O -Olimit 4000 -ieee_with_inexact -std1 -DOSF1 -D_REENTRANT \ michael@0: -DMP_NO_MP_WORD $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),v9SOLARIS) michael@0: #Solaris 64 michael@0: SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xchip=ultra -xarch=v9a -KPIC -mt michael@0: #SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v9a -KPIC -mt michael@0: SOLARIS_ASM_FLAGS = -xchip=ultra -xarch=v9a -KPIC -mt michael@0: AS_OBJS += montmulfv9.o michael@0: AS_OBJS += mpi_sparc.o mpv_sparcv9.o michael@0: MPICMN += -DMP_USE_UINT_DIGIT michael@0: #MPICMN += -DMP_NO_MP_WORD michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY michael@0: MPICMN += -DMP_USING_MONT_MULF michael@0: CFLAGS= -O -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ michael@0: -DSOLARIS2_8 -xarch=v9 -DXP_UNIX $(MPICMN) michael@0: #CFLAGS= -g -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ michael@0: -DSOLARIS2_8 -xarch=v9 -DXP_UNIX $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),v8plusSOLARIS) michael@0: #Solaris 32 michael@0: SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v8plusa -KPIC -mt michael@0: SOLARIS_ASM_FLAGS = -xchip=ultra -xarch=v8plusa -KPIC -mt michael@0: AS_OBJS += montmulfv8.o michael@0: AS_OBJS += mpi_sparc.o mpv_sparcv8.o michael@0: #AS_OBJS = montmulf.o michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY michael@0: MPICMN += -DMP_USING_MONT_MULF michael@0: MPICMN += -DMP_USE_UINT_DIGIT michael@0: MPICMN += -DMP_NO_MP_WORD michael@0: CFLAGS=-O -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ michael@0: -DSOLARIS2_6 -xarch=v8plus -DXP_UNIX $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),v8SOLARIS) michael@0: #Solaris 32 michael@0: #SOLARIS_FPU_FLAGS = -fast -xO5 -xrestrict=%all -xdepend -xchip=ultra -xarch=v8 -KPIC -mt michael@0: #SOLARIS_ASM_FLAGS = -xchip=ultra -xarch=v8plusa -KPIC -mt michael@0: #AS_OBJS = montmulfv8.o mpi_sparc.o mpv_sparcv8.o michael@0: #AS_OBJS = montmulf.o michael@0: #MPICMN += -DMP_USING_MONT_MULF michael@0: #MPICMN += -DMP_ASSEMBLY_MULTIPLY michael@0: MPICMN += -DMP_USE_LONG_LONG_MULTIPLY -DMP_USE_UINT_DIGIT michael@0: MPICMN += -DMP_NO_MP_WORD michael@0: CFLAGS=-O -KPIC -DSVR4 -DSYSV -D__svr4 -D__svr4__ -DSOLARIS -D_REENTRANT \ michael@0: -DSOLARIS2_6 -xarch=v8 -DXP_UNIX $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),ia64HPUX) michael@0: #HPUX 32 on ia64 -- 64 bit digits SCREAM. michael@0: # This one is for DD32 which is the 32-bit ABI with 64-bit registers. michael@0: CFLAGS= +O3 -DHPUX10 -D_POSIX_C_SOURCE=199506L -Aa +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +p +DD32 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) michael@0: #CFLAGS= -O -DHPUX10 -D_POSIX_C_SOURCE=199506L -Aa +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +p +DD32 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) michael@0: #CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +p +DD32 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),ia64HPUX64) michael@0: #HPUX 32 on ia64 michael@0: # This one is for DD64 which is the 64-bit ABI michael@0: CFLAGS= +O3 -DHPUX10 -D_POSIX_C_SOURCE=199506L -Aa +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +p +DD64 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) michael@0: #CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +p +DD64 -DHPUX11 -DXP_UNIX -Wl,+k $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),PA2.0WHPUX) michael@0: #HPUX64 (HP PA 2.0 Wide) using MAXPY and 64-bit digits michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE michael@0: AS_OBJS = mpi_hp.o hpma512.o hppa20.o michael@0: CFLAGS= -O -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +DA2.0W +DS2.0 +O3 +DChpux -DHPUX11 -DXP_UNIX \ michael@0: $(MPICMN) michael@0: #CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +DA2.0W +DS2.0 +DChpux -DHPUX11 -DXP_UNIX \ michael@0: $(MPICMN) michael@0: AS = $(CC) $(CFLAGS) -c michael@0: endif michael@0: michael@0: ifeq ($(TARGET),PA2.0NHPUX) michael@0: #HPUX32 (HP PA 2.0 Narrow) hybrid model, using 32-bit digits michael@0: # This one is for DA2.0 (N) which is the 32-bit ABI with 64-bit registers. michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE michael@0: AS_OBJS = mpi_hp.o hpma512.o hppa20.o michael@0: CFLAGS= +O3 -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +DA2.0 +DS2.0 +DChpux -DHPUX11 -DXP_UNIX \ michael@0: -Wl,+k $(MPICMN) michael@0: #CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE -Aa +e -z +DA2.0 +DS2.0 +DChpux -DHPUX11 -DXP_UNIX \ michael@0: -Wl,+k $(MPICMN) michael@0: AS = $(CC) $(CFLAGS) -c michael@0: endif michael@0: michael@0: ifeq ($(TARGET),PA1.1HPUX) michael@0: #HPUX32 (HP PA 1.1) Pure 32 bit michael@0: MPICMN += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD michael@0: #MPICMN += -DMP_USE_LONG_LONG_MULTIPLY michael@0: CFLAGS= -O -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ michael@0: -D_HPUX_SOURCE +DAportable +DS1.1 -DHPUX11 -DXP_UNIX $(MPICMN) michael@0: ##CFLAGS= -g -DHPUX10 -D_POSIX_C_SOURCE=199506L -Ae +Z -DHPUX -Dhppa \ michael@0: # -D_HPUX_SOURCE +DAportable +DS1.1 -DHPUX11 -DXP_UNIX $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),32AIX) michael@0: # michael@0: CC = xlC_r michael@0: MPICMN += -DMP_USE_UINT_DIGIT michael@0: MPICMN += -DMP_NO_DIV_WORD michael@0: #MPICMN += -DMP_NO_MUL_WORD michael@0: MPICMN += -DMP_NO_ADD_WORD michael@0: MPICMN += -DMP_NO_SUB_WORD michael@0: #MPICMN += -DMP_NO_MP_WORD michael@0: #MPICMN += -DMP_USE_LONG_LONG_MULTIPLY michael@0: CFLAGS = -O -DAIX -DSYSV -qarch=com -DAIX4_3 -DXP_UNIX -UDEBUG -DNDEBUG $(MPICMN) michael@0: #CFLAGS = -g -DAIX -DSYSV -qarch=com -DAIX4_3 -DXP_UNIX -UDEBUG -DNDEBUG $(MPICMN) michael@0: #CFLAGS += -pg michael@0: endif michael@0: michael@0: ifeq ($(TARGET),64AIX) michael@0: # michael@0: CC = xlC_r michael@0: MPICMN += -DMP_USE_UINT_DIGIT michael@0: CFLAGS = -O -O2 -DAIX -DSYSV -qarch=com -DAIX_64BIT -DAIX4_3 -DXP_UNIX -UDEBUG -DNDEBUG $(MPICMN) michael@0: OBJECT_MODE=64 michael@0: export OBJECT_MODE michael@0: endif michael@0: michael@0: ifeq ($(TARGET),x86LINUX) michael@0: #Linux michael@0: AS_OBJS = mpi_x86.o michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D michael@0: MPICMN += -DMP_MONT_USE_MP_MUL -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN michael@0: CFLAGS= -O2 -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall \ michael@0: -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR \ michael@0: -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT $(MPICMN) michael@0: #CFLAGS= -g -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall \ michael@0: -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR \ michael@0: -DXP_UNIX -DDEBUG -UNDEBUG -D_REENTRANT $(MPICMN) michael@0: #CFLAGS= -g -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall \ michael@0: -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR \ michael@0: -DXP_UNIX -UDEBUG -DNDEBUG -D_REENTRANT $(MPICMN) michael@0: endif michael@0: michael@0: ifeq ($(TARGET),armLINUX) michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE michael@0: MPICMN += -DMP_USE_UINT_DIGIT michael@0: AS_OBJS += mpi_arm.o michael@0: endif michael@0: michael@0: ifeq ($(TARGET),AMD64SOLARIS) michael@0: ASFLAGS += -xarch=generic64 michael@0: AS_OBJS = mpi_amd64.o mpi_amd64_sun.o michael@0: MP_CONFIG = -DMP_ASSEMBLY_MULTIPLY -DMPI_AMD64 michael@0: MP_CONFIG += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN michael@0: CFLAGS = -xarch=generic64 -xO4 -I. -DMP_API_COMPATIBLE -DMP_IOFUNC $(MP_CONFIG) michael@0: MPICMN += $(MP_CONFIG) michael@0: michael@0: mpi_amd64_asm.o: mpi_amd64_sun.s michael@0: $(AS) -xarch=generic64 -P -D_ASM mpi_amd64_sun.s michael@0: endif michael@0: michael@0: ifeq ($(TARGET),WIN32) michael@0: ifeq ($(CPU_ARCH),x86_64) michael@0: AS_OBJS = mpi_amd64.obj mpi_amd64_masm.obj mp_comba_amd64_masm.asm michael@0: CFLAGS = -Od -Z7 -MDd -W3 -nologo -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USER) michael@0: CFLAGS += -DWIN32 -DWIN64 -D_WINDOWS -D_AMD_64_ -D_M_AMD64 -DWIN95 -DXP_PC michael@0: CFLAGS += $(MPICMN) michael@0: michael@0: $(AS_OBJS): %.obj : %.asm michael@0: ml64 -Cp -Sn -Zi -coff -nologo -c $< michael@0: michael@0: $(LIBOBJS): %.obj : %.c michael@0: cl $(CFLAGS) -Fo$@ -c $< michael@0: else michael@0: AS_OBJS = mpi_x86.obj michael@0: MPICMN += -DMP_ASSEMBLY_MULTIPLY -DMP_ASSEMBLY_SQUARE -DMP_ASSEMBLY_DIV_2DX1D michael@0: MPICMN += -DMP_USE_UINT_DIGIT -DMP_NO_MP_WORD -DMP_API_COMPATIBLE michael@0: MPICMN += -DMP_MONT_USE_MP_MUL michael@0: MPICMN += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN michael@0: CFLAGS = -Od -Z7 -MDd -W3 -nologo -DDEBUG -D_DEBUG -UNDEBUG -DDEBUG_$(USER) michael@0: CFLAGS += -DWIN32 -D_WINDOWS -D_X86_ -DWIN95 -DXP_PC michael@0: CFLAGS += $(MPICMN) michael@0: michael@0: $(AS_OBJS): %.obj : %.asm michael@0: ml -Cp -Sn -Zi -coff -nologo -c $< michael@0: michael@0: $(LIBOBJS): %.obj : %.c michael@0: cl $(CFLAGS) -Fo$@ -c $< michael@0: michael@0: endif michael@0: endif