# @(#)Makefile   $Revision: 1.2 $  $Date: 2007-01-04 09:37:09 $
#
# Copyright (C) 2007 European Southern Observatory
# License:  GNU General Public License version 2 or later
#
#   Makefile for JFITS classes
#
# Version: $Id: Makefile,v 1.2 2007-01-04 09:37:09 pgrosbol Exp $
# Author:  P.Grosbol, ESO, <pgrosbol@eso.org>
#
JAVAC= javac
PACKAGE=org/eso/fits

J_OPT=
JFLAGS = $(J_OPT)

vpath  %.class $(PACKAGE)
vpath  %.java  $(PACKAGE)

src   = Fits.java FitsException.java FitsKeyword.java \
	FitsTform.java FitsColumn.java \
	FitsData.java FitsTable.java FitsWCS.java FitsMatrix.java \
	FitsRGroup.java FitsHeader.java FitsHDUnit.java FitsFile.java \
	ListFits.java TestFits.java TestKeyword.java TestWCS.java \
	SaveFits.java CopyFits.java CreateFits.java

obj =   $(src:%.java=%.class)

# RULES:

.SUFFIXES: .java .class

%.class: %.java
	$(JAVAC) $(JFLAGS) $<

# DEPENDENCIES

all: $(obj)
	@echo Library is updated

test: CreateFits SaveFits ListFits CopyFits TestFits TestKeyword TestWCS 
	@echo  Test applications updated

.PHONY: all test doc jar clean

TestFits: TestFits.class  FitsFile.class

ListFits: ListFits.class  FitsFile.class

CreateFits: CreateFits.class  FitsFile.class

SaveFits: SaveFits.class  FitsFile.class

CopyFits: CopyFits.class  FitsFile.class

TestKeyword: TestKeyword.class FitsKeyword.class

TestWCS: TestWCS.class  FitsFile.class


doc:	$(src)
	mkdir -p docs
	javadoc -d docs org.eso.fits

jar:    $(obj)
	jar -cfv jfits.jar $(PACKAGE)/*.class $(PACKAGE)/*.java

tar:    $(src)
	tar czfv jfits.tgz $(PACKAGE)/*java $(PACKAGE)/ChangeList.txt Makefile

clean:
	rm -f  $(PACKAGE)/*.class jfits.jar jfits.tgz
	rm -rf docs

FitsData.class:    Fits.class FitsException.class FitsHeader.class
FitsKeyword.class: Fits.class FitsException.class
FitsHeader.class:  FitsKeyword.class
FitsHDUnit.class:  FitsHeader.class FitsData.class
FitsFile.class:    FitsHDUnit.class
FitsRGroup.class:  FitsData.class
FitsMatrix.class:  FitsData.class FitsWCS.class
FitsTable.class:   FitsData.class FitsColumn.class
FitsColumn.class:  FitsTform.class Fits.class FitsException.class
TestKeyword.class: FitsKeyword.class
TestFits.class:    FitsFile.class
TestWCS.class:     FitsFile.class
ListFits.class:    FitsFile.class
SaveFits.class:    FitsFile.class
CopyFits.class:    FitsFile.class
CreateFits.class:  FitsFile.class

