sintonia/etc/Makefile.in

426 lines
16 KiB
Makefile

#-------------------------------------------------------------------------------
# Copyright (c) 2010 Sourcefabric O.P.S.
#
# This file is part of the Campcaster project.
# http://campcaster.sourcefabric.org/
# To report bugs, send an e-mail to bugs@campware.org
#
# Campcaster is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# Campcaster is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Campcaster; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# General command definitions
#-------------------------------------------------------------------------------
MKDIR = mkdir -p
RM = rm -f
RMDIR = rm -rf
DOXYGEN = doxygen
DOXYTAG = doxytag
XSLTPROC = xsltproc
ECHO = @echo
FLAWFINDER = flawfinder
CP = cp -f
#-------------------------------------------------------------------------------
# Basic directory and file definitions
#-------------------------------------------------------------------------------
BASE_DIR = .
BIN_DIR = ${BASE_DIR}/bin
DOC_DIR = ${BASE_DIR}/doc
DOXYGEN_DIR = ${DOC_DIR}/doxygen
COVERAGE_DIR = ${DOC_DIR}/coverage
ETC_DIR = ${BASE_DIR}/etc
SRC_DIR = ${BASE_DIR}/src
TMP_DIR = ${BASE_DIR}/tmp
prefix = @prefix@
PACKAGE_VERSION = @PACKAGE_VERSION@
USR_DIR = ${prefix}
USR_BIN_DIR = ${USR_DIR}/bin
USR_DOC_DIR = ${USR_DIR}/doc
USR_ETC_DIR = ${USR_DIR}/etc
USR_LIB_DIR = ${USR_DIR}/lib
USR_VAR_DIR = ${USR_DIR}/var
HOSTNAME = @HOSTNAME@
APACHE_GROUP = @APACHE_GROUP@
WWW_DOCROOT = @WWW_DOCROOT@
WWW_PORT = @WWW_PORT@
SCHEDULER_PORT = @SCHEDULER_PORT@
DB_SERVER = @DB_SERVER@
DATABASE = @DATABASE@
DB_USER = @DB_USER@
DB_PASSWORD = @DB_PASSWORD@
CREATE_LS_DATABASE = @CREATE_LS_DATABASE@
INIT_LS_DATABASE = @INIT_LS_DATABASE@
CREATE_ODBC_DATA_SOURCE = @CREATE_ODBC_DATA_SOURCE@
CONFIGURE_APACHE = @CONFIGURE_APACHE@
STATION_AUDIO_OUT = "@STATION_AUDIO_OUT@"
STUDIO_AUDIO_OUT = "@STUDIO_AUDIO_OUT@"
STUDIO_AUDIO_CUE = "@STUDIO_AUDIO_CUE@"
#export LD_LIBRARY_PATH:=${prefix}/lib:${LD_LIBRARY_PATH}
#export PKG_CONFIG_PATH:=${prefix}/lib/pkgconfig:${PKG_CONFIG_PATH}
DEBUG = @DEBUG@
#DOXYGEN_CONFIG = ${ETC_DIR}/doxygen.config
#XMLRPC-DOXYGEN_CONFIG = ${ETC_DIR}/xmlrpc-doxygen.config
#
#XMLRPCXX_DOC_DIR = ${BASE_DIR}/usr/share/doc/xmlrpc++
#EXTERNAL_DOC_PAGES = ${XMLRPCXX_DOC_DIR}/XmlRpcServerMethod_8h-source.html \
# ${XMLRPCXX_DOC_DIR}/classXmlRpc_1_1XmlRpcServerMethod.html \
# ${XMLRPCXX_DOC_DIR}/classXmlRpc_1_1XmlRpcServerMethod-members.html
#TAGFILE = ${DOXYGEN_DIR}/xmlrpc++.tag
#
#TESTRESULTS_XSLT = ${ETC_DIR}/testResultsToHtml.xsl
#TESTRESULTS_IN = ${ETC_DIR}/testResults.xml
#TESTRESULTS_FILE = ${DOC_DIR}/testResults.html
#
#FLAWFINDER_FILE = ${DOC_DIR}/flawfinderReport.html
#
TOOLS_DIR = ${SRC_DIR}/tools
#LIBODBCXX_DIR = ${TOOLS_DIR}/libodbc++
#LIBODBCXX_VERSION = libodbc++-0.2.5
#XMLRPCXX_DIR = ${TOOLS_DIR}/xmlrpc++
#XMLRPCXX_VERSION = xmlrpc++-20040713
#TAGLIB_DIR = ${TOOLS_DIR}/taglib
#TAGLIB_VERSION = taglib-1.5
PEAR_DIR = ${TOOLS_DIR}/pear
MODULES_DIR = ${SRC_DIR}/modules
#CORE_DIR = ${MODULES_DIR}/core
#AUTHENTICATION_DIR = ${MODULES_DIR}/authentication
#DB_DIR = ${MODULES_DIR}/db
#STORAGE_CLIENT_DIR = ${MODULES_DIR}/storageClient
#PLAYLIST_EXECUTOR_DIR = ${MODULES_DIR}/playlistExecutor
#EVENT_SCHEDULER_DIR = ${MODULES_DIR}/eventScheduler
#SCHEDULER_CLIENT_DIR = ${MODULES_DIR}/schedulerClient
#WIDGETS_DIR = ${MODULES_DIR}/widgets
#ALIB_DIR = ${MODULES_DIR}/alib
GETID3_DIR = ${MODULES_DIR}/getid3
HTML_UI_DIR = ${MODULES_DIR}/htmlUI
STORAGE_ADMIN_DIR = ${MODULES_DIR}/storageAdmin
STORAGE_SERVER_DIR = ${MODULES_DIR}/storageServer
#PRODUCTS_DIR = ${SRC_DIR}/products
#SCHEDULER_DIR = ${PRODUCTS_DIR}/scheduler
#GLIVESUPPORT_DIR = ${PRODUCTS_DIR}/gLiveSupport
#SCHEDULER_EXE = ${SCHEDULER_DIR}/tmp/campcaster-scheduler
#GLIVESUPPORT_EXE = ${GLIVESUPPORT_DIR}/tmp/campcaster-studio
#-------------------------------------------------------------------------------
# Targets
#-------------------------------------------------------------------------------
.PHONY: all clean depclean distclean
.PHONY: setup tools_setup modules_setup
.PHONY: start stop status
all: setup
help:
${ECHO} "Campcaster project main Makefile"
${ECHO} "http://campcaster.sourcefabric.org/"
${ECHO} "Copyright (c) 2010 Sourcefabric O.P.S. under the GNU GPL"
${ECHO} ""
${ECHO} "Useful targets for this makefile:"
${ECHO} " all - set up and compile everthing"
${ECHO} " install - install everything"
# ${ECHO} " doc - build autogenerated documentation"
${ECHO} " clean - clean all modules"
${ECHO} " check - check all modules"
${ECHO} ""
${ECHO} "Some less frequently used targets:"
${ECHO} " setup - set up the development environment"
# ${ECHO} " doxygen - build autogenerated doxygen documentation only"
# ${ECHO} " compile - compile all modules"
# ${ECHO} " recompile - recompile all modules"
#doc: doxygen testresults flawfinder
#
#doxygen:
# ${DOXYGEN} ${DOXYGEN_CONFIG}
# ${DOXYGEN} ${XMLRPC-DOXYGEN_CONFIG}
#
#testresults:
# ${XSLTPROC} ${TESTRESULT_XSLT} ${TESTRESULTS_IN} > ${TESTRESULTS_FILE}
#
#flawfinder:
# ${FLAWFINDER} -c --immediate --html \
# ${CORE_DIR}/include ${CORE_DIR}/src \
# ${AUTHENTICATION_DIR}/include ${AUTHENTICATION_DIR}/src \
# ${DB_DIR}/include ${DB_DIR}/src \
# ${STORAGE_CLIENT_DIR}/include ${STORAGE_CLIENT_DIR}/src \
# ${PLAYLIST_EXECUTOR_DIR}/include \
# ${PLAYLIST_EXECUTOR_DIR}/src \
# ${EVENT_SCHEDULER_DIR}/include ${EVENT_SCHEDULER_DIR}/src \
# ${SCHEDULER_CLIENT_DIR}/include ${SCHEDULER_CLIENT_DIR}/src \
# ${WIDGETS_DIR}/include ${WIDGETS_DIR}/src \
# ${SCHEDULER_DIR}/src > ${FLAWFINDER_FILE} \
# ${GLIVESUPPORT_DIR}/src > ${FLAWFINDER_FILE} \
clean:
# ${RMDIR} ${DOXYGEN_DIR}/html
# ${RMDIR} ${COVERAGE_DIR}/*
# ${RM} ${TMP_DIR}/*.stamp
# ${RM} ${TMP_DIR}/ac* ${TMP_DIR}/config* ${TMP_DIR}/install-sh
# ${RMDIR} ${TMP_DIR}/auto*
#
setup: ${TMP_DIR}/setup.stamp
${TMP_DIR}/setup.stamp: tools_setup modules_setup
touch ${TMP_DIR}/setup.stamp
recompile: modprod_distclean modules_setup products_setup
tools_setup: ${TMP_DIR}/tools_setup.stamp
${TMP_DIR}/tools_setup.stamp:
# cd ${LIBODBCXX_DIR}/${LIBODBCXX_VERSION} && ./configure --prefix=${prefix}
# ${MAKE} -C ${LIBODBCXX_DIR}/${LIBODBCXX_VERSION} install
#
# cd ${XMLRPCXX_DIR}/${XMLRPCXX_VERSION} && ./configure --prefix=${prefix}
# ${MAKE} -C ${XMLRPCXX_DIR}/${XMLRPCXX_VERSION} install
#
# cd ${TAGLIB_DIR}/${TAGLIB_VERSION} && ./configure --prefix=${prefix}
# ${MAKE} -C ${TAGLIB_DIR}/${TAGLIB_VERSION} install
#
cd ${PEAR_DIR} && ./configure --prefix=${prefix}
${MAKE} -C ${PEAR_DIR} install
touch ${TMP_DIR}/tools_setup.stamp
tools_distclean:
# -${MAKE} -C ${LIBODBCXX_DIR}/${LIBODBCXX_VERSION} distclean
# -${MAKE} -C ${XMLRPCXX_DIR}/${XMLRPCXX_VERSION} distclean
# -${MAKE} -C ${TAGLIB_DIR}/${TAGLIB_VERSION} distclean
${RM} ${TMP_DIR}/tools_setup.stamp
#doxytag_setup: ${TMP_DIR}/doxytag_setup.stamp
#${TMP_DIR}/doxytag_setup.stamp:
# ${DOXYTAG} -t ${TAGFILE} ${EXTERNAL_DOC_PAGES}
# touch ${TMP_DIR}/doxytag_setup.stamp
modules_setup: ${TMP_DIR}/modules_setup.stamp
${TMP_DIR}/modules_setup.stamp:
# cd ${ALIB_DIR} && ./configure --prefix=${prefix} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
cd ${GETID3_DIR} && ./configure --prefix=${prefix} \
PACKAGE_VERSION=${PACKAGE_VERSION}
cd ${HTML_UI_DIR} && ./configure --prefix=${prefix} \
--with-apache-group=${APACHE_GROUP} \
--with-www-docroot=${WWW_DOCROOT} \
--with-configure-apache=${CONFIGURE_APACHE} \
--with-storage-server=${prefix}/var/Campcaster/storageServer \
PACKAGE_VERSION=${PACKAGE_VERSION}
cd ${STORAGE_ADMIN_DIR} && ./configure --prefix=${prefix} \
--with-storage-server=${prefix}/var/Campcaster/storageServer \
--with-phppart-dir=${prefix}/var/Campcaster/storageAdmin \
PACKAGE_VERSION=${PACKAGE_VERSION}
cd ${STORAGE_SERVER_DIR} && \
./configure --prefix=${prefix} \
--with-apache-group=${APACHE_GROUP} \
--with-hostname=${HOSTNAME} \
--with-www-docroot=${WWW_DOCROOT} \
--with-www-port=${WWW_PORT} \
--with-scheduler-port=${SCHEDULER_PORT} \
--with-database-server=${DB_SERVER} \
--with-database=${DATABASE} \
--with-database-user=${DB_USER} \
--with-database-password=${DB_PASSWORD} \
--with-init-database=${INIT_LS_DATABASE} \
PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${CORE_DIR} && \
# ./configure --prefix=${prefix} --enable-debug=${DEBUG} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${AUTHENTICATION_DIR} && \
# ./configure --prefix=${prefix} --enable-debug=${DEBUG} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${DB_DIR} && \
# ./configure --prefix=${prefix} --enable-debug=${DEBUG} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${STORAGE_CLIENT_DIR} && \
# ./configure --prefix=${prefix} --enable-debug=${DEBUG} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${PLAYLIST_EXECUTOR_DIR} && \
# ./configure --prefix=${prefix} --enable-debug=${DEBUG} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${EVENT_SCHEDULER_DIR} && \
# ./configure --prefix=${prefix} --enable-debug=${DEBUG} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${SCHEDULER_CLIENT_DIR} && \
# ./configure --prefix=${prefix} --enable-debug=${DEBUG} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${WIDGETS_DIR} && \
# ./configure --prefix=${prefix} --enable-debug=${DEBUG} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
touch ${TMP_DIR}/modules_setup.stamp
#products_setup: ${TMP_DIR}/products_setup.stamp
#${TMP_DIR}/products_setup.stamp:
# cd ${SCHEDULER_DIR} && \
# ./configure --prefix=${prefix} \
# --enable-debug=${DEBUG} \
# --with-hostname=${HOSTNAME} \
# --with-www-port=${WWW_PORT} \
# --with-scheduler-port=${SCHEDULER_PORT} \
# --with-database-server=${DB_SERVER} \
# --with-database=${DATABASE} \
# --with-database-user=${DB_USER} \
# --with-database-password=${DB_PASSWORD} \
# --with-audio-out=${STATION_AUDIO_OUT} \
# --with-create-odbc-data-source=${CREATE_ODBC_DATA_SOURCE} \
# --with-init-database=${INIT_LS_DATABASE} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# cd ${GLIVESUPPORT_DIR} && \
# ./configure --prefix=${prefix} \
# --enable-debug=${DEBUG} \
# --with-hostname=${HOSTNAME} \
# --with-www-port=${WWW_PORT} \
# --with-scheduler-port=${SCHEDULER_PORT} \
# --with-database-server=${DB_SERVER} \
# --with-database=${DATABASE} \
# --with-database-user=${DB_USER} \
# --with-database-password=${DB_PASSWORD} \
# --with-audio-out=${STUDIO_AUDIO_OUT} \
# --with-audio-cue=${STUDIO_AUDIO_CUE} \
# PACKAGE_VERSION=${PACKAGE_VERSION}
# touch ${TMP_DIR}/products_setup.stamp
distclean: clean tools_distclean modprod_distclean
modprod_distclean:
# ${MAKE} -C ${CORE_DIR} distclean
# ${MAKE} -C ${AUTHENTICATION_DIR} distclean
# ${MAKE} -C ${DB_DIR} distclean
# ${MAKE} -C ${STORAGE_CLIENT_DIR} distclean
# ${MAKE} -C ${PLAYLIST_EXECUTOR_DIR} distclean
# ${MAKE} -C ${EVENT_SCHEDULER_DIR} distclean
# ${MAKE} -C ${SCHEDULER_CLIENT_DIR} distclean
# ${MAKE} -C ${WIDGETS_DIR} distclean
# ${MAKE} -C ${SCHEDULER_DIR} distclean
# ${MAKE} -C ${GLIVESUPPORT_DIR} distclean
# ${RM} ${TMP_DIR}/compile.stamp
${RM} ${TMP_DIR}/modules_setup.stamp
# ${RM} ${TMP_DIR}/products_setup.stamp
depclean:
# ${MAKE} -C ${CORE_DIR} depclean
# ${MAKE} -C ${AUTHENTICATION_DIR} depclean
# ${MAKE} -C ${DB_DIR} depclean
# ${MAKE} -C ${STORAGE_CLIENT_DIR} depclean
# ${MAKE} -C ${PLAYLIST_EXECUTOR_DIR} depclean
# ${MAKE} -C ${EVENT_SCHEDULER_DIR} depclean
# ${MAKE} -C ${SCHEDULER_CLIENT_DIR} depclean
# ${MAKE} -C ${WIDGETS_DIR} depclean
# ${MAKE} -C ${SCHEDULER_DIR} depclean
# ${MAKE} -C ${GLIVESUPPORT_DIR} depclean
-${MAKE} -C ${STORAGE_SERVER_DIR} depclean
#compile: ${TMP_DIR}/compile.stamp
#${TMP_DIR}/compile.stamp:
# ${MAKE} -C ${CORE_DIR} all
# ${MAKE} -C ${AUTHENTICATION_DIR} all
# ${MAKE} -C ${DB_DIR} all
# ${MAKE} -C ${STORAGE_CLIENT_DIR} all
# ${MAKE} -C ${PLAYLIST_EXECUTOR_DIR} all
# ${MAKE} -C ${EVENT_SCHEDULER_DIR} all
# ${MAKE} -C ${SCHEDULER_CLIENT_DIR} all
# ${MAKE} -C ${WIDGETS_DIR} all
# ${MAKE} -C ${SCHEDULER_DIR} all
# ${MAKE} -C ${GLIVESUPPORT_DIR} all
# touch ${TMP_DIR}/compile.stamp
#check:
# -${MAKE} -C ${CORE_DIR} check
# -${MAKE} -C ${AUTHENTICATION_DIR} check
# -${MAKE} -C ${DB_DIR} check
# -${MAKE} -C ${STORAGE_CLIENT_DIR} check
# -${MAKE} -C ${PLAYLIST_EXECUTOR_DIR} check # hangs on edge.campware.org
# -${MAKE} -C ${EVENT_SCHEDULER_DIR} check
# -${MAKE} -C ${SCHEDULER_CLIENT_DIR} check
# -${MAKE} -C ${WIDGETS_DIR} check # no tests defined
# -${MAKE} -C ${SCHEDULER_DIR} check # has database issues
# -${MAKE} -C ${GLIVESUPPORT_DIR} check # has database issues
# -${MAKE} -C ${STORAGE_SERVER_DIR} check # has database issues
start: ${SCHEDULER_EXE}
${MAKE} -C ${SCHEDULER_DIR} start
stop: ${SCHEDULER_EXE}
${MAKE} -C ${SCHEDULER_DIR} stop
status: ${SCHEDULER_EXE}
${MAKE} -C ${SCHEDULER_DIR} status
#run: ${GLIVESUPPORT_EXE}
# ${MAKE} -C ${GLIVESUPPORT_DIR} run
#-------------------------------------------------------------------------------
# Installation related targets
#-------------------------------------------------------------------------------
.PHONY: install create_database setup_install_dirs
.PHONY: install_modules
install: setup setup_install_dirs create_database install_modules
${MKDIR} ${USR_ETC_DIR}/apache
${CP} ${ETC_DIR}/apache/*.conf ${USR_ETC_DIR}/apache
${MKDIR} ${USR_BIN_DIR}
${CP} ${BIN_DIR}/postInstallStation.sh ${USR_BIN_DIR}
# ${CP} ${ETC_DIR}/campcaster-scheduler ${USR_ETC_DIR}
${CP} ${ETC_DIR}/pg_hba.conf ${USR_ETC_DIR}
create_database:
ifeq (@CREATE_LS_DATABASE@,yes)
${SCHEDULER_DIR}/bin/createDatabase.sh --database=${DATABASE} \
--dbserver=${DB_SERVER} \
--dbuser=${DB_USER} \
--dbpassword=${DB_PASSWORD}
endif
setup_install_dirs:
${MKDIR} ${USR_BIN_DIR}
# ${MKDIR} ${USR_DOC_DIR}
${MKDIR} ${USR_ETC_DIR}
${MKDIR} ${USR_LIB_DIR}
${MKDIR} ${USR_VAR_DIR}
install_modules:
# ${MAKE} -C ${ALIB_DIR} install
${MAKE} -C ${GETID3_DIR} install
${MAKE} -C ${HTML_UI_DIR} install
${MAKE} -C ${STORAGE_ADMIN_DIR} install
${MAKE} -C ${STORAGE_SERVER_DIR} install
# ${MAKE} -C ${CORE_DIR} install
# ${MAKE} -C ${AUTHENTICATION_DIR} install
# ${MAKE} -C ${DB_DIR} install
# ${MAKE} -C ${STORAGE_CLIENT_DIR} install
# ${MAKE} -C ${PLAYLIST_EXECUTOR_DIR} install
# ${MAKE} -C ${EVENT_SCHEDULER_DIR} install
# ${MAKE} -C ${SCHEDULER_CLIENT_DIR} install
# ${MAKE} -C ${WIDGETS_DIR} install
#install_products:
# ${MAKE} -C ${SCHEDULER_DIR} install
# ${MAKE} -C ${GLIVESUPPORT_DIR} install