#
# Makefile for program sib-pair
#
# If you wish to link in PILIB, you will have to download that
# library.  Similarly, the JAPI option requires you to have
# Java on your system before those options will run (Sib-pair will compile
# successfully and all nongraphical options will be OK).
# I usually link the eggx graphical library: https://github.com/cyamauch/eggx
# for interactive X11 graphics. 
#

PROGRAM	= sib-pair
SRCS	= sib-pair.f95
OBJS	= sib-pair.o
MAKEFILE= Makefile

VER     = 1.00.beta
MY_DATE = $(shell date +"(%d-%b-%Y)") 
VERSION = "'Version $(VER) $(MY_DATE)'"

F95	= gfortran
GFORTRAN= gfortran
FLANG   = flang
FFLAGS	= -Wall -g  -DVERSION=$(VERSION) 
LINKER	= g95 
LDFLAGS	= -pg -O  

all:        	
		$(GFORTRAN) -fopenmp -DTHREADED -DGFORTRAN -DEGGX -DPOPEN -DZLIB -DVERSION="'$(VER) GFORTRAN -O2 $(MY_DATE)'" -fbackslash -O2 -fno-fast-math -cpp -o gsp64 sib-pair.F90 -lz -leggx -lX11
		@echo "program gsp64 built (-O2)"

flang:
		$(FLANG) -DZLIB -DPOPEN -DSUN -DVERSION="'$(VER) Flang -O2 $(MY_DATE)'" -O2 -fno-fast-math -cpp -o $(BINDIR)/gsp64.flang sib-pair.F90 -lz 
		@echo "program gsp64.flang built (-O2)"

debug:
		$(GFORTRAN) -DGFORTRAN -DEGGX -DPOPEN -DZLIB -DVERSION="'$(VER) GFORTRAN -g $(MY_DATE)'" -fbackslash -fno-fast-math -g -cpp -o serial-gsp64 sib-pair.F90 -lz -leggx -lX11
		@echo "program serial-gsp64 built (-g)"

update_scheme:
		mv spscheme.F90 spscheme$(ISO_DATE).F90
		demodulator scheme_lang > tmp$$
		cat tmp$$ spscheme_main.f90 > spscheme.F90
		rm tmp$$
		diff spscheme.F90 spscheme$(ISO_DATE).F90
		@echo "Latest version of spscheme.F90 created."

scheme:
		$(GFORTRAN) -fopenmp -DTHREADED -DGFORTRAN -DFREESTANDING_SCHEME -DEGGX -DPOPEN -DZLIB -DVERSION="'$(VER) GFORTRAN -g $(MY_DATE)'" -fbackslash -g -o spscheme spscheme.F90 -lz -leggx -lX11
		@echo "program spscheme built (-O2)"

clean:
		rm -f $(OBJS)
		@echo "clean"

edit:
		gvim $(SRCS)

