DAY=`date "+%y.%m.%d"`
SUBDIRS = src
SRCFILES = $(wildcard *.cc)
XML  = $(wildcard *.xml)
GP   = $(patsubst %.xml, %.gp, $(XML))
BCH  = $(patsubst %.xml, %.bch, $(XML))

#EXTRA_DIST = $(SRCFILES)
CXX= ../../bin/s++ -NDEBUG -O3
CXXCOMPILE = $(CXX)
CXXLINK = $(CXX)

# Force an empty libs because the s++ script already knows everything
LIBS=

SUFFIXES= .ex .cc .o .d .gp .xml .cfg .bch .plot .css .html .tex .tex_css .html_css

DEPDIR = .
DEP = $(patsubst %.xml, %.d, $(XML))
DEP_FILES = .depend

CLEANFILES = *.ex *.o *.d bch/.depend bch/*.d gp/.depend gp/*d

DISTCLEANFILES = $(DEP) $(DEP_FILES)

all:

bch:
	@mkdir bch
gp:
	@mkdir gp
arch:
	@mkdir arch
.xml.d: arch bch gp
	@echo "$*.bch: ../$*.xml" > bch/$*.d
	@echo "	@cd ..;xsltproc make_cfg.css $*.xml > bch/$*.cfg;echo \"Running $*\";chmod u+x  bch/$*.cfg;./bch/$*.cfg -run >bch/$*.bch">>bch/$*.d
	@echo "$*.gp: ../$*.xml ../bch/$*.bch" >gp/$*.d
	@echo "	@xsltproc ../make_gp.css ../bch/$*.bch > $*.gp">>gp/$*.d
	@echo "	@perl -pi -e \"s/\#//g\" $*.gp">>gp/$*.d
	@echo "	@perl -pi -e \"s/\|/ /g\" $*.gp">>gp/$*.d
	@echo "	@cp $*.gp ../arch/$(DAY).$*.gp">>gp/$*.d
	@echo "	@echo \"Update  $*.gp\"">>gp/$*.d
	@echo "$*.d: Makefile">$*.d
	@echo "Update  $*.d"
.depend: $(DEP) 
	@cat $(DEP) > $(DEP_FILES)

.html.d: 
	@echo "$*.html: $*.xml $*.bch $*.css_html"> $*.d


.bch.html: $*.bch $*.css_html $*.xml $*.bch
	@echo "Update  $*.html"
	@xsltproc bch_html.css $*.bch > $*.html


.cc.o: .depend
	$(CXX) -O6 -c $*.cc

.o.ex: .depend
	$(CXX) $*.o 

veryclean:
	-rm  *.o *.ex *.d *.cfg

cleandep:
	-rm  *.d

cleanbch: bch
	cd bch;make clean

clean: bch gp
	cd bch;make clean
	cd gp;make clean
#----------------------------------------------------------------------
.css_tex.tex: $(DEP_FILE) $*.bch $*.css_tex
	@xsltproc $*.css_tex $*.bch > $*.tex
#----------------------------------------------------------------------
run: .depend bch gp arch
	@make $(DEP)
	@cd src; make run
	@cd bch; cat *.d >.depend;make $(BCH)
	@cd gp; cat *d>.depend; make $(GP)
exe:
	cd src;make run
#----------------------------------------------------------------------
