Makefile 3.64 KB
Newer Older
Florian Wittkamp's avatar
Florian Wittkamp committed
1
# Makefile for IFOS2D
Tilman Steinweg's avatar
Tilman Steinweg committed
2 3 4 5 6 7 8 9

#--------------------------------------------------------
# edit here:

# source code for model generation

#MODEL = hh.c
MODEL = ../genmod/1D_linear_gradient_visc.c
10
MODEL_AC = ../genmod/1D_linear_gradient_ac.c
11
MODEL_EL = ../genmod/1D_linear_gradient_el.c
Florian Wittkamp's avatar
Florian Wittkamp committed
12
MODEL_VAC = ../genmod/1D_linear_gradient_viscac.c
Tilman Steinweg's avatar
Tilman Steinweg committed
13 14
EXEC= ../bin

Florian Wittkamp's avatar
Florian Wittkamp committed
15 16 17 18 19 20 21
# Description:
# CC = Compiler
# LFLAGS = Linker flag
# CFLAGS = Compiler flag

# LINUX with OpenMPI / IntelMPI and INTEL Compiler
# Use icc whenever possible, this will be much faster than gcc
22
CC=mpiicc
Tilman Steinweg's avatar
Tilman Steinweg committed
23 24 25 26 27
LFLAGS=-lm -lcseife -lstfinv -laff -lfourierxx -lfftw3 -lstdc++
CFLAGS=-O3
SFLAGS=-L./../contrib/libcseife -L./../contrib/bin
IFLAGS=-I./../contrib/libcseife -I./../contrib/header -I.

Florian Wittkamp's avatar
Florian Wittkamp committed
28 29 30 31 32 33
# LINUX with OpenMPI / IntelMPI and GCC Compiler
#CC=mpicc
#LFLAGS=-lm -lcseife -lstfinv -laff -lfourierxx -lfftw3 -lstdc++
#CFLAGS=-O3
#SFLAGS=-L./../contrib/libcseife -L./../contrib/bin
#IFLAGS=-I./../contrib/libcseife -I./../contrib/header -I.
Tilman Steinweg's avatar
Tilman Steinweg committed
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51


# after this line, no further editing should be necessary
# --------------------------------------------------------

.c.o:
	$(CC) $(CFLAGS) -o $@ -c $< $(IFLAGS)

SNAPMERGE_SCR = \
	snapmerge.c \
	merge.c \
	json_parser.c \
	read_par_json.c \
	readdsk.c \
	writedsk.c \
	util.c 


Florian Wittkamp's avatar
Florian Wittkamp committed
52 53
IFOS2D= \
	IFOS2D.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
54 55 56
	stf.c \
	window_cos.c \
	calc_mat_change_test.c \
57
    calc_res.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
58
	calc_misfit.c \
59
    calc_opt_step.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
60 61 62 63 64 65 66 67 68 69 70 71 72
	calc_energy.c \
	checkfd.c \
	checkfd_ssg_elastic.c \
	checkfd_ssg_visc.c \
	conv_FD.c \
	count_killed_traces.c \
	psource.c \
	holbergcoeff.c\
	comm_ini.c\
	exchange_v.c \
	exchange_s.c \
	exchange_p.c \
	snap_ssg.c \
73
    snap_ssg_SH.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
74 75 76 77 78 79
	seismo_ssg.c \
	surface_elastic_PML.c \
	surface_acoustic_PML.c \
	surface_PML.c \
	update_v_ssg.c \
	update_v_PML.c \
80
	update_v_PML_SH.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
81 82 83 84 85
	update_v_acoustic_PML.c \
	prepare_update_s.c \
	update_p_PML.c \
	update_s_elastic_ssg.c \
	update_s_elastic_PML.c \
86
    update_s_elastic_PML_SH.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
87
	update_s_visc_PML.c \
88
    update_s_visc_PML_SH.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
89 90 91 92 93 94 95 96 97 98 99 100 101 102
	av_mue.c \
	av_rho.c \
	av_tau.c \
	median2D.c \
	exchange_par.c \
	info.c \
	inseis.c \
	inseis_source_wavelet.c \
	initproc.c \
	interpol.c \
	json_parser.c \
	LBFGS.c \
	smooth.c \
	$(MODEL) \
103
	$(MODEL_AC) \
104
	$(MODEL_EL) \
Florian Wittkamp's avatar
Florian Wittkamp committed
105
    $(MODEL_VAC) \
Tilman Steinweg's avatar
Tilman Steinweg committed
106 107 108 109 110 111 112 113 114 115 116 117
	matcopy.c \
	matcopy_elastic.c \
	matcopy_acoustic.c \
	mergemod.c \
	max_grad.c \
	note.c \
	norm.c \
	outseis_vector.c \
	outseis_glob.c \
	catseis.c \
	output_source_signal.c \
	PCG.c \
118
	PCG_SH.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
119 120 121 122 123 124
	PML_pro.c \
	readdsk.c \
	read_par_json.c \
	readmod.c \
	readmod_elastic.c \
	readmod_acoustic.c \
125
    receiver.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
126
	rd_sour.c \
127 128
    read_workflow.c \
    apply_workflow.c \
Tilman Steinweg's avatar
Tilman Steinweg committed
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
	saveseis_glob.c \
	sources.c \
	solvelin.c \
	spat_filt.c \
	splitsrc.c \
	splitsrc_back.c \
	splitrec.c \
	stalta.c \
	taper.c \
	taper_grad.c \
	taper_grad_shot.c \
	timedomain_filt.c \
	timedomain_filt_vector.c \
	time_window.c \
	util.c \
	wavelet.c \
	wavelet_stf.c \
	writemod.c \
	write_par.c \
	writedsk.c \
	zero_fdveps.c \
	zero_fdveps_ac.c \
	zero_fdveps_visc.c \
	calc_envelope.c \
153 154 155 156 157 158
    joint_inversion.c \
    matrix_operations.c \
    wolfe_condition.c \
    calc_hilbert.c \
	eprecond.c \
	eprecond1.c \
Florian Wittkamp's avatar
Florian Wittkamp committed
159 160 161 162 163
    zero_fdveps_viscac.c \
    update_p_visc_PML.c \
    matcopy_viscac.c \
    prepare_update_p.c \
    readmod_viscac.c \
Florian Wittkamp's avatar
Florian Wittkamp committed
164
    time_window_glob.c \
165
    create_trkill_table.c \
166 167
    filter_frequencies.c
    
Tilman Steinweg's avatar
Tilman Steinweg committed
168 169
SNAPMERGE_OBJ = $(SNAPMERGE_SCR:%.c=%.o)

Florian Wittkamp's avatar
Florian Wittkamp committed
170
IFOS_OBJ = $(IFOS2D:%.c=%.o)
Tilman Steinweg's avatar
Tilman Steinweg committed
171 172 173 174

snapmerge:	$(SNAPMERGE_OBJ)
	$(CC) $(SFLAGS) $(SNAPMERGE_OBJ) -o ../bin/snapmerge $(LFLAGS)

Florian Wittkamp's avatar
Florian Wittkamp committed
175
IFOS2D:		$(IFOS_OBJ)
Florian Wittkamp's avatar
Florian Wittkamp committed
176
	$(CC) $(SFLAGS) $(IFOS_OBJ) -o $(EXEC)/IFOS2D $(LFLAGS)
Tilman Steinweg's avatar
Tilman Steinweg committed
177 178 179 180 181

clean:
	find . -name "*.o" -exec rm {} \; 
	find . -name "*.c%" -exec rm {} \;
	find . -name "*.bck" -exec rm {} \;
Florian Wittkamp's avatar
Florian Wittkamp committed
182
	find ../genmod -name "*.o" -exec rm {} \;