# Makefile to build nic tasks : makplan, restore, convert, onoff
# $Header: Makefile,v 1.2 94/11/21 15:15:24 gildas Exp $
#
BIN     = ${GAG_DEST}/bin
LIB     = ${GAG_DEST}/lib
TO      = ${GAG_DEST}/task/nic/
FROM    = ${GAG_REF}/task/nic/
DEST    = ${GAG_DEST}/task/exec/
LIST	= -lgdf -limage -lgag -lm

.SUFFIXES:      .for
.f.o:
	$(COMPILF) $*.f
.c.o:
	$(COMPILC) $*.c
 
INCLUDES = \
	makplan.inc  convert.inc   parameter.inc   const.inc  radec.inc \
        onoff.inc
#
exe: ${TO}/makplan.exe ${TO}/restore.exe ${TO}/convert.exe ${TO}/onoff.exe \
        ${TO}/shift_and_add.exe
#
unpack: $(FROM)/.uptodate
inc: $(INCLUDES)
#
#
$(FROM)/.uptodate:  $(TARDIR)/nic_task.tar.Z 
	(cd $(GAG_REF); uncompress -c $(TARDIR)/nic_task.tar.Z |tar xf - ; \
	 cp $(FROM)/*.init  $(DEST); \
	 cp $(FROM)/*.check $(DEST) )
	touch $(FROM)/.uptodate 
# remove commentaries in directory $FROM and $LAST on 2 next lines
$(LIB)/libnic.a: $(TARDIR)/nic_main.tar.Z 
	(cd $(GAG_REF)/nic/main; make exe $(ARGS))
#
${TO}/makplan.exe:  nic_task_dummy.o makplan_task.o   makplan_main.o   	\
        makplan_azcon.o         makplan_elcon.o \
	makplan_norm.o          makplan_fungen.o \
	zigzag_correction.o     maxmin_image.o \
	$(LIB)/libnic.a \
        $(LIB)/libimage.a  $(LIB)/libgdf.a    $(LIB)/libgag.a 
	$(LINK) -o ${TO}/makplan.exe makplan_task.o \
        makplan_main.o   	makplan_azcon.o \
	makplan_elcon.o 	makplan_fungen.o \
	makplan_norm.o          maxmin_image.o    zigzag_correction.o \
        -L$(LIB) -lnic $(LIST)
	cp ${TO}/makplan.exe $(DEST)/makplan.exe
#
makplan_main.f:	${FROM}/makplan_main.for,v
	(cd ${FROM}; \
	co -p makplan_main.for | $(BIN)/fpre > ${TO}/makplan_main.f)
makplan_task.f:	${FROM}/makplan_task.for,v
	(cd ${FROM}; \
	co -p makplan_task.for | $(BIN)/fpre > ${TO}/makplan_task.f)
makplan_azcon.f:	${FROM}/makplan_azcon.for,v
	(cd ${FROM}; \
	co -p makplan_azcon.for | $(BIN)/fpre > ${TO}/makplan_azcon.f)
makplan_elcon.f:	${FROM}/makplan_elcon.for,v
	(cd ${FROM}; \
	co -p makplan_elcon.for | $(BIN)/fpre > ${TO}/makplan_elcon.f)
makplan_fungen.f:	${FROM}/makplan_fungen.for,v
	(cd ${FROM}; \
	co -p makplan_fungen.for | $(BIN)/fpre > ${TO}/makplan_fungen.f)
makplan_norm.f:	${FROM}/makplan_norm.for,v
	(cd ${FROM}; \
	co -p makplan_norm.for | $(BIN)/fpre > ${TO}/makplan_norm.f)
maxmin_image.f:	${FROM}/maxmin_image.for,v
	(cd ${FROM}; \
	co -p maxmin_image.for | $(BIN)/fpre > ${TO}/maxmin_image.f)
zigzag_correction.f:	${FROM}/zigzag_correction.for,v
	(cd ${FROM}; \
	co -p zigzag_correction.for | $(BIN)/fpre > ${TO}/zigzag_correction.f)
#
#
${TO}/shift_and_add.exe:  nic_task_dummy.o shift_and_add.o \
        makplan_azcon.o   makplan_elcon.o 	makplan_fungen.o \
	makplan_norm.o    maxmin_image.o        zigzag_correction.o \
        radec.o \
	$(LIB)/libnic.a \
        $(LIB)/libimage.a  $(LIB)/libgdf.a    $(LIB)/libgag.a 
	$(LINK) -o ${TO}/shift_and_add.exe shift_and_add.o \
        makplan_azcon.o   makplan_elcon.o 	makplan_fungen.o \
	makplan_norm.o    maxmin_image.o  zigzag_correction.o radec.o\
        -L$(LIB) -lnic $(LIST)
	cp ${TO}/shift_and_add.exe $(DEST)/shift_and_add.exe
#
shift_and_add.f:	${FROM}/shift_and_add.for,v
	(cd ${FROM}; \
	co -p shift_and_add.for | $(BIN)/fpre > ${TO}/shift_and_add.f)
#
#
${TO}/restore.exe:  nic_task_dummy.o restore_task.o restore.o  maxmin_image.o \
        $(LIB)/libnic.a \
        $(LIB)/libimage.a  $(LIB)/libgdf.a    $(LIB)/libgag.a  
	$(LINK) -o ${TO}/restore.exe  restore.o restore_task.o maxmin_image.o\
        -L$(LIB) -lnic $(LIST)
	cp ${TO}/restore.exe $(DEST)/restore.exe
#            
restore_task.f:	${FROM}/restore_task.for,v
	(cd ${FROM}; \
	co -p restore_task.for | $(BIN)/fpre > ${TO}/restore_task.f)
restore.f:	${FROM}/restore.for,v
	(cd ${FROM}; \
	co -p restore.for | $(BIN)/fpre > ${TO}/restore.f)
#
#
${TO}/convert.exe:  nic_task_dummy.o convert_task.o convert.o  \
        convert_init.o convert_lst_el.o makplan_fungen.o makplan_norm.o \
        maxmin_image.o convert_combine.o radec.o $(LIB)/libnic.a \
        $(LIB)/libimage.a  $(LIB)/libgdf.a    $(LIB)/libgag.a 
	$(LINK) -o ${TO}/convert.exe  convert_task.o convert.o \
        convert_init.o convert_lst_el.o makplan_norm.o makplan_fungen.o \
        maxmin_image.o  convert_combine.o radec.o \
        -L$(LIB) -lnic $(LIST)
	cp ${TO}/convert.exe $(DEST)/convert.exe
#            
convert_task.f:	${FROM}/convert_task.for,v
	(cd ${FROM}; \
	co -p convert_task.for | $(BIN)/fpre > ${TO}/convert_task.f)
convert.f:	${FROM}/convert.for,v
	(cd ${FROM}; \
	co -p convert.for | $(BIN)/fpre > ${TO}/convert.f)
convert_init.f:	${FROM}/convert_init.for,v
	(cd ${FROM}; \
	co -p convert_init.for | $(BIN)/fpre > ${TO}/convert_init.f)
convert_lst_el.f:	${FROM}/convert_lst_el.for,v
	(cd ${FROM}; \
	co -p convert_lst_el.for | $(BIN)/fpre > ${TO}/convert_lst_el.f)
convert_combine.f:	${FROM}/convert_combine.for,v
	(cd ${FROM}; \
	co -p convert_combine.for | $(BIN)/fpre > ${TO}/convert_combine.f)
radec.f:	${FROM}/radec.for,v
	(cd ${FROM}; \
        co -p radec.for | $(BIN)/fpre > ${TO}/radec.f)
#
#
${TO}/onoff.exe:  nic_task_dummy.o onoff_task.o \
        onoff_flux.o onoff_radec.o radec.o  onoff_result.o fit_quadratic.o\
        $(LIB)/libnic.a \
        $(LIB)/libimage.a  $(LIB)/libgdf.a    $(LIB)/libgag.a 
	$(LINK) -o ${TO}/onoff.exe  onoff_task.o onoff_flux.o \
        onoff_radec.o radec.o onoff_result.o fit_quadratic.o\
        -L$(LIB) -lnic $(LIST)
	cp ${TO}/onoff.exe $(DEST)/onoff.exe
#            
onoff_task.f:   ${FROM}/onoff_task.for,v
	(cd ${FROM}; \
        co -p onoff_task.for | $(BIN)/fpre > ${TO}/onoff_task.f)
onoff_flux.f:   ${FROM}/onoff_flux.for,v
	(cd ${FROM}; \
        co -p onoff_flux.for | $(BIN)/fpre > ${TO}/onoff_flux.f)
onoff_radec.f:  ${FROM}/onoff_radec.for,v
	(cd ${FROM}; \
        co -p onoff_radec.for | $(BIN)/fpre > ${TO}/onoff_radec.f)
onoff_result.f:  ${FROM}/onoff_result.for,v
	(cd ${FROM}; \
        co -p onoff_result.for | $(BIN)/fpre > ${TO}/onoff_result.f)
fit_quadratic.f:  ${FROM}/fit_quadratic.for,v
	(cd ${FROM}; \
        co -p fit_quadratic.for | $(BIN)/fpre > ${TO}/fit_quadratic.f)
#
# Include files
#
makplan.inc:	${FROM}/makplan.inc,v
	(cd ${FROM}; co -p makplan.inc | $(BIN)/fpre > ${TO}/makplan.inc)
parameter.inc:	${FROM}/parameter.inc,v
	(cd ${FROM}; co -p parameter.inc | $(BIN)/fpre > ${TO}/parameter.inc)
convert.inc:	${FROM}/convert.inc,v
	(cd ${FROM}; co -p convert.inc | $(BIN)/fpre > ${TO}/convert.inc)
onoff.inc:	${FROM}/onoff.inc,v
	(cd ${FROM}; co -p onoff.inc | $(BIN)/fpre > ${TO}/onoff.inc)
const.inc:	${FROM}/const.inc,v
	(cd ${FROM}; co -p const.inc | $(BIN)/fpre > ${TO}/const.inc)
radec.inc:	${FROM}/radec.inc,v
	(cd ${FROM}; co -p radec.inc | $(BIN)/fpre > ${TO}/radec.inc)
#
# Dummy file
#
nic_task_dummy.f: ${FROM}/nic_task_dummy.for,v  $(INCLUDES)
	(touch ${TO}/nic_task_dummy.o; rm ${TO}/*.o; \
        cd $(FROM); co -p nic_task_dummy.for | \
        $(BIN)/fpre > ${TO}/nic_task_dummy.f)
#



