1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
#
# platform_specific.mk.x86_64-linux
#
# This file is included in Makefiles under the
# fer, fmt, and ppl directories and defines platform specific macros
#
# Leave blank to omit additional Linux linker flags that bind and hide internal
# functions. Including these linker flags is mainly to hide statically-linked
# libcairo functions from systems that use an older version of libcairo (e.g., RHEL6).
BIND_AND_HIDE_INTERNAL = True
# Extended regular expressions flag for sed (used with cleaning up run_tests results)
SED_EXTREGEX_FLAG = -r
#
# Include directories
#
NETCDF_INCLUDE = -I$(NETCDF_LIBDIR)/../include
ifeq ($(strip $(HDF5_LIBDIR)),)
HDF5_INCLUDE =
else
HDF5_INCLUDE = -I$(HDF5_LIBDIR)/../include
endif
ifeq ($(strip $(CAIRO_LIBDIR)),)
CAIRO_INCLUDE = -I/usr/include/cairo
else
CAIRO_INCLUDE = -I$(CAIRO_LIBDIR)/../include -I$(CAIRO_LIBDIR)/../include/cairo
endif
ifeq ($(strip $(PIXMAN_LIBDIR)),)
PIXMAN_INCLUDE =
else
PIXMAN_INCLUDE = -I$(PIXMAN_LIBDIR)/../include
endif
ifeq ($(strip $(PANGO_LIBDIR)),)
PANGO_INCLUDE = -I/usr/include/pango-1.0
else
PANGO_INCLUDE = -I$(PANGO_LIBDIR)/../include/pango-1.0
endif
ifeq ($(strip $(GLIB2_LIBDIR)),)
ifeq ($(shell /bin/ls -d /usr/lib64/glib-2.0/include 2>/dev/null),/usr/lib64/glib-2.0/include)
GLIB2_INCLUDE = -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include
else
GLIB2_INCLUDE = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
endif
else
GLIB2_INCLUDE = -I$(GLIB2_LIBDIR)/../include/glib-2.0 -I$(GLIB2_LIBDIR)/glib-2.0/include
endif
MYINCLUDES = -I$(PYTHONINCDIR) \
-I$(DIR_PREFIX)/fer/common \
-I$(DIR_PREFIX)/fer/grdel \
-I$(DIR_PREFIX)/fer/cferbind \
-I$(DIR_PREFIX)/fer/ccr \
-I$(DIR_PREFIX)/fmt/cmn \
-I$(DIR_PREFIX)/ppl/include \
-I$(DIR_PREFIX)/ppl/tmap_inc \
-I$(DIR_PREFIX)/pyfermod \
-I$(DIR_PREFIX)/external_functions/ef_utility \
$(NETCDF_INCLUDE) \
$(HDF5_INCLUDE) \
$(CAIRO_INCLUDE) \
$(PIXMAN_INCLUDE) \
$(PANGO_INCLUDE) \
$(GLIB2_INCLUDE)
MYDEFINES = -Dcrptd_cat_argument \
-Ddouble_p \
-Dgfortran \
-Dreclen_in_bytes \
-Dunix \
-Dxgks \
-DG77 \
-DG77_SIGNAL \
-DINTERNAL_READ_FORMAT_BUG \
-DMANDATORY_FORMAT_WIDTHS \
-DNEED_IAND \
-DNO_DOUBLE_ESCAPE_SLASH \
-DNO_OPEN_CARRIAGECONTROL \
-DNO_OPEN_READONLY \
-DNO_OPEN_RECORDTYPE \
-DNO_OPEN_SHARED \
-DNO_PASSED_CONCAT \
-DNO_PREPEND_STRING \
-DSTAR_1_SUPPORTED
AR = $(shell which ar)
RANLIB = $(shell which ranlib)
ARFLAGS = -cr
CFLAGS = -m64 -fPIC $(MYDEFINES) $(MYINCLUDES)
FFLAGS = -m64 -fPIC \
-fno-automatic \
-fno-second-underscore \
-fdollar-ok \
-ffixed-line-length-132 \
-ffpe-trap=overflow \
-fno-backslash \
-fimplicit-none \
-fdefault-real-8 \
-fdefault-double-8 \
$(MYDEFINES) $(MYINCLUDES)
PPLUS_FFLAGS = -m64 -fPIC \
-fno-automatic \
-fno-second-underscore \
-fdollar-ok \
-ffixed-line-length-132 \
-fno-backslash \
$(MYDEFINES) $(MYINCLUDES)
OPT_FLAGS = -O -DNDEBUG
PPLUS_OPT_FLAGS = -O0
DBG_FLAGS = -O0 -g
PROF_FLAGS = -O0 -g -pg
# Directly compile the .F source files to the .o object files
# since gfortran can handle the C compiler directives in Fortran code
%.o : %.F
$(FC) $(FFLAGS) -c $*.F -o $*.o
#
# End of platform_specific.mk.x86_64-linux
#
|