#
# Makefile:
#
# Copyright (c) 2002 James McKenzie <james@fishsoup.dhs.org>,
# All rights reserved.
#
# $Id:$
#
# $Log:$
#

H=..
B=$H/bin
BG=src/bground.ppm
COMP=AI EI JI WI XI
COMPPGM=${COMP:%=NOBACKUP/%.pgm}
COMPPC=${COMP:%=NOBACKUP/%.pc.pgm}

POLE=bkg/NOBACKUP/pole-71.pgm

TIME=0
WHERE=52,0_0,0_4,0 32,0_-117,0_4,0 -45,0_0,0_4,0 0,0_0,0_1000,0 0,0_180,0_1000,0 90,0_0,0_1000,0 -90,0_0,0_1000,0
CLOUDS=clouds-me.bkg.ppm
CLOUDSDARK=clouds-me.bkg.dark.ppm
#CLOUDS=clouds.smt.he.ppm
#CLOUDSDARK=clouds.smt.he.dark.ppm



all: 
	./fetch
	./makeeterm
	./maketerm
	${MAKE} fetched

NOBACKUP/hemispheres.asis: fish src/head.html src/middle.html src/tail.html 
	${MAKE} -C ../tools
	${MAKE} NOBACKUP/index.html
	./fetch
	./makeeterm
	./maketerm
	${MAKE} NOBACKUP/view.0,0_0,0_1000,0.asis NOBACKUP/view.0,0_180,0_1000,0.asis 
	cat src/head.html > $@
	@echo '<a href="index.html"><img src="view.0,0_0,0_1000,0.asis"></a>' >> $@
	@echo '<a href="index.html"><img src="view.0,0_180,0_1000,0.asis"></a>' >> $@
	cat src/middle.html >> $@
	echo '""' >> $@
	cat src/tail.html >> $@

NOBACKUP/globe.%.asis: src/head.html src/middle.html src/tail.html fish
	${MAKE} -C ../tools
	${MAKE} NOBACKUP/index.html
	./fetch
	./makeeterm
	./maketerm
	${MAKE} ${@:NOBACKUP/globe.%.asis=NOBACKUP/view.%.asis}
	cat src/head.html > $@
	@echo '<a href="index.html"><img src="${@:NOBACKUP/globe.%.asis=view.%.asis}"></a>' >> $@
	cat src/middle.html >> $@
	echo '"${@:NOBACKUP/globe.%.asis=%}"' | tr '_,' ',.' >> $@
	cat src/tail.html >> $@

fish:
	
NOBACKUP/view.%.asis: NOBACKUP/view.%.jpg
	cat src/jpegheader $< > $@

NOBACKUP/hemispheres.html: NOBACKUP/view.0,0_180,0_1000,0.jpg
	cat src/jpegheader $< > $@

fetched: ${WHERE:%=NOBACKUP/view.%.ppm} ${WHERE:%=NOBACKUP/view.%.jpg} NOBACKUP/index.html

NOBACKUP/index.html:src/index.html
	mkdir -p NOBACKUP
	cat $< > $@


%.ppm:%.gif
	giftopnm $< > $@ || /bin/rm -f  $@

%.he.ppm:%.ppm
	pnmhisteq -gr $< > $@ || /bin/rm -f $@
%.he.pgm:%.pgm
	pnmhisteq -gr $< > $@ || /bin/rm -f $@


NOBACKUP/ice.ppm:NOBACKUP/ss.ppm $B/ppmice
	$B/ppmice  $< src/extraice.pgm | pnmsmooth -size 11 11 > $@ || /bin/rm -f $@
NOBACKUP/clouds.ppm:NOBACKUP/ir.ppm $B/ppmweather
	$B/ppmweather  $< > $@ || /bin/rm -f $@
NOBACKUP/clouds-me.ppm:${COMPPC} $B/mergesats bkg/filter.pgm ${POLE}
	$B/mergesats ${COMP:%=NOBACKUP/%.pc.pgm} bkg/filter.pgm ${POLE} > $@ || /bin/rm -f $@
NOBACKUP/clouds-me.bkg.ppm:NOBACKUP/clouds-me.ppm bkg/min.pgm bkg/max.pgm $B/rembkg bkg/avg.pgm 
	cat $<  > $@ || /bin/rm -f $@
	#$B/rembkg NOBACKUP/clouds-me.ppm bkg/min.pgm bkg/max.pgm bkg/avg.pgm > $@ || /bin/rm -f $@

bkg/min.pgm:
	make -C bkg
bkg/max.pgm:
	make -C bkg
bkg/avg.pgm:
	make -C bkg
bkg/filter.pgm:
	make -C bkg


NOBACKUP/earth-day.ppm:src/NOBACKUP/bm-day.ppm
	cat $< > $@ || /bin/rm -f $@
NOBACKUP/earth-night.ppm:src/NOBACKUP/bm-night.ppm
	cat $< > $@ || /bin/rm -f $@
#NOBACKUP/earth-day.ppm:src/living-earth-day.ppm $B/ppmle
#	$B/ppmle $< > $@ || /bin/rm -f $@
#NOBACKUP/earth-night.ppm:src/living-earth-night-dark.ppm $B/ppmle
#	$B/ppmle $< > $@ || /bin/rm -f $@


#NOBACKUP/join-day.ppm: NOBACKUP/earth-day.ppm NOBACKUP/${CLOUDS} NOBACKUP/ice.ppm $B/join
#	$B/join NOBACKUP/earth-day.ppm NOBACKUP/${CLOUDS} NOBACKUP/ice.ppm > $@ || /bin/rm -f $@
#
#NOBACKUP/join-night.ppm: NOBACKUP/earth-night.ppm NOBACKUP/${CLOUDSDARK} NOBACKUP/ice.dark.ppm $B/join
#	$B/join NOBACKUP/earth-night.ppm NOBACKUP/${CLOUDSDARK} NOBACKUP/ice.dark.ppm > $@ || /bin/rm -f $@
#

earthterm: NOBACKUP/earth-day.ppm NOBACKUP/earth-night.ppm NOBACKUP/dem/blat.dat NOBACKUP/dem/blon.dat

NOBACKUP/dem/blat.dat NOBACKUP/dem/blon.dat:
	make -C dem
	
NOBACKUP/earth-term.ppm: NOBACKUP/earth-day.ppm NOBACKUP/earth-night.ppm
	/bin/rm -f etnext
	./makeeterm


NOBACKUP/join-day.ppm: NOBACKUP/earth-term.ppm NOBACKUP/${CLOUDS} NOBACKUP/ice.ppm $B/join
	$B/join NOBACKUP/earth-term.ppm NOBACKUP/${CLOUDS} NOBACKUP/ice.ppm > $@ || /bin/rm -f $@

NOBACKUP/join-night.ppm: NOBACKUP/earth-term.ppm NOBACKUP/${CLOUDSDARK} NOBACKUP/ice.dark.ppm $B/join
	$B/join NOBACKUP/earth-term.ppm NOBACKUP/${CLOUDSDARK} NOBACKUP/ice.dark.ppm > $@ || /bin/rm -f $@


term:NOBACKUP/join-day.ppm NOBACKUP/join-night.ppm $B/term

NOBACKUP/term.ppm: NOBACKUP/join-day.ppm NOBACKUP/join-night.ppm $B/term
	/bin/rm -f tnext
	./maketerm

NOBACKUP/view.%.ppm:NOBACKUP/term.ppm 
	$B/toview $< `echo ${@:NOBACKUP/view.%.ppm=%} | tr '_,' ' .' ` > $@ || /bin/rm -f $@
	
%.dark.ppm:%.ppm
	ppmdim 0.1 $< > $@ || /bin/rm -f $@
%.smt.ppm:%.ppm
	pnmsmooth -size 5 5 $< > $@ || /bin/rm -f $@

%.pc.pgm:%.pgm $B/satcamtopc
	$B/satcamtopc $< > $@ || /bin/rm -f $@

%:%.gz
	gzip -d < $< > $@ || /bin/rm -f $@

%.jpg:%.ppm
	pnmscale 0.5 $< | cjpeg > $@ || /bin/rm -f $@


${COMPPGM}: %.pgm: %.jpg
	djpeg $< | pnmscale -width 2048 -height 2048 > $@ 

src/NOBACKUP/bm-day.ppm:
	make -C src
src/NOBACKUP/bm-night.ppm:
	make -C src
src/NOBACKUP/poles.pc.pgm:
	make -C src

webclean:
	/bin/rm -f NOBACKUP/globe.*.asis
	/bin/rm -f NOBACKUP/view.*.asis
	/bin/rm -f NOBACKUP/view.*.jpg
	/bin/rm -f NOBACKUP/view.*.ppm

clean:
	/bin/rm -f *.ppm core a.out *% *.BAK *.gif next now tnext tnow etnext etnow
	/bin/rm -rf NOBACKUP
	make -C bkg clean
	make -C src clean
	make -C dem clean

${POLE}:
	make -C bkg ${@:bkg/%=%}
