#
# 	Makefile for SPIRAL (SPARC version)
#       PATH for IRAF binaries and PGPLOT library should be checked.
#
#       Author: M.Hamabe (Institute of Astronomy, The University of Tokyo)
#
#       Last update : 1996-11-20
#

FC = f77
CC = gcc

# ROOTDIR: absolute path of source directory where this Makefile exists.
ROOTDIR = /soft/SPIRAL/spiral/source

# IRAFBIN: IRAF binary directory
IRAFBIN = /iraf/iraf/bin.sparc

# UNIXBIN: IRAF binary directory
UNIXBIN = /iraf/iraf/unix/bin.sparc

LIBIRAF = $(IRAFBIN)/libimfort.a $(IRAFBIN)/libsys.a \
          $(IRAFBIN)/libvops.a   $(UNIXBIN)/libos.a

# SPIRALBIN: directory for executable of SPIRAL
SPIRALBIN = $(ROOTDIR)/../bin

# LOCALBIN: directory for executable of local unix commands
LOCALBIN = /usr/local/bin

LIBSPIRAL = libspiral.a

SPRLLIB = $(ROOTDIR)/lib

LIBWIND = -L/usr/X11R6/lib -lX11 -lm

LIBPGPLOT= /soft/SPIRAL/pgplot/libpgplot.a 
LIBFITSIO= /soft/SPIRAL/FITSIO/V4.1.3/libfitsio.a

LIBS = $(LIBSPIRAL) $(LIBPGPLOT) $(LIBWIND) $(LIBIRAF) $(LIBFITSIO)

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

# SPIRAL main package
PROG1	= apinteg.e badpix.e color.e imgdisp.e imregist.e \
	  isophotes.e skysub.e smooth.e unitmag.e

# SPIRAL profs package
PROG2	= eqprof1.e eqprof2.e mmprof.e prfplot.e profimg.e vplot.e vprof.e 

# SPIRAL photog package
PROG3	= ccfit.e pds2i.e pdsload.e wdkiso.e wdoao.e wdread.e pdslist.e

# SPIRAL jplocal package
PROG4	= efits.e rspiral.e rdvb.e rdftp.e ruh88.e rduh.e vbtran.e rkcb.e

# SPIRAL sproto package
PROG5   = bdsub.e immerge.e isomap.e lowres.e meansb.e rectify.e \
	  ellfit.e eprof.e azprof.e volem.e tmag.e test.e imgbin.e

PROGS	= $(PROG1) $(PROG2) $(PROG3) $(PROG4) $(PROG5)

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

all:    $(PROGS)

# SPIRAL-main -----------------------------------------------------------------
apinteg.e : apinteg.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o apinteg.e apinteg.f $(LIBS)

badpix.e : badpix.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o badpix.e badpix.f $(LIBS)

color.e : color.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o color.e color.f $(LIBS)

imgdisp.e : imgdisp.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o imgdisp.e imgdisp.f $(LIBS)

imregist.e : imregist.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o imregist.e imregist.f $(LIBS)

isophotes.e : isophotes.f  ISOPHOTES.INC  $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o isophotes.e isophotes.f $(LIBS)

skysub.e : skysub.f  $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o skysub.e skysub.f $(LIBS)

smooth.e : smooth.f  $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o smooth.e smooth.f $(LIBS)

unitmag.e : unitmag.f  SPIRAL.INC  $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o unitmag.e unitmag.f $(LIBS)

# SPIRAL-profs ----------------------------------------------------------------
eqprof1.e : eqprof1.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o eqprof1.e eqprof1.f $(LIBS)

eqprof2.e : eqprof2.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o eqprof2.e eqprof2.f $(LIBS)

mmprof.e : mmprof.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o mmprof.e mmprof.f $(LIBS)

prfplot.e : prfplot.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o prfplot.e prfplot.f $(LIBS)

profimg.e : profimg.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o profimg.e profimg.f $(LIBS)

vplot.e : vplot.f vplot1.f vplot2.f SPIRAL.INC $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o vplot.e vplot.f vplot1.f vplot2.f $(LIBS)
	-rm vplot.o vplot1.o vplot2.o

vprof.e : vprof.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o vprof.e vprof.f $(LIBS)

rectify.e : rectify.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o rectify.e rectify.f $(LIBS)

# SPIRAL-photog ---------------------------------------------------------------
ccfit.e : ccfit.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o ccfit.e ccfit.f $(LIBS)

pdslist.e : pdslist.f  $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o pdslist.e pdslist.f $(LIBS)

pds2i.e : pds2i.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o pds2i.e pds2i.f $(LIBS)

pdsload.e : pdsload.f  $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o pdsload.e pdsload.f $(LIBS)

wdkiso.e : wdkiso.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o wdkiso.e wdkiso.f $(LIBS)

wdoao.e : wdoao.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o wdoao.e wdoao.f $(LIBS)

wdread.e : wdread.f  SPIRAL.INC  $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o wdread.e wdread.f $(LIBS)

# SPIRAL-jplocal --------------------------------------------------------------
efits.e : efits.c
	$(CC)  -o efits.e efits.c

rdvb.e : rdvb.c 
	$(CC)  -o rdvb.e rdvb.c

rdftp.e : rdftp.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o rdftp.e rdftp.f $(LIBS)

rspiral.e : rspiral.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o rspiral.e rspiral.f $(LIBS)

rduh.e : rduh.c 
	$(CC)  -o rduh.e rduh.c

ruh88.e : ruh88.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o ruh88.e ruh88.f $(LIBS)

vbtran.e : vbtran.c
	$(CC) -o vbtran.e vbtran.c

rkcb.e : rkcb.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o rkcb.e rkcb.f $(LIBS)

# SPIRAL-sproto ---------------------------------------------------------------
bdsub.e : bdsub.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o bdsub.e bdsub.f $(LIBS)

immerge.e : immerge.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o immerge.e immerge.f $(LIBS)

isomap.e : isomap.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o isomap.e isomap.f $(LIBS)

lowres.e : lowres.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o lowres.e lowres.f $(LIBS)

meansb.e : meansb.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o meansb.e meansb.f $(LIBS)

ellfit.e : ellfit.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o ellfit.e ellfit.f $(LIBS)

eprof.e : eprof.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o eprof.e eprof.f $(LIBS)

azprof.e : azprof.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o azprof.e azprof.f $(LIBS)

volem.e : volem.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o volem.e volem.f $(LIBS)

tmag.e : tmag.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o tmag.e tmag.f $(LIBS)

imgbin.e : imgbin.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o imgbin.e imgbin.f $(LIBS)

test.e : test.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o test.e test.f $(LIBS)

# SPIRAL-etc ------------------------------------------------------------------
mkatf.e : mkatf.f
	$(FC) $(COPT) -o mkatf.e mkatf.f

mtxchg.e : mtxchg.f $(LIBSPIRAL) $(LIBFITSIO)
	$(FC) $(COPT) -o mtxchg.e mtxchg.f $(LIBS)

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

libspiral.a : $(SPRLLIB)/*.f
	cd $(SPRLLIB); make
	-rm libspiral.a
	ln -s $(SPRLLIB)/libspiral.a

install: 
	mv *.e $(SPIRALBIN)

clean:
	-rm ../uparm/*.par
	-rm ../bin/*.e
	-rm *.o
	-rm lib/*.o
	-rm libspiral.a
	-rm libdumfits.a
	-rm LOG_make_spiral
	(cd lib; rm libspiral.a)