#=======================================================================
# Makefile for files in /u/sy/beebe/public_html/openmp/
#
# Current target list:
#	all
#	check
#	clean
#	clobber
#	distclean
#	install
#	install-exe
#	install-lib
#	install-man
#	install-show
#	install-shrlib
#	maintainer-clean
#	mostlyclean
#	run-alpha-4		DEC Alpha, 4 CPUs
#	run-sgi-4		SGI Origin 200, 4 CPUs
#	run-sgi-64		SGI Origin 2000, 64 CPUs
#	uninstall
#	uninstall-exe
#	uninstall-lib
#	uninstall-man
#	uninstall-shrlib
#
# [23-Mar-2000]
#=======================================================================
# Program definitions

PROGRAM		= compute_pi
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

CAT		= cat

CHMOD		= chmod

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

DETEX		= detex

DETEXFLAGS	= -m -n -s

DW		= dw

ISPELL		= ispell

LIBFILES	= /dev/null

LN		= ln

LS		= ls

MKDIR		= mkdir -p

MV		= /bin/mv

RM		= /bin/rm -f

SED		= sed

SHELL		= /bin/sh

SHRLIBFILES	= /dev/null

SORT		= sort

SPELL		= spell

SPELLFILTER	= $(CAT)
SPELLFILTER	= $(SED) -e 's/[0-9,.:;?&]/ /g'

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

FFLAGS		= $(FOPT)
FOPT		= -g
FOBJS		= $(FSRCS:.f=.o)
FSRCS		= compute_pi.f

#=======================================================================
# Suffixes and extra rule(s)

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

all:	$(PROGRAM)

check:
	@echo 'There is no validation suite for this program (yet)'

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

clobber:	distclean

distclean:	mostlyclean
	-$(RM) $(PROGRAM)

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) 664 $(libdir)/*

install-man:	uninstall-man
	$(CP) $(PROGRAM).man $(mandir)/$(PROGRAM).$(manext)
	$(CHMOD) 664 $(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) 664 $(shrlibdir)/*

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

run-alpha-4:
	./compute_pi.sh 8 f90 -omp -O3 

run-sgi-4:
	./compute_pi.sh 8 f77 -mp -O3 

run-sgi-64:
	./compute_pi.sh 64 f77 -mp -O3 -r10000

uninstall:	uninstall-exe uninstall-lib uninstall-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

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