标签:cms pkg folder libs module end OWIN ade machine
Mainly the installstion methods follow the url:
https://github.com/emolch/kiwi/wiki/Installation
there are some notices need to be mentioned:
1: fftw3 download fftw3 here
http://www.fftw.org/download.html
and then install it using
./configure make make install
2:libmseed
download libmseed.2.12 here:
https://github.com/iris-edu/libmseed/releases
then
make
and then
copy all its header files (*.h) to /usr/local/include and libmseed.a to /usr/local/lib
next
edit the .zshrc in home filefolder
#kiwi
export LIBRARY_PATH=${LIBRARY_PATH}:/usr/local/lib
export C_INCLUDE_PATH=${C_INCLUDE_PATH}:/usr/local/include
besides, change the makefile.local as belows:
## ## --- Local build settings for Kiwi Core Tools --- ## ## Copy this file to ‘Makefile.local‘, so that it is included by Makefile. ## ## Fortran 95 compiler: FORTRANC = gfortran ## Select compilation flag preset (‘debug‘ and ‘fast‘ are predefined for g95, ## gfortran and ifort. # PRESET = fast ## The following could be used to create a custom preset: # PRESET = custom # CFLAGS_$(FORTRANC)_custom = ... # LDFLAGS_$(FORTRANC)_custom = ... ## Adjust if HDF5 is installed at a custom location # # INCHDF = -I/bonus/hdf5-$(FORTRANC)/include # LIBHDF = -L/bonus/hdf5-$(FORTRANC)/lib -lhdf5_fortran -lhdf5 -lz HDF5DIR = hdf5-1.8.21/hdf5 INCHDF = -I$(HDF5DIR)/include LIBHDF = $(HDF5DIR)/lib/libhdf5_fortran.a $(HDF5DIR)/lib/libhdf5.a -ldl -lz ## Adjust if FFTW is installed at a custom location # INCFFTW = -I/usr/include LIBFFTW = -L/usr -lfftw3f ## Uncomment to disable SAC IO support to not depend on libsacio # LIBSAC = -Ldummy_sacio -lsacio ## Installation prefix # # prefix = /usr/local
edit the makefile (the -lmseed is replaced with ‘/usr/local/lib/libmseed.a‘)
#
# --- Makefile for Kiwi Core Tools ---
#
# Override default settings in file ‘Makefile.local‘
# (see ‘Makefile.local.example‘)
#
#### Basic settings ------------------------------------------------------------
SHELL = /bin/sh
MAKEDEPEND = ./fdepend.pl -g -d -i hdf5.mod -i omp_lib.mod -i kiwi_home.mod
OBJDEPEND = ./objdepend.pl
FORTRANC := gfortran
INSTALL := /usr/bin/install
#### Preset selection ----------------------------------------------------------
# Can use ‘fast‘ or ‘debug‘ with gfortran, g95 and ifort. You may have to create
# a custom preset when using a different compiler (see below and example in
# Makefile.local.example).
PRESET := fast
#### Installation prefixes -----------------------------------------------------
prefix = /usr/local
datarootdir= $(prefix)/share
datadir = $(datarootdir)
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
#### Default library includes and linker settings ------------------------------
INCDUMMYOMP = -Idummy_omp_lib
LIBDUMMYOMP = dummy_omp_lib/omp_lib.o
INCMSEED =
LIBMSEED = mseed/mseed_simple.o /usr/local/lib/libmseed.a
INCHDF = $(shell pkg-config hdf5 --cflags)
LIBHDF = $(shell pkg-config hdf5 --libs-only-L) -lhdf5_fortran -lhdf5 -lz
INCSAC =
LIBSAC = -lsacio
INCFFTW =
LIBFFTW = -lfftw3f
LIBSMINPACK = -Lsminpack -lsminpack
#### Compiler and linker flag defaults -----------------------------------------
CFLAGS = $(INCMSEED) $(INCHDF) $(INCSAC) $(INCFFTW) $(CFLAGS_$(FORTRANC)_$(PRESET)) #
LDFLAGS = $(LIBMSEED) $(LIBSAC) $(LIBHDF) $(LIBSMINPACK) $(LIBFFTW) $(LDFLAGS_$(FORTRANC)_$(PRESET)) #
#### Compiler specific presets ------------------------------------------------
CFLAGS_ifort_fast = -openmp
LDFLAGS_ifort_fast = -openmp
CFLAGS_ifort_debug = -openmp -g -warn all -ftrapuv -debug all
LDFLAGS_ifort_debug = -openmp
CFLAGS_g95_fast = $(INCDUMMYOMP) -O3
LDFLAGS_g95_fast = $(LIBDUMMYOMP)
CFLAGS_g95_debug = $(INCDUMMYOMP) -g -Wall -ftrace=full -fbounds-check
LDFLAGS_g95_debug = $(LIBDUMMYOMP) -g -Wall -ftrace=full -fbounds-check
CFLAGS_gfortran_fast = $(INCDUMMYOMP) -O3
LDFLAGS_gfortran_fast = $(LIBDUMMYOMP)
CFLAGS_gfortran_debug = $(INCDUMMYOMP) -g -Wall
LDFLAGS_gfortran_debug = $(LIBDUMMYOMP)
#### ---------------------------------------------------------------------------
MACHINE := $(shell ./hostinfo.pl --machine)
OS := $(shell ./hostinfo.pl --os)
-include Makefile.local
# communicate compiler settings to submake (for sminpack)
export FORTRANC
SRCS := $(shell ls *.f90)
TARGETS := eulermt source_info minimizer gfdb_build gfdb_extract gfdb_redeploy gfdb_info gfdb_specialextract gfdb_build_ahfull differential_azidist eikonal_benchmark crust ahfull
TESTS_SRCS := $(shell ls test_*.f90)
TESTS = $(TESTS_SRCS:.f90=)
.PHONY : clean clean-deps tests targets all check install uninstall
# reset make‘s default suffix list for implicit rules, set our own
.SUFFIXES :
.SUFFIXES : .f90 .o .d .mod
all : targets
$(TARGETS) $(TESTS) : .sminpackdone .mseedsimple .dummyomplib .dummysacio
kiwi_home.f90 :
echo "module kiwi_home" > kiwi_home.f90
echo "character (len=*), parameter :: kiwi_home_dir = \"$(datadir)/kiwi\"" >> kiwi_home.f90
echo "end module" >> kiwi_home.f90
.sminpackdone :
$(MAKE) -C sminpack/ && touch .sminpackdone
.mseedsimple :
$(MAKE) -C mseed/ && touch .mseedsimple
.dummyomplib :
$(MAKE) -C dummy_omp_lib/ && touch .dummyomplib
.dummysacio :
$(MAKE) -C dummy_sacio/ && touch .dummysacio
targets : $(TARGETS)
install : targets
$(INSTALL) -d $(bindir)
$(INSTALL) $(TARGETS) $(bindir)
$(INSTALL) -d $(datadir)/kiwi
for f in `find aux -type d -and -not -path ‘*/.svn*‘` ; do $(INSTALL) -d $(datadir)/kiwi/$$f ; done
for f in `find aux -type f -and -not -path ‘*/.svn/*‘` ; do $(INSTALL) $$f $(datadir)/kiwi/$$f ; done
@echo
@echo ‘-----------------------------------------------------------------------‘
@echo ‘ Installation complete.‘
@echo ‘ Please adjust your environment variables:‘
@echo
@echo ‘ * PATH should contain:‘
@echo ‘ ‘ $(bindir)
@echo ‘-----------------------------------------------------------------------‘
uninstall :
rm -rf -d $(datadir)/kiwi
cd $(bindir) ; rm -f $(TARGETS)
tests : $(TESTS)
printvars :
@echo FORTRANC = $(FORTRANC)
@echo CFLAGS = $(CFLAGS)
@echo LDFLAGS = $(LDFLAGS)
check : tests
@for t in $(TESTS); do ./$$t ; done
$(TARGETS) $(TESTS) :
$(FORTRANC) $(filter %.o,$^) $(OMPLIB_$(FORTRANC)) $(LDFLAGS) -o $@
# implicit rules for generating depfiles
%.d : %.f90
@$(MAKEDEPEND) $<
@echo determining dependencies for $<...
progobjects.do : $(SRCS:.f90=.d)
@$(OBJDEPEND) $(TARGETS) $(TESTS) -- $(SRCS:.f90=.d) > $@
@echo determining dependencies for executables...
# implicit rule for compiling
%.o : %.f90
$(FORTRANC) -c $(CFLAGS) $<
kiwi_home.o kiwi_home.mod : kiwi_home.f90
$(FORTRANC) -c $(CFLAGS) $<
minimizer.o : kiwi_home.mod
clean :
rm -f *.o *.mod $(TESTS) $(TARGETS) .sminpackdone .mseedsimple .dummysacio .dummyomplib dummy_omp_lib/omp_lib.o dummy_omp_lib/omp_lib.mod kiwi_home.f90
$(MAKE) -C sminpack/ clean
$(MAKE) -C mseed/ clean
$(MAKE) -C dummy_omp_lib/ clean
$(MAKE) -C dummy_sacio/ clean
clean-deps : clean
rm -f *.d *.do
# include auto-created dependencies
-include progobjects.do
-include $(SRCS:.f90=.d)
then ‘make‘ in the folder of kiwi and the output is as belows:

标签:cms pkg folder libs module end OWIN ade machine
原文地址:https://www.cnblogs.com/seisjun/p/10798106.html