# Makefile to build nic and libnic.a
# $Header: Makefile,v 1.1 94/11/18 18:35:56 broguier Exp $
#
BIN     = ${GAG_DEST}/bin
LIB     = ${GAG_DEST}/lib
TO      = ${GAG_DEST}/nic/main
FROM    = ${GAG_REF}/nic/main
FROMPRO = ${GAG_REF}/pro
TOPRO   = ${GAG_DEST}/pro
FROMHELP = ${GAG_REF}/help
TOHELP   = ${GAG_DEST}/help
.SUFFIXES:      .for
.f.o:
	$(COMPILF) $*.f
.c.o:
	$(COMPILC) $*.c
 
INCLUDES = \
	nic.inc             par.inc             parameter.inc \
	nmb.inc             const.inc

OBJ  =  nic_dummy.o \
        nic_base.o      nic_file.o 	nic_find.o 	 nic_header.o \
        nic_init.o	nic_input_asc.o nic_input_nmb.o	 nic_list.o \
        nic_load.o	nic_message.o   nic_variable.o	 nic_run.o  \
	nic_focus.o     nic_spike.o     nic_flag.o       nic_get.o \
	nic_pointing.o  nic_check.o     nic_set.o        nic_show.o \
	nic_skydip.o    nic_utst.o      nic_xycoord.o    nic_dangle.o \
        nic_astro.o     nic_singular.o  nic_field.o      nic_support.o \
	nic_memory.o    nic_nmbio.o	nic_read_nmb.o   \
	nic_simul.o     nic_transform.o nic_power.o  \
        nic_rasterdip.o nic_fitsub.o    nic_input_fits.o
#
exe: $(TO)/nic.exe
nag: $(TO)/nic.exe
lapack: $(TO)/nic.exe
none: $(TO)/nic.exe
#
lib: $(LIB)/libnic.a
unpack: $(FROM)/.uptodate
inc: $(INCLUDES)  const.inc

#
$(FROM)/.uptodate:  $(TARDIR)/nic_main.tar.Z 
	(cd $(GAG_REF); uncompress -c $(TARDIR)/nic_main.tar.Z |tar xf - ; \
	 cp $(FROM)/rsm $(BIN))
#	 cp $(FROMPRO)/*.nic $(TOPRO); \
#	 cp $(FROMHELP)/nic.hlp $(TOHELP) )
	touch $(FROM)/.uptodate 
#
#
$(LIB)/libnic.a:	$(OBJ)	
	ar r $(LIB)/libnic.a $?
	$(RANLIB) $(LIB)/libnic.a
#
#
$(TO)/nic.exe: $(LIB)/libnic.a nic_main.o nic_fit.o nic_fit_slatec.o \
$(LIB)/libvector.a  $(LIB)/libgdf.a    $(LIB)/libGREG.a \
$(LIB)/libgtlang.a  $(LIB)/libcontour.a $(LIB)/libchar.a \
$(LIB)/libsic.a     $(LIB)/libimage.a  $(LIB)/libgag.a $(LIB)/libfits.a
#
	@(if [ ${NAG} != /dev/null ] ; then \
	  echo 'Building NIC (NAG version) '; \
	  $(COMPILC) nic_memory.c ; \
	  ar r $(LIB)/libnic.a nic_memory.o ; \
	  $(RANLIB) $(LIB)/libnic.a ; \
	  $(LINK) -o ${TO}/nic.exe nic_main.o nic_fit.o  \
                -L$(LIB) -lnic $(NAG) \
		-lvector -lgdf -lGREG -lgtlang -lcontour \
		-lchar -lsic -lfits -limage -lgag  \
		-lX11 -lm ;\
	else \
         (if [ ${SLATEC} != /dev/null ] ; then \
	  echo 'Building NIC (SLATEC version) '; \
	  $(COMPILC) nic_memory.c ; \
	  ar r $(LIB)/libnic.a nic_memory.o ; \
	  $(RANLIB) $(LIB)/libnic.a ; \
	  $(LINK) -o ${TO}/nic.exe nic_main.o nic_fit_slatec.o  \
                -L$(LIB) -lnic $(SLATEC) \
		-lvector -lgdf -lGREG -lgtlang -lcontour \
		-lchar -lsic -lfits -limage -lgag  \
		-lX11 -lm ;\
         else \
	  echo 'Building NIC (without NAG) '; \
	  $(COMPILC) -DNONAG nic_memory.c ; \
	  ar r $(LIB)/libnic.a nic_memory.o ; \
	  $(RANLIB) $(LIB)/libnic.a ; \
	  $(LINK) -o ${TO}/nic.exe nic_main.o nic_fit.o -L$(LIB) -lnic\
		-lvector -lgdf -lGREG -lgtlang -lcontour \
		-lchar -lsic -lfits -limage -lgag \
		-lX11 -lm ;\
         fi) \
	fi \
	)	
#
#
nic_main.f:	${FROM}/nic_main.for,v
	(cd ${FROM}; co -p nic_main.for | $(BIN)/fpre > ${TO}/nic_main.f)
#nic_analyze.f:	${FROM}/nic_analyze.for,v	
#	(cd ${FROM}; co -p nic_analyze.for | $(BIN)/fpre > ${TO}/nic_analyze.f)
nic_astro.f:	${FROM}/nic_astro.for,v	
	(cd ${FROM}; co -p nic_astro.for | $(BIN)/fpre > ${TO}/nic_astro.f)
nic_base.f:	${FROM}/nic_base.for,v	
	(cd ${FROM}; co -p nic_base.for | $(BIN)/fpre > ${TO}/nic_base.f)
nic_check.f:	${FROM}/nic_check.for,v	
	(cd ${FROM}; co -p nic_check.for | $(BIN)/fpre > ${TO}/nic_check.f)
nic_dangle.f:	${FROM}/nic_dangle.for,v	
	(cd ${FROM}; co -p nic_dangle.for | $(BIN)/fpre > ${TO}/nic_dangle.f)
nic_power.f:	${FROM}/nic_power.for,v	
	(cd ${FROM}; co -p nic_power.for | $(BIN)/fpre > ${TO}/nic_power.f)
nic_flag.f:	${FROM}/nic_flag.for,v	
	(cd ${FROM}; co -p nic_flag.for | $(BIN)/fpre > ${TO}/nic_flag.f)
nic_field.f:	${FROM}/nic_field.for,v	
	(cd ${FROM}; co -p nic_field.for | $(BIN)/fpre > ${TO}/nic_field.f)
nic_file.f:	${FROM}/nic_file.for,v	
	(cd ${FROM}; co -p nic_file.for | $(BIN)/fpre > ${TO}/nic_file.f)
nic_find.f:	${FROM}/nic_find.for,v	
	(cd ${FROM}; co -p nic_find.for | $(BIN)/fpre > ${TO}/nic_find.f)
nic_fit.f:	${FROM}/nic_fit.for,v	
	(cd ${FROM}; co -p nic_fit.for | $(BIN)/fpre > ${TO}/nic_fit.f)
nic_fit_slatec.f:	${FROM}/nic_fit_slatec.for,v
	(cd ${FROM}; co -p nic_fit_slatec.for | $(BIN)/fpre > ${TO}/nic_fit_slatec.f)
nic_fitsub.f:	${FROM}/nic_fitsub.for,v	
	(cd ${FROM}; co -p nic_fitsub.for | $(BIN)/fpre > ${TO}/nic_fitsub.f)
nic_focus.f:	${FROM}/nic_focus.for,v	
	(cd ${FROM}; co -p nic_focus.for |$(BIN)/fpre >${TO}/nic_focus.f)
nic_get.f:	${FROM}/nic_get.for,v	
	(cd ${FROM}; co -p nic_get.for |$(BIN)/fpre >${TO}/nic_get.f)
nic_header.f:	${FROM}/nic_header.for,v	
	(cd ${FROM}; co -p nic_header.for | $(BIN)/fpre > ${TO}/nic_header.f)
nic_init.f:	${FROM}/nic_init.for,v	
	(cd ${FROM}; co -p nic_init.for | $(BIN)/fpre > ${TO}/nic_init.f)
nic_input_asc.f:	${FROM}/nic_input_asc.for,v	
	(cd ${FROM};co -p nic_input_asc.for|$(BIN)/fpre >${TO}/nic_input_asc.f)
nic_input_fits.f:	${FROM}/nic_input_fits.for,v	
	(cd ${FROM};co -p nic_input_fits.for|$(BIN)/fpre >${TO}/nic_input_fits.f)
nic_input_nmb.f:	${FROM}/nic_input_nmb.for,v	
	(cd ${FROM};co -p nic_input_nmb.for|$(BIN)/fpre >${TO}/nic_input_nmb.f)
nic_list.f:	${FROM}/nic_list.for,v	
	(cd ${FROM}; co -p nic_list.for | $(BIN)/fpre > ${TO}/nic_list.f)
nic_load.f:	${FROM}/nic_load.for,v	nic_version.inc
	(cd ${FROM}; co -p nic_load.for | $(BIN)/fpre > ${TO}/nic_load.f)
nic_message.f:	${FROM}/nic_message.for,v	
	(cd ${FROM}; co -p nic_message.for | $(BIN)/fpre > ${TO}/nic_message.f)
nic_pointing.f:	${FROM}/nic_pointing.for,v	
	(cd ${FROM}; co -p nic_pointing.for |$(BIN)/fpre >${TO}/nic_pointing.f)
nic_rasterdip.f:	${FROM}/nic_rasterdip.for,v	
	(cd ${FROM}; co -p nic_rasterdip.for | $(BIN)/fpre > ${TO}/nic_rasterdip.f)
nic_run.f:	${FROM}/nic_run.for,v	
	(cd ${FROM}; co -p nic_run.for | $(BIN)/fpre > ${TO}/nic_run.f)
nic_set.f:	${FROM}/nic_set.for,v	
	(cd ${FROM}; co -p nic_set.for | $(BIN)/fpre > ${TO}/nic_set.f)
nic_show.f:	${FROM}/nic_show.for,v	
	(cd ${FROM}; co -p nic_show.for | $(BIN)/fpre > ${TO}/nic_show.f)
nic_simul.f:	${FROM}/nic_simul.for,v	
	(cd ${FROM}; co -p nic_simul.for | $(BIN)/fpre > ${TO}/nic_simul.f)
nic_skydip.f:	${FROM}/nic_skydip.for,v	
	(cd ${FROM}; co -p nic_skydip.for | $(BIN)/fpre > ${TO}/nic_skydip.f)
nic_spike.f:	${FROM}/nic_spike.for,v	
	(cd ${FROM}; co -p nic_spike.for | $(BIN)/fpre > ${TO}/nic_spike.f)
nic_support.f:	${FROM}/nic_support.for,v	
	(cd ${FROM}; co -p nic_support.for | $(BIN)/fpre > ${TO}/nic_support.f)
nic_transform.f:  ${FROM}/nic_transform.for,v	
	(cd ${FROM};co -p nic_transform.for |$(BIN)/fpre>${TO}/nic_transform.f)
nic_utst.f:	${FROM}/nic_utst.for,v	
	(cd ${FROM}; co -p nic_utst.for | $(BIN)/fpre > ${TO}/nic_utst.f)
nic_xycoord.f:	${FROM}/nic_xycoord.for,v	
	(cd ${FROM}; co -p nic_xycoord.for | $(BIN)/fpre > ${TO}/nic_xycoord.f)
nic_variable.f:	${FROM}/nic_variable.for,v	
	(cd ${FROM}; co -p nic_variable.for |$(BIN)/fpre >${TO}/nic_variable.f)
nic_dummy.f: ${FROM}/nic_dummy.for,v  $(INCLUDES)	
	(touch ${TO}/dummy.o; rm ${TO}/*.o; \
	 cd $(FROM); co -p nic_dummy.for | $(BIN)/fpre > ${TO}/nic_dummy.f)
nic_singular.f:	${FROM}/nic_singular.for,v	
	(cd ${FROM}; co -p nic_singular.for |$(BIN)/fpre >${TO}/nic_singular.f)
#
# C programs
#
nic_nmbio.c:	${FROM}/nic_nmbio.c,v  nmb.h
	(cd ${FROM}; co -p nic_nmbio.c | cat > ${TO}/nic_nmbio.c)
nic_read_nmb.c:	${FROM}/nic_read_nmb.c,v  nmb.h
	(cd ${FROM}; co -p nic_read_nmb.c | cat > ${TO}/nic_read_nmb.c)
nic_memory.c:	${FROM}/nic_memory.c,v
	(cd ${FROM}; co -p nic_memory.c | cat > ${TO}/nic_memory.c)
#
# Include files
#
nic.inc:	${FROM}/nic.inc,v
	(cd ${FROM}; co -p nic.inc | $(BIN)/fpre > ${TO}/nic.inc)
nmb.inc:	${FROM}/nmb.inc,v	
	(cd ${FROM}; co -p nmb.inc | $(BIN)/fpre > ${TO}/nmb.inc)
par.inc:	${FROM}/par.inc,v
	(cd ${FROM}; co -p par.inc | $(BIN)/fpre > ${TO}/par.inc)
parameter.inc:	${FROM}/parameter.inc,v
	(cd ${FROM}; co -p parameter.inc | $(BIN)/fpre > ${TO}/parameter.inc)
const.inc:	${FROM}/const.inc,v
	(cd ${FROM}; co -p const.inc | $(BIN)/fpre > ${TO}/const.inc)
nic_version.inc:	${FROM}/nic_version.inc,v
	(cd ${FROM}; co -p nic_version.inc |$(BIN)/fpre >${TO}/nic_version.inc)
#
nmb.h:	${FROM}/nmb.h,v
	(cd ${FROM}; co -p nmb.h | cat > ${TO}/nmb.h)





