##############################
# Make file for LAUEGEN      #
##############################
#
#
# The following macro items should be set as required:
#
#             SRC     is the directory where the source files are stored.
#             F77     is the the name of the Fortran compiler e.g fc, f77
#             FFLAGS  are the Fortran compiler flags required e.g. '-c -O1'
#             FLINK   is the Fortran linking command
#             LIB     is the directory where the libraries are to be stored
#             BIN     is the directory where the executable binary file is  
#                     to be stored.
#             CC      is the (Ansi} 'C' compiler
#             RANDLIB is the command used to update the library table of
#                     contents. e.g 'ranlib' or 'ar t'
#             FSPLIT  fsplit program to split fortran file into individual
#                     subroutines .f files (may be supplied utility 'splitf')
#             ISPLIT  utility program to split combined INCLUDES file
#                     into individual INCLUDES files
#
#

SRC = .
F77 = f77
FFLAGS = -c -O1
FLINK = f77 -L${SRC}
LIB = ${SRC}
BIN = ${SRC}
CC = cc 
RANDLIB = ar t
FSPLIT = ${BIN}/splitf
ISPLIT = ${BIN}/isplit

CTARGETS = isplit splitf 
           
utils: ${CTARGETS} 

${CTARGETS}:
	${CC} -o ${BIN}/$@ ${SRC}/$@.c


FTARGETS1 = lauelib91 \
            tsubs \
            mtxlib \
            oldsym

FTARGETS2 = ldm \
            lrl \
            lfn

lauelibs: ${FTARGETS1} ${FTARGETS2}

${FTARGETS1}:
	-@rm -f *.f *.o
	${FSPLIT} ${SRC}/$@.for
	${F77} ${FFLAGS} *.f
	ar r ${LIB}/liblaue.a *.o
	-@rm -f *.f *.o 
	-${RANDLIB} ${LIB}/liblaue.a


${FTARGETS2}:
	-@rm -f *.f *.o
	${FSPLIT} ${SRC}/$@.for
	${ISPLIT} ${SRC}/$@.inc
	${F77} ${FFLAGS} *.f
	ar r ${LIB}/liblaue.a *.o
	-@rm -f *.f *.o *.finc
	-${RANDLIB} ${LIB}/liblaue.a


XDLTARGETS = xdl_base_fr \
           xdl_blank_obj \
           xdl_image \
           xdl_bg \
           xdl_img_rd \
           xdl_film_img \
           xdl_io_window \
           xdl_menu_area \
           xdl_text_tab \
           xdl_laue_sim \
           xdl_panel_itm \
           xdl_parm_tab \
           xdl_pop_dialg \
           xdl_pop_frame \
           xdl_pop_menu \
           xdl_pop_notic \
           xdl_prog_bar \
           xdl_layout \
           xdl_graph_win \
           xdl_control \
           xdl_view \
           xdl_bg_old \
           xdl_rd_old \
           xdl_lsim_old

xdl_viewlib: ${XDLTARGETS}

${XDLTARGETS}:
	-@rm -f *.o
	${CC} -c ${SRC}/$@.c
	ar r ${LIB}/libxdl_view.a *.o
	-@rm -f *.o
	-${RANDLIB} ${LIB}/libxdl_view.a

FTARGETS_CCP4 = ccplib \
                symlib \
                parser \
                unix

CTARGETS_CCP4 = library

ccplibs: ${FTARGETS_CCP4} ${CTARGETS_CCP4}

${FTARGETS_CCP4}:
	-@rm -f *.f *.o
	${FSPLIT} ${SRC}/$@.for
	${F77} ${FFLAGS} *.f
	ar r ${LIB}/libccp4.a *.o
	-@rm -f *.f *.o
	-${RANDLIB} ${LIB}/libccp4.a

${CTARGETS_CCP4}:
	-@rm -f *.o
	${CC} -c ${SRC}/$@.c
	ar r ${LIB}/libccp4.a *.o
	-@rm -f *.o
	-${RANDLIB} ${LIB}/libccp4.a

FTARGETS3 = lauegen

lauegen: ${FTARGETS3}

${FTARGETS3}:
	-@rm -f *.f *.o
	${FSPLIT} ${SRC}/$@.for
	${ISPLIT} ${SRC}/$@.inc
	${F77} ${FFLAGS} *.f
	${FLINK} -o ${BIN}/$@ *.o -llaue -lxdl_view -lccp4 -lX11
	-@rm *.f *.o *.finc
