# Makefile for TRAHALO,MIR,MIR_II

# Use `make trahalo'          to build the normal distribution.
# Use `make mir'              to build the normal distribution.
# Use `make mir_II'           to build the normal distribution.

# Use `make trahalo_ccp4'     to build the ccp4 distribution.
# Use `make mir_ccp4'         to build the ccp4 distribution.
# Use `make mir_II_ccp4'      to build the ccp4 distribution.

# Use `make trahalo_lnx'      to build the linux distribution.
# Use `make mir_lnx'          to build the linux distribution.
# Use `make mir_lnx_ccp4'     to build the linux distribution with ccp4.
# Use `make mir_II_lnx'       to build the linux distribution.

# Use `make clean'    to remove objects and executable

#
# For Linux L77 = fort77 -Nn1203 -Nx1200
#

# Change next line to define another target directory for the 
# executable and dictionary files
#
TRAHALO = `cd ..;pwd`

BIN = $(TRAHALO)/bin
DIC = $(TRAHALO)/dic

F77 = f77 -O2

C77 = f77 -32 -O2

L77 = fort77 -Nn2406 -Nx1200

OBJS_L =  main_trahalo_l.o trahalo_l.o trahalo_prog_l.o trahalo_subr_l.o trahalo_unix_l.o

OBJS_T =  main_trahalo.o trahalo.o trahalo_prog.o trahalo_subr.o trahalo_unix.o

OBJS_TC =  main_trahalo_c.o trahalo_c.o trahalo_prog_c.o trahalo_subr_c.o trahalo_unix_c.o

OBJS_MIR =  main_mir.o mir.o sir.o denmod_subr.o trahalo.o trahalo_prog.o trahalo_subr.o trahalo_unix.o

OBJS_MIR_II_C =  main_mir_II_c.o mir_II_c.o sir_c.o denmod_subr_c.o trahalo_c.o trahalo_prog_c.o trahalo_subr_c.o trahalo_unix_c.o

OBJS_MIR_II =  main_mir_II.o mir_II.o sir.o denmod_subr.o trahalo.o trahalo_prog.o trahalo_subr.o trahalo_unix.o

OBJS_MIR_L =  main_mir_l.o mir_l.o sir_l.o denmod_subr_l.o trahalo_l.o trahalo_prog_l.o trahalo_subr_l.o trahalo_unix_l.o

OBJS_MIR_II_L =  main_mir_II_l.o mir_II_l.o sir_l.o denmod_subr_l.o trahalo_l.o trahalo_prog_l.o trahalo_subr_l.o trahalo_unix_l.o

OBJS_SIR =  main_sir.o sir.o denmod_subr.o trahalo.o trahalo_prog.o trahalo_subr.o trahalo_unix.o

OBJS_SIR_L =  main_sir_l.o sir_l.o denmod_subr_l.o trahalo_l.o trahalo_prog_l.o trahalo_subr_l.o trahalo_unix_l.o

OBJS_MIR_C =  main_mir_mtz.o mir.o sir.o denmod_subr.o trahalo.o trahalo_prog.o trahalo_subr.o trahalo_unix.o

OBJS_MIR_CC =  main_mir_mtz_c.o mir_c.o sir_c.o denmod_subr_c.o trahalo_c.o trahalo_prog_c.o trahalo_subr_c.o trahalo_unix_c.o

OBJS_MIR_CCL =  main_mir_mtz_l.o mir_l.o sir_l.o denmod_subr_l.o trahalo_l.o trahalo_prog_l.o trahalo_subr_l.o trahalo_unix_l.o


trahalo: tr_edit trah

trahalo_ccp4: tr_edit trah_ccp4

trahalo_lnx: tr_edit trah_ln

mir: tr_edit mr

mir_ccp4: tr_edit mr_ccp4

mir_lnx: tr_edit mr_ln

mir_lnx_ccp4: tr_edit mr_ln_ccp4

mir_II: tr_edit mrII

mir_II_ccp4: tr_edit mrII_ccp4

mir_II_lnx: tr_edit mrII_ln

sir: tr_edit sr

sir_lnx: tr_edit sr_ln

tr_edit:
	sed -e "s|+'|+'$(TRAHALO)|" \
	trahalo_path.fh > temp_trahalo_path.fh

clean:
	rm -f temp_trahalo_path.fh
	rm -f $(BIN)/*
	rm -f ./*.o
	rm -f ./*~ ./#*

# -----------------------------

trahalo.o: trahalo.f 
	$(F77) -Olimit 2000 -c trahalo.f 
trahalo_prog.o: trahalo_prog.f 
	$(F77) -Olimit 2000 -c trahalo_prog.f 
trahalo_subr.o: trahalo_subr.f temp_trahalo_path.fh 
	$(F77) -c trahalo_subr.f 
main_trahalo.o: main_trahalo.f trahalo_version.fh 
	$(F77) -c main_trahalo.f 
trahalo_unix.o: trahalo_unix.f 
	$(F77) -c trahalo_unix.f 

trah: $(OBJS_T)
	$(F77) -o $(BIN)/trahalo $(OBJS_T)

main_mir.o: main_mir.f mir_version.fh 
	$(F77) -c main_mir.f 
mir.o: mir.f 
	$(F77) -c mir.f 
main_mir_II.o: main_mir_II.f mir_version.fh 
	$(F77) -c main_mir_II.f 
mir_II.o: mir_II.f 
	$(F77) -c mir_II.f 
sir.o: sir.f 
	$(F77) -c sir.f 
denmod_subr.o: denmod_subr.f 
	$(F77) -c denmod_subr.f 

mr: $(OBJS_MIR)
	$(F77) -o $(BIN)/mir $(OBJS_MIR)

mrII: $(OBJS_MIR_II)
	$(F77) -o $(BIN)/mir_II $(OBJS_MIR_II)

main_sir.o: main_sir.f sir_version.fh 
	$(F77) -c main_sir.f 

sr: $(OBJS_SIR)
	$(F77) -o $(BIN)/sir $(OBJS_SIR)
# -----------------------------------
trahalo_c.o: trahalo.f 
	$(C77) -Olimit 2000 -c trahalo.f 
trahalo_prog_c.o: trahalo_prog.f 
	$(C77) -Olimit 2000 -c trahalo_prog.f 
trahalo_subr_c.o: trahalo_subr.f temp_trahalo_path.fh 
	$(C77) -c trahalo_subr.f 
trahalo_unix_c.o: trahalo_unix.f 
	$(C77) -c trahalo_unix.f 
main_trahalo_c.o: main_trahalo.f trahalo_version.fh 
	$(C77) -c main_trahalo.f 
main_mir_mtz_c.o: main_mir_mtz.f mir_version.fh 
	$(C77) -c main_mir_mtz.f 
main_mir_II_c.o: main_mir_II.f mir_version.fh 
	$(C77) -c main_mir_II.f 
mir_c.o: mir.f 
	$(C77) -c mir.f 
mir_II_c.o: mir_II.f 
	$(C77) -c mir_II.f 
sir_c.o: sir.f 
	$(C77) -c sir.f 
denmod_subr_c.o: denmod_subr.f 
	$(C77) -c denmod_subr.f 

mr_ccp4: $(OBJS_MIR_CC)
	$(C77) -o $(BIN)/mir $(OBJS_MIR_C) $(CLIB)/libccp4.a

trah_ccp4: $(OBJS_TC)
	$(C77) -o $(BIN)/trahalo $(OBJS_T)

mrII_ccp4: $(OBJS_MIR_II_C)
	$(C77) -o $(BIN)/mir_II $(OBJS_MIR_II)
# -------------------------

trahalo_l.o: trahalo.f 
	$(L77) -c trahalo.f 
trahalo_prog_l.o: trahalo_prog.f 
	$(L77) -c trahalo_prog.f 
trahalo_subr_l.o: trahalo_subr.f temp_trahalo_path.fh 
	$(L77) -c trahalo_subr.f 
main_trahalo_l.o: main_trahalo.f trahalo_version.fh 
	$(L77) -c main_trahalo.f 
trahalo_unix_l.o: trahalo_unix.f 
	$(L77) -c trahalo_unix.f 
trah_ln: $(OBJS_L)
	$(L77) -o $(BIN)/trahalo $(OBJS_T)

# --------------------------------
main_mir_l.o: main_mir.f mir_version.fh 
	$(L77) -c main_mir.f 
mir_l.o: mir.f 
	$(L77) -c mir.f 
main_mir_II_l.o: main_mir_II.f mir_version.fh 
	$(L77) -c main_mir_II.f 
mir_II_l.o: mir_II.f 
	$(L77) -c mir_II.f 
sir_l.o: sir.f 
	$(L77) -c sir.f 
denmod_subr_l.o: denmod_subr.f 
	$(L77) -c denmod_subr.f 

mr_ln: $(OBJS_MIR_L)
	$(L77) -o $(BIN)/mir $(OBJS_MIR)

mrII_ln: $(OBJS_MIR_II_L)
	$(L77) -o $(BIN)/mir_II $(OBJS_MIR_II)

main_sir_l.o: main_sir.f sir_version.fh 
	$(L77) -c main_sir.f 

sr_ln: $(OBJS_SIR_L)
	$(L77) -o $(BIN)/sir $(OBJS_SIR)
# -----------------------------------
main_mir_mtz_l.o: main_mir_mtz.f mir_version.fh 
	$(L77) -c main_mir_mtz.f 

mr_ln_ccp4: $(OBJS_MIR_CCL)
	$(L77) -o $(BIN)/mir $(OBJS_MIR_C) $(CLIB)/libccp4.a
# --------------------------------
