sintonia/etc/Makefile.in
paul.baranowski f0c313f1dd CC-1024 Update installation/build for webapp-only
Removed compilation of C++ stuff.
Should now only install web app stuff.
Moved Alib.php and Subjects.php to the storageServer dir.
Removed the playlog DB table, the schedule table IS the playlog now.

Also removed archiveServer stuff from Debian files.
2010-09-28 13:25:03 -04:00

425 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