#   -*- Makefile -*- GNU makefile.
######################################################################
#  (c) Copyright 2003 Kurt Schwehr. All rights reserved.
#  or release under the GNU Public License
#
# FILE: doc/VizClass03/Lecture6/Makefile
#
# DESCRIPTION:
#
# This is a GNU Makefile that automates the task of processing all of
# the seismic lines for a project.  This is my first script using vpath,
# notdir, and VPATH... so they may be a bit shaky.
#
# REQUIREMENTS: GNU Make version 3.77 or newer
#
# USAGE:  
#
# BUGS:
#
# REVISION: $Id: Makefile 632 2003-09-12 19:50:15Z schwehr $
######################################################################


SHELL := /bin/bash

#
# Directories
#
XSTARDIR := xstar
SEGYDIR  := segy
SUDIR    := su
NAVDIR	 := nav

#XSTAR      := $(wildcard $(XSTARDIR)/*.xstar)
XSTAR       := $(wildcard xstar/*.xstar)
XSTAR_SHORT := $(notdir $(XSTAR))
SEGY_SHORT  := $(XSTAR_SHORT:.xstar=.segy)
SEGY        := $(SEGY_SHORT:%.segy=$(SEGYDIR)/%.segy)
#SEGY       := $($(notdir $(XSTAR)):.xstar=.segy)

SU_SHORT    := $(XSTAR_SHORT:.xstar=.su)
SU          := $(SU_SHORT:%.su=$(SUDIR)/%.su)
NAV_SHORT   := $(XSTAR_SHORT:.xstar=.nav)
NAV         := $(NAV_SHORT:%.nav=$(NAVDIR)/%.nav)

# a "compilation" rule that creates regular segy from edgetech xstar
#$(SEGYDIR)/%.segy: $(XSTARDIR)/%.xstar
#	./convxstar.bash $< $@

#VPATH := ${XSTARDIR} ${SEGYDIR} ${SUDIR}
vpath %.xstar ${XSTARDIR}
vpath %.segy  ${SEGYDIR}
vpath %.su    ${SUDIR}
vpath %.nav   ${NAVDIR}

$(SEGYDIR)/%.segy: %.xstar
	./convxstar.bash $< $@

#VPATH = ${SEGYDIR}

$(SUDIR)/%.su: %.segy
	segyread tape=$< verbose=1 vblock=1000 conv=1 endian=1|segyclean>$@ 
#	echo ./segy2su.bash $< $@
#	./segy2su.bash $< ${notdir ${@:.su=}}

$(NAVDIR)/%.nav: %.su
	@echo "FIX: make nav"

targets: depend ${SEGY} ${SU} ${NAV}

vars:
	@echo "XSTARDIR:    $(XSTARDIR)"
	@echo "XSTAR:       $(XSTAR)"
	@echo "XSTAR_SHORT: $(XSTAR_SHORT)"
	@echo "SEGYDIR:     $(SEGYDIR)"
	@echo "SEGY_SHORT:  $(SEGY_SHORT)"
	@echo "SEGY:        $(SEGY)"
	@echo
	@echo "SUDIR:       $(SUDIR)"
	@echo "SU_SHORT:    $(SU_SHORT)"
	@echo "SU:          $(SU)"
	@echo "NAV:         $(NAV)"
#	@echo ": $()"

clean:
	-/bin/rm -f sioseis_tmp* *~

realclean: clean
	-/bin/rm -f ${SEGYDIR}/*
	-/bin/rm -f ${NAVDIR}/* 
	-/bin/rm -f ${SUDIR}/*

distclean: clean
	-/bin/rm -rf ${SEGYDIR}
	-/bin/rm -rf ${NAVDIR} 
	-/bin/rm -rf ${SUDIR}

depend: 
	@if [ ! -d ${SEGYDIR} ]; then mkdir ${SEGYDIR}; fi
	@if [ ! -d ${SUDIR} ]; then mkdir ${SUDIR}; fi
	@if [ ! -d ${NAVDIR} ]; then mkdir ${NAVDIR}; fi
