# makefile second edition :)

# global vaiables
VERTEX_PROFILE=vp40
FRAGMENT_PROFILE=fp40




# compiler setup
CGC=cgc
CGC_FLAGS_VP=-quiet -fastmath -entry VP -profile $(VERTEX_PROFILE)
CGC_FLAGS_FP=-quiet -fastmath -entry FP -profile $(FRAGMENT_PROFILE)

# to convert local variables to environmental variables
LOC2ENV=sed 's/\.local\[/\.env\[/g'

# shaders
SHADERS=statue.vp \
		statue.fp \
		bloom.vp \
		bloom.fp \
		blur_h.vp \
		blur_v.vp \
		blur.fp




all: prn_comp $(SHADERS)

prn_comp:
	@echo "..:: CoMPiLiNG SHaDeRS ::.."

statue.vp: statue.vp.cg
	$(CGC) $(CGC_FLAGS_VP) $? | $(LOC2ENV) > $@

statue.fp: statue.fp.cg
	$(CGC) $(CGC_FLAGS_FP) $? | $(LOC2ENV) > $@

bloom.vp: bloom.vp.cg
	$(CGC) $(CGC_FLAGS_VP) $? | $(LOC2ENV) > $@

bloom.fp: bloom.fp.cg
	$(CGC) $(CGC_FLAGS_FP) $? | $(LOC2ENV) > $@

blur_h.vp: blur_h.vp.cg
	$(CGC) $(CGC_FLAGS_VP) $? | $(LOC2ENV) > $@

blur_v.vp: blur_v.vp.cg
	$(CGC) $(CGC_FLAGS_VP) $? | $(LOC2ENV) > $@

blur.fp: blur.fp.cg
	$(CGC) $(CGC_FLAGS_FP) $? | $(LOC2ENV) > $@




# misc target(s)
.PHONY: clean

clean:
	@echo "..:: CLeaNiNG SHaDeRS ::.."
	@rm -rf *~ *.vp *.fp
