############################################
# Makefile for metaf2xml
############################################

# default install top directory
METAF2XML=/opt/metaf2xml

# default temporary directory
TMP=/tmp

############################################
# for install-parser, install-cgi:
############################################
# install directory for parser perl script
METAF2XML_BIN=${METAF2XML}/bin

############################################
# for install-parser:
############################################
# install directory for parser perl modules
METAF2XML_LIB=${METAF2XML}/lib

############################################
# for install-xsl, install-cgi:
############################################
# install directory for metaf*.xsl files
METAF2XML_XSL=${METAF2XML}/share

############################################
# for install-cgi:
############################################
# install directory for the CGI script
CGI_BIN_DIR=/usr/local/httpd/cgi-bin
HTDOCS_DIR=/usr/local/httpd/htdocs

# directory for METAR/TAF raw file data
CGI_DATA_DIR=${TMP}

# path for log file
CGI_LOG_FILE=${TMP}/metaf2xml.log

# directory for temporary data
CGI_TMP_DIR=${TMP}

# path and options for curl
CURL="curl -sSf --stderr -"

# options for curl if a HTTP proxy should be used
CURL_PROXY_OPTS=

# files for install-xsl
METAF2XML_XSL_FILES=\
    metaf-fullhtml.xsl \
    metaf-html.xsl \
    metaf-lang.xsl \
    metaf-text.xsl \
    metaf.xsl

############################################
# targets
############################################
install:
	@echo possible install targets: install-cgi install-parser install-xsl
	@echo for all: install-all

install-all: install-parser install-xsl install-cgi

install-parser:
	mkdir -p ${METAF2XML_BIN} ${METAF2XML_LIB}/metaf2xml
	sed 's@^\(use lib .\).*\(.; # METAF2XML_LIB\)$$@\1'${METAF2XML_LIB}'\2@' \
	    metaf2xml.pl > ${METAF2XML_BIN}/metaf2xml.pl
	chmod a+x ${METAF2XML_BIN}/metaf2xml.pl
	for f in FGFS.pm XML.pm parser.pm; do \
            sed 's@^\(use lib .\).*\(.; # METAF2XML_LIB\)$$@\1'${METAF2XML_LIB}'\2@' \
	        metaf2xml/$$f > ${METAF2XML_LIB}/metaf2xml/$$f; \
	done

install-xsl:
	mkdir -p ${METAF2XML_XSL}
	cp ${METAF2XML_XSL_FILES} ${METAF2XML_XSL}/

install-cgi:
	mkdir -p ${CGI_BIN_DIR} ${HTDOCS_DIR}
	sed 's@^\(my .METAF2XML_BIN = .\).*\(.;\)$$@\1'"${METAF2XML_BIN}"'\2@' metaf.pl | \
	sed 's@^\(my .METAF2XML_XSL = .\).*\(.;\)$$@\1'"${METAF2XML_XSL}"'\2@' | \
	sed 's@^\(my .CGI_DATA_DIR = .\).*\(.;\)$$@\1'"${CGI_DATA_DIR}"'\2@' | \
	sed 's@^\(my .CGI_LOG_FILE = .\).*\(.;\)$$@\1'"${CGI_LOG_FILE}"'\2@' | \
	sed 's@^\(my .CGI_TMP_DIR = .\).*\(.;\)$$@\1'"${CGI_TMP_DIR}"'\2@' | \
	sed 's@^\(my .CURL = .\).*\(.;\)$$@\1'"${CURL}"'\2@' | \
	sed 's@^\(my .CURL_PROXY_OPTS = .\).*\(.;\)$$@\1'"${CURL_PROXY_OPTS}"'\2@' \
		> ${CGI_BIN_DIR}/metaf.pl
	chmod a+x ${CGI_BIN_DIR}/metaf.pl
	for f in metaf.xsl metaf-lang.xsl metaf-fullhtml.xsl; do \
            [ -L ${HTDOCS_DIR}/$$f -o -f ${HTDOCS_DIR}/$$f ] || ln -s ${METAF2XML_XSL}/$$f ${HTDOCS_DIR}; \
        done
