#=======================================================================
# Makefile for files in /u/sy/beebe/public_html/java/
#
# [23-Jun-1998]
#=======================================================================
# Program definitions

PROGRAM		= CHANGE-THIS-VALUE
PROGLIB		= CHANGE-THIS-VALUE
VERSION		= 1.0

#=======================================================================
# Installation locations

prefix		= /usr/local
bindir		= $(prefix)/bin
catdir		= $(prefix)/man/cat$(manext)
libdir		= $(libtop)/$(PROGRAM)-$(VERSION)
libtop		= $(prefix)/$(PROGLIB)/
mandir		= $(prefix)/man/man$(manext)
manext		= 1
shrlibdir	= $(libtop)/$(PROGRAM)-$(VERSION)
shrlibtop	= $(prefix)/share/$(PROGLIB)/

#=======================================================================
# Macro definitions

CHMOD		= chmod
CP		= /bin/cp -p
CP		= rcp -p

JAVA		= java

JAVAC		= javac

JAVADOC		= javadoc

JAVALD		= javald

LIBFILES	= /dev/null

LN		= ln

LS		= ls

MKDIR		= mkdir -p

RM		= /bin/rm -f

SHELL		= /bin/sh

SHRLIBFILES	= /dev/null

#=======================================================================
# Compiler flags and source files

JAVACFLAGS	=
JAVADOCFLAGS	=
JAVADOCS	= $(JAVASRCS:.java=.html)
JAVAEXES	= $(JAVASRCS:.java=)
JAVAFLAGS	=
JAVALDFLAGS	=
JAVAOBJS	= $(JAVASRCS:.java=.class)
JAVASRCS	= testDenorm.java testInf.java testNaN.java testprnt.java
JAVATOPDOCS	= AllNames.html packages.html tree.html

#=======================================================================
# Suffixes and extra rule

.SUFFIXES:	.class .html .java

.java.class:
	$(JAVAC) $(JAVACFLAGS) $<

.java.html:
	$(JAVADOC) $(JAVADOCFLAGS) $<

.java:
	$(JAVALD) $(JAVALDFLAGS) $*

#=======================================================================
# Targets:

all:
	@echo CHANGE THIS TARGET TO RUN THE DEFAULT ACTION

clean:
	-$(RM) $(JAVAOBJS)
	-$(RM) *.i
	-$(RM) *.o
	-$(RM) *~
	-$(RM) \#*
	-$(RM) a.out
	-$(RM) core

clobber:	distclean

distclean:	mostlyclean
	-$(RM) $(PROGRAM)
	-$(RM) $(JAVADOCS) $(JAVATOPDOCS)
	-$(RM) $(JAVAEXES)
docs:	$(JAVATOPDOCS)

install:	install-exe install-lib install-shrlib install-man install-show

install-exe:	uninstall-exe
	$(CP) $(PROGRAM) $(bindir)/$(PROGRAM)
	$(LN) $(bindir)/$(PROGRAM) $(bindir)/$(PROGRAM)-$(VERSION)
	$(CHMOD) 775 $(bindir)/$(PROGRAM) $(bindir)/$(PROGRAM)-$(VERSION)

install-lib:	uninstall-lib
##	$(MKDIR) $(libtop)
##	@if test -d $(libtop) ; then true ; else echo Cannot create $(libtop) ; exit 1 ; fi
##	$(MKDIR) $(libdir)
##	@if test -d $(libdir) ; then true ; else echo Cannot create $(libdir) ; exit 1 ; fi
##	$(CP) $(LIBFILES) $(libdir)/
##	$(CHMOD) -R 664 $(libdir)/

install-man:	uninstall-man
	$(CP) $(PROGRAM).man $(mandir)/$(PROGRAM).$(manext)
	$(CHMOD) 775 $(mandir)/$(PROGRAM).$(manext)

install-show:
	@echo ''
	@echo Installed files...
	@$(LS) -l $(bindir)/$(PROGRAM) $(bindir)/$(PROGRAM)-$(VERSION) \
		$(mandir)/$(PROGRAM).$(manext)
	@if test -d $(libdir) ; then $(LS) -lR $(libdir) ; fi
	@echo ''

install-shrlib:	uninstall-shrlib
##	$(MKDIR) $(shrlibtop)
##	@if test -d $(shrlibtop) ; then true ; else echo Cannot create $(shrlibtop) ; exit 1 ; fi
##	$(MKDIR) $(shrlibdir)
##	@if test -d $(shrlibdir) ; then true ; else echo Cannot create $(shrlibdir) ; exit 1 ; fi
##	$(CP) $(SHRLIBFILES) $(shrlibdir)/
##	$(CHMOD) -R 664 $(shrlibdir)/

$(JAVATOPDOCS): $(JAVASRCS)
	$(JAVADOC) $(JAVADOCFLAGS) $(JAVASRCS)

maintainer-clean:	distclean
	@echo "This command is intended for maintainers to use;"
	@echo "it deletes files that may require special tools to rebuild."
mostlyclean:	clean
programs:	$(JAVAOBJS) $(JAVAEXES)

uninstall:	uninstall-exe uninstall-lib install-shrlib uninstall-man

uninstall-exe:
	-$(RM) $(bindir)/$(PROGRAM)
	-$(RM) $(bindir)/$(PROGRAM)-$(VERSION)

uninstall-lib:
##	-$(RM) -r $(libdir)

uninstall-man:
	-$(RM) $(mandir)/$(PROGRAM).$(manext)
	-$(RM) $(catdir)/$(PROGRAM).$(manext)

uninstall-shrlib:
##	-$(RM) -r $(shrlibdir)

#=======================================================================
# File dependencies

#=======================================================================
