#------------------------------------------------------------------------------- # d_hydro top-level automake configutation # common.am (see also configure.ac) # # Fedor.Baart@Deltares.NL # Adri.MouritsDeltares.NL # Irv.ElshoffDeltares.NL # 6 jun 11 #------------------------------------------------------------------------------- # C/C++ flags AM_CFLAGS = \ -std=c99 \ -D_GNU_SOURCE \ -O2 \ -DSTR_LEN_AT_END AM_CXXFLAGS = \ -std=c++98 \ -D_GNU_SOURCE \ -O2 \ -DSTR_LEN_AT_END STANDARD_C_INCLUDES = \ -I. \ -I$(top_srcdir)/engines_gpl/d_hydro/include \ -I$(top_srcdir)/engines_gpl/flow2d3d/packages/flow2d3d/src \ -I$(top_srcdir)/engines_gpl/flow2d3d/packages/flow2d3d/src/dd \ -I$(top_srcdir)/engines_gpl/flow2d3d/packages/flow2d3d/src/dd/iterators \ -I$(top_srcdir)/engines_gpl/flow2d3d/packages/flow2d3d/src/dd/mapper \ -I$(top_srcdir)/third_party_open/DelftOnline/include \ -I$(top_srcdir)/third_party_open/DelftOnline/include/linux \ -I$(top_srcdir)/utils_lgpl/d_hydro_lib/include \ -I$(top_srcdir)/utils_lgpl/esmfsm/include \ -I$(top_srcdir)/utils_lgpl/precision/include \ -I$(top_srcdir)/utils_lgpl/stream/include # Fortran 77/90 flags FINCLUDES = FMODULES = \ -I$(top_srcdir)/utils_lgpl/precision/packages/precision/src AM_FCFLAGS = \ -fexceptions \ $(FINCLUDES) \ $(FMODULES) \ -O2 AM_FCFLAGS+=$(OPENMP_FCFLAGS) AM_FFLAGS = \ $(FINCLUDES) \ $(FMODULES) \ -O2 AM_FFLAGS+=$(OPENMP_FFLAGS) # (disabled) LEX and YACC flags #AM_LFLAGS += -L #AM_YFLAGS += -d # Allow to build in different subdirectories # This is described in http://www.gnu.org/software/automake/manual/automake.html#VPATH-Builds srcdir = @srcdir@ VPATH = @srcdir@ #----- Common external library locations ------------------------------------- #### ATTENTION: #### DO NOT DEFINE FCLIBS (AND MPILIBS) HERE !!!! #### # When FCLIBS IS NOT defined here, then: #### # - flow2d3d crashes on 8 of the 28 dd-testcases #### # - FCLIBS is defined by automake as: -L/opt/intel/fc/10.1.015/lib -L/usr/lib/gcc/i386-redhat-linux/3.4.6/ -L/usr/lib/gcc/i386-redhat-linux/3.4.6/../../../ -lifport -lifcore -limf -lm -lipgo -lirc -lgcc_s -lirc_s -ldl #### # Note the dynamic link flag -ldl #### # - All modules compile and link #### # When FCLIBS IS defined here, then: #### # - flow2d3d runs fine on all dd-testcases #### # - Modules linked by the C++ linker do not link anymore: undefined reference to `dlsym' #### # This problem is solved by adding the -ldl flag in the related Makefile.am # 32 bit: # FCLIBS = -L/opt/intel/Compiler/11.0/081/lib/ia32 -lifcoremt # MPILIBS = -L/opt/mpich2/lib -lmpichf90 -lmpich -lpthread # 64 bit: # FCLIBS = -L/opt/intel/Compiler/11.0/081/lib/intel64 # MPILIBS = -L/opt/mpich2-1.0.8-intel64/lib -lmpichf90 -lmpich -lpthread #------------------------------------------------------------------------------- # Custom make targets ds-install: install ( \ cp -p $(top_srcdir)/third_party_open/DelftOnline/lib/*.so $(libdir) ; \ cd $(top_srcdir) ; \ ./install.sh ../bin \ ) # ToDo: make delftflow-dist part of ds-install? delftflow-dist: ds-install ( \ export DEST=$(top_srcdir)/dist/delftflow-linux ; \ mkdir -p $$DEST ; \ cp -p $(top_srcdir)/bin/d_hydro.exe $$DEST ; \ cd $$DEST/.. ; \ tar czf delftflow-linux.tgz delftflow-linux ; \ rm -rf delftflow-linux \ ) distclean-local: rm -f *.mod rm -f $(top_srcdir)/bin/* rm -f $(top_srcdir)/lib/* ds-clean: distclean distclean-local maintainer-clean maintainer-clean-am rm -f Makefile.in