# Makefile for SFCHECK

# Use `make all'      to build the normal distribution.
# Use `make clean'    to remove objects and executable
# Use `make ccp4'     to build the ccp4 distribution.
# Use `make lnx'      to build the linux distribution without ccp4.
# Use `make lnx_ccp4' to build the linux distribution with ccp4.

# Change next line to define another target directory for the sfcheck
# executable and library files

SFCHECK = `cd ..;pwd`

BIN = $(SFCHECK)/bin
LIB = $(SFCHECK)/lib

#F77 = f77 -trapuv -32
F77 = f77 -32

#C77 = f77 -trapuv -32
C77 = f77 -32
#C77 = f77 -n32

#L77 =  f77 -fno-globals -fbounds-check -O2 -w
L77 = f77 -fno-globals  -fno-automatic -O2 -w

OBJS =  main_sfcheck.o sfcheck.o sfch_prog.o sfch_graph_1.o \
        sfch_graph_2.o sfch_graph_3.o sfch_graph_4.o  sfch_graph_5.o sfch_subr.o sfch_unix.o sfch_sym.o

OBJS_MM =  main_sfcheck_mtz_m.o sfcheck_m.o sfch_prog_m.o sfch_graph_1_m.o \
        sfch_graph_2_m.o sfch_graph_3_m.o sfch_graph_4_m.o sfch_graph_5_m.o sfch_subr_m.o sfch_unix_m.o sfch_sym_m.o

OBJS_L =  main_sfcheck_l.o sfcheck_l.o sfch_prog_l.o sfch_graph_1_l.o \
        sfch_graph_2_l.o sfch_graph_3_l.o sfch_graph_4_l.o  sfch_graph_5_l.o sfch_subr_l.o sfch_unix_l.o sfch_sym_l.o

OBJS_T =  main_sfcheck.o sfcheck.o sfch_prog.o sfch_graph_1.o \
        sfch_graph_2.o sfch_graph_3.o sfch_graph_4.o  sfch_graph_5.o sfch_subr.o sfch_unix.o sfch_sym.o

OBJS_LM =  main_sfcheck_mtz_l.o sfcheck_l.o sfch_prog_l.o sfch_graph_1_l.o \
        sfch_graph_2_l.o sfch_graph_3_l.o sfch_graph_4_l.o  sfch_graph_5_l.o sfch_subr_l.o sfch_unix_l.o sfch_sym_l.o

OBJS_TM =  main_sfcheck_mtz.o sfcheck.o sfch_prog.o sfch_graph_1.o \
        sfch_graph_2.o sfch_graph_3.o sfch_graph_4.o  sfch_graph_5.o sfch_subr.o sfch_unix.o sfch_sym.o

OBJS_M =  main_sfcheck_mtz.o sfcheck.o sfch_prog.o sfch_graph_1.o \
        sfch_graph_2.o sfch_graph_3.o sfch_graph_4.o  sfch_graph_5.o sfch_subr.o sfch_unix.o sfch_sym.o


all: sfcheck

lnx: sfcheck_ln

lnx_ccp4: sfcheck_lnm


ccp4: sfcheck_mtz

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

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


sfcheck.o: sfcheck.f sfch_version.fh sfch_comt.fh
	$(F77) -c   -O2 -Olimit 2000 sfcheck.f 
sfch_prog.o: sfch_prog.f sfch_comt.fh
	$(F77) -c   -O2  -Olimit 2000 sfch_prog.f 
sfch_subr.o: sfch_subr.f sfch_comt.fh
	$(F77) -c   -O2  -Olimit 2000 sfch_subr.f 
sfch_graph_1.o: sfch_graph_1.f sfch_graph.inc sfch_graph_ini.inc sfch_version.fh sfch_comt.fh sfch_html.inc
	$(F77) -c   -O2 sfch_graph_1.f
sfch_graph_2.o: sfch_graph_2.f sfch_graph.inc sfch_graph_2.inc
	$(F77) -c   -O2 sfch_graph_2.f
sfch_graph_3.o: sfch_graph_3.f
	$(F77) -c   -O2 sfch_graph_3.f
sfch_unix.o: sfch_unix.f
	$(F77) -c   -O2 sfch_unix.f
sfch_sym.o: sfch_sym.f
	$(F77) -c   -O2 sfch_sym.f
sfch_graph_4.o: sfch_graph_4.f
	$(F77) -c   -O2 sfch_graph_4.f
sfch_graph_5.o: sfch_graph_5.f sfch_graph.inc sfch_html.inc
	$(F77) -c   -O2 sfch_graph_5.f
main_sfcheck.o: main_sfcheck.f sfch_version.fh
	$(F77) -c   -O2 main_sfcheck.f

sfcheck: $(OBJS)
	$(F77) -O2 -o $(BIN)/sfcheck $(OBJS)

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

sfcheck_m.o: sfcheck.f sfch_version.fh sfch_comt.fh
	$(C77) -c   -O2 -Olimit 2000 sfcheck.f 
sfch_prog_m.o: sfch_prog.f sfch_comt.fh
	$(C77) -c   -O2  -Olimit 2000 sfch_prog.f 
sfch_subr_m.o: sfch_subr.f sfch_comt.fh
	$(C77) -c   -O2  -Olimit 2000 sfch_subr.f 
sfch_graph_1_m.o: sfch_graph_1.f sfch_graph.inc sfch_graph_ini.inc sfch_version.fh sfch_comt.fh sfch_html.inc
	$(C77) -c   -O2 sfch_graph_1.f
sfch_graph_2_m.o: sfch_graph_2.f sfch_graph.inc
	$(C77) -c   -O2 sfch_graph_2.f
sfch_graph_3_m.o: sfch_graph_3.f
	$(C77) -c   -O2 sfch_graph_3.f
sfch_unix_m.o: sfch_unix.f
	$(C77) -c   -O2 sfch_unix.f
sfch_sym_m.o: sfch_sym.f
	$(C77) -c   -O2 sfch_sym.f
sfch_graph_4_m.o: sfch_graph_4.f
	$(C77) -c   -O2 sfch_graph_4.f
sfch_graph_5_m.o: sfch_graph_5.f sfch_graph.inc sfch_html.inc
	$(C77) -c   -O2 sfch_graph_5.f
main_sfcheck_mtz_m.o: main_sfcheck_mtz.f sfch_version.fh
	$(C77) -c   -O2 main_sfcheck_mtz.f



sfcheck_mtz: $(OBJS_MM)
	$(C77) -O2 -o $(BIN)/sfcheck $(OBJS_M) $(CLIB)/libccp4.a


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

sfcheck_l.o: sfcheck.f sfch_version.fh sfch_comt.fh
	$(L77) -c sfcheck.f 
sfch_prog_l.o: sfch_prog.f sfch_comt.fh
	$(L77) -c sfch_prog.f 
sfch_subr_l.o: sfch_subr.f sfch_comt.fh
	$(L77) -c sfch_subr.f 
sfch_graph_1_l.o: sfch_graph_1.f sfch_graph.inc sfch_graph_ini.inc sfch_version.fh sfch_comt.fh sfch_html.inc
	$(L77) -c sfch_graph_1.f
sfch_graph_2_l.o: sfch_graph_2.f sfch_graph.inc sfch_graph_2.inc
	$(L77) -c sfch_graph_2.f
sfch_graph_3_l.o: sfch_graph_3.f
	$(L77) -c sfch_graph_3.f
sfch_graph_4_l.o: sfch_graph_4.f
	$(L77) -c sfch_graph_4.f
sfch_graph_5_l.o: sfch_graph_5.f sfch_graph.inc sfch_html.inc
	$(L77) -c sfch_graph_5.f 
sfch_unix_l.o: sfch_unix.f
	$(L77) -c sfch_unix.f
sfch_sym_l.o: sfch_sym.f
	$(L77) -c sfch_sym.f
main_sfcheck_l.o: main_sfcheck.f sfch_version.fh
	$(L77) -c main_sfcheck.f
main_sfcheck_mtz_l.o: main_sfcheck_mtz.f sfch_version.fh
	$(L77) -c main_sfcheck_mtz.f

sfcheck_ln: $(OBJS_L)
	$(L77) -o $(BIN)/sfcheck $(OBJS_T)

sfcheck_lnm: $(OBJS_LM)
	$(L77) -o $(BIN)/sfcheck $(OBJS_TM) $(CLIB)/libccp4.a
# ----------------------------------------
