xref: /phasta/phSolver/incompressible/Makefile (revision 712d3df0b59ebebaaeaea358162c8d2c043c6e08)
1SUBSYSNAME := phasta/phSolver/incompressible
2MODULENAME := incompressible
3BUILDV := 1.0
4ISEXECUTABLE := 1
5OUTNAME := phastaIC.exe
6ifeq ($(ARCHOS), )
7    ARCHOS := $(shell $(DEVROOT)/Util/buildUtil/getarch)
8endif
9
10ifeq ($(ARCHOS),x86_cygwin)
11# the /FORCE option is being used here because of IV8-MSVCRT.Lib
12# incompatabilities while including libles.lib (which was compiled on IV7).
13# It forces exec with missing symbols which could be dangerous but seems
14# to work so far
15
16  LDFLAGS:= /FORCE /STACK:32000000
17  DEVROOT := $(shell cygpath -w -m $(DEVROOT))
18  DEFS = -DACUSIM_NT
19  IOLIB_DIR := $(DEVROOT)/phasta/phastaIO/lib/$(ARCHOS)
20  SHPLIB_DIR := $(DEVROOT)/phasta/shapeFunction/lib/$(ARCHOS)
21  METIS_DIR := $(DEVROOT)/phasta/phMetis/lib/$(ARCHOS)
22  WINLSLIB_DIR := $(shell cygpath -w $(LESLIBDIR)/lib/$(ARCHOS) )
23  WINIOLIB_DIR  := $(shell cygpath -w $(IOLIB_DIR) )
24  WINSHPFN_DIR  := $(shell cygpath -w $(SHPLIB_DIR) )
25  WINMETIS_DIR  := $(shell cygpath -w $(METIS_DIR) )
26  INCLUDES := -I "C:\Program Files\MPICH\SDK\include"
27  ADDSTDLIB := -LIBPATH:../lib/x86_cygwin libcommon.lib \
28               -LIBPATH:"C:\Program Files\MPICH\SDK\Lib" mpich.lib \
29               -LIBPATH:"$(WINLSLIB_DIR)" libles.lib \
30               -LIBPATH:"$(WINIOLIB_DIR)" libphastaIO.lib \
31               -LIBPATH:"$(WINSHPFN_DIR)" libshapeFunction.lib\
32               -LIBPATH:"$(WINMETIS_DIR)" libmetis.lib\
33			    Advapi32.lib Ws2_32.lib /subsystem:console /release
34else
35
36  PRECOMPILE := copymods
37  ARPACKPATH := $(DEVROOT)/ARPACK
38
39  LIBARPACK := $(ARPACKPATH)/libarpack_linux.a
40  LIBPARPACK := $(ARPACKPATH)/parpack_MPI-linux.a
41
42  ifeq ($(ARCHOS),ia64_linux)
43    DEFS := $(DEFS) -Dsun4_5 -DACUSIM_LINUXIPF
44  endif
45  ifeq ($(ARCHOS),sun4_5)
46       DEFS := $(DEFS) -Dsun4_5 -DACUSIM_SUN
47       LDFLAGS := $(LDFLAGS) -lfsu -lfai2 -lfsumai -lfminlai -lfminvai \
48                  -lfmaxvai -lfmaxlai -lF77 -lsunmath -lthread \
49                  -lsocket -lnsl -lrt -lnsl -laio  -lsunperf -lmvec
50  endif
51  ifeq ($(ARCHOS),sgi_6-64)
52       DEFS := $(DEFS) -Dsgi_6 -Dsgi -DACUSIM_SGI64
53       fortlib := /usr/lib64/libcomplib.sgimath.so
54       LDFLAGS := $(LDFLAGS) -lc -lfortran $(fortlib) -lftn -lffio\
55                  -lfpe -lffio -lfpe -lm
56  endif
57  ifeq ($(ARCHOS),x86_linux-icc)
58	  DEFS := $(DEFS) -DLINUX -DACUSIM_LINUX
59	  CFLAGS := $(CFLAGS) -w
60	  FFLAGS := $(FFLAGS) -w95 -W0 -cm -80 -fpp
61	  LDFLAGS := $(LDFLAGS) -lifcore -lpthread
62#          LDFLAGS := $(LDFLAGS) -L/usr/local/intel/mkl72/lib/32 -lmkl_ia32 -lmkl_p4 -lmkl_lapack
63#	  LDFLAGS := (LDFLAGS) -lintrins -lCEPCF90 -lPEPCF90 -lF90
64  endif
65  ifeq ($(ARCHOS),x86_64_linux-icc)
66	  DEFS := $(DEFS) -DLINUX -DACUSIM_LINUX
67	  CFLAGS := $(CFLAGS) -w
68	  FFLAGS := $(FFLAGS) -w95 -W0 -cm -80 -fpp
69	  LDFLAGS := $(LDFLAGS) -lifcore -lpthread
70#	  LDFLAGS := $(LDFLAGS) -L/usr/local/intel/mkl72/lib/32 -lmkl_ia32 -lmkl_p4 -lmkl_lapack
71#	  LDFLAGS := $(LDFLAGS) -lintrins -lCEPCF90 -lPEPCF90 -lF90
72  endif
73  ifeq ($(ARCHOS),x86_64_linux-pgi)
74        DEFS := $(DEFS) -DLINUX
75        FFLAGS := $(FFLAGS) -Mextend -Mpreprocess
76        LDFLAGS := $(LDFLAGS) -lpgf90 -lpgf90_rpm1 -lpgf902 -lpgf90rtl -lpgftnrtl -lrt
77#        LDFLAGS := $(LDFLAGS) -pgf90libs
78  endif
79  ifeq ($(ARCHOS),alpha_osf)
80        DEFS := $(DEFS) -Ddecalp -DACUSIM_ALPHA
81	FFLAGS := $(FFLAGS) -convert big_endian -arch host -tune host -unroll 4\
82		  -fast -shared -w
83	CCFLAGS := $(CCFLAGS) -convert big_endian -arch host -tune host -call_shared
84	LDFLAGS := $(LDFLAGS) -ldxml -lsciport -lc -lfor -lFutil -lm -lots -lUfor -lmpi
85  endif
86  ifeq ($(ARCHOS),ibm-bg)
87        FFLAGS := $(FFLAGS) -qnullterm -qfixed=132 -qlist -qsource -qsuffix=cpp=f
88        DEFS := $(DEFS) -Dibm
89        LDFLAGS := $(LDFLAGS) -L/opt/ibmcmp/xlf/bg/10.1/blrts_lib -lxlf90 -lxlfmath
90  endif
91  ifeq ($(ARCHOS),ibm-bgp)
92        FFLAGS := $(FFLAGS) -qnullterm -qfixed=132 -qlist -qsource -qsuffix=cpp=f
93        DEFS := $(DEFS) -Dibm
94        LDFLAGS := $(LDFLAGS) -L/soft/apps/ibmcmp/xlf/bg/11.1/bglib -lxlopt -lxl -lxlf90 -lxlfmath -L/opt/ibmcmp/xlsmp/bg/1.7/bglib -lxlomp_ser
95  endif
96
97endif
98
99ifeq ($(AMG),1)
100    DEFS := $(DEFS) -DAMG
101    ifeq ($(ARCHOS),ibm-bg)
102      FDEFS := $(FDEFS) '-WF,-DAMG'
103    elif ($(ARCHOS),ibm-bgp)
104      FDEFS := $(FDEFS) '-WF,-DAMG'
105    else
106      FDEFS := $(FDEFS) -DAMG
107    endif
108    LDFLAGS := $(LDFLAGS) $(LIBPARPACK) $(LIBARPACK)
109endif
110
111
112dirs := .
113mods  := timedata.f stats.f
114DEPS := $(DEPS) phasta/phSolver/$(VERSION)/phSolver phasta/phastaIO phasta/phMetis\
115        phasta/shapeFunction LIBLES/1.5
116LIBS := $(LIBS) common phastaIO metis shapeFunction les
117
118ifeq ($(AMG),1)
119    DEPS := $(DEPS) phasta/phSolver/$(VERSION)/phSolver
120    LIBS := $(LIBS) AMG
121endif
122
123INCLUDES := $(INCLUDES) -I../common
124ADDLIB = $(ADDSTDLIB)
125# need to include common for intel fortran .mod files
126include $(DEVROOT)/Util/buildUtil/make.common
127
128.PHONY: copymods
129.PHONY: $(OUTFILE)
130
131copymods:
132	cp ../common/*.mod .
133ifeq ($(AMG),1)
134	cp ../AMG/*.mod .
135endif
136