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 133 134 135 136 137 138
|
#
# platform_specific.mk.intel-mac
#
# 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 =
# Extended regular expressions flag for sed (used with cleaning up run_tests results)
SED_EXTREGEX_FLAG = -E
#
# 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
# Pango uses harfbuzz whose include files may reside in their own "harfbuzz" subdirectory
# but the source files do not include this subdirectory in the includes statements
ifeq ($(strip $(PANGO_LIBDIR)),)
ifeq ($(shell /bin/ls -d /usr/include/harfbuzz 2>/dev/null),/usr/include/harfbuzz)
PANGO_INCLUDE = -I/usr/include/pango-1.0 -I/usr/include/harfbuzz
else
PANGO_INCLUDE = -I/usr/include/pango-1.0
endif
else
ifeq ($(shell /bin/ls -d $(PANGO_LIBDIR)/../include/harfbuzz 2>/dev/null),$(PANGO_LIBDIR)/../include/harfbuzz)
PANGO_INCLUDE = -I$(PANGO_LIBDIR)/../include/pango-1.0 -I$(PANGO_LIBDIR)/../include/harfbuzz
else
PANGO_INCLUDE = -I$(PANGO_LIBDIR)/../include/pango-1.0
endif
endif
ifeq ($(strip $(GLIB2_LIBDIR)),)
GLIB2_INCLUDE = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
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 = -fPIC $(MYDEFINES) $(MYINCLUDES)
FFLAGS = -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 = -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
# 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.intel-mac
#
|