#------------------------------------------------------------------------------- # StorageServer - file storage component # Copyright (c) 2010 Sourcefabric O.P.S. # # This file is part of the Campcaster project. # # 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 # # @configure_input@ #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # General command definitions #------------------------------------------------------------------------------- SHELL = /bin/bash MKDIR = mkdir -p RM = rm -f RMDIR = rm -rf DOXYGEN = doxygen CP = cp -rP SED = sed ECHO = echo CAT = cat PHP = php #------------------------------------------------------------------------------- # Misc #------------------------------------------------------------------------------- MODULE_NAME = storageServer TAR_C = tar -cj --exclude .svn --exclude '*~' -C ${BASE_DIR} -f DIST_EXT = .tgz DATE = `date +%y%m%d` #------------------------------------------------------------------------------- # Basic directory and file definitions #------------------------------------------------------------------------------- #BASE_DIR = @builddir@ BASE_DIR = . BIN_DIR = ${BASE_DIR}/bin DOC_DIR = ${BASE_DIR}/doc DOXYGEN_DIR = ${DOC_DIR}/doxygen ETC_DIR = ${BASE_DIR}/etc INCLUDE_DIR = ${BASE_DIR}/include LIB_DIR = ${BASE_DIR}/lib SRC_DIR = ${BASE_DIR}/src TMP_DIR = ${BASE_DIR}/tmp VAR_DIR = ${BASE_DIR}/var prefix = @prefix@ USR_DIR = ${prefix} USR_INCLUDE_DIR = ${USR_DIR}/include USR_LIB_DIR = ${USR_DIR}/lib USR_VAR_DIR = ${USR_DIR}/var DOXYGEN_CONFIG = ${ETC_DIR}/doxygen.config PHP_DIR = ${VAR_DIR} INSTALL_DIR = ${PHP_DIR}/install STOR_DIR = ${PHP_DIR}/stor ACCESS_DIR = ${PHP_DIR}/access TRANS_DIR = ${PHP_DIR}/trans BUFF_DIR = ${STOR_DIR}/buffer TEST_RUNNER = ${PHP_DIR}/xmlrpc/testRunner.sh DEST_DIR = ${USR_VAR_DIR}/Campcaster/storageServer DEST_VAR_DIR = ${DEST_DIR}/var DEST_BIN_DIR = ${DEST_DIR}/bin HOSTNAME = @HOSTNAME@ APACHE_GROUP = @APACHE_GROUP@ WWW_PORT = @WWW_PORT@ DB_SERVER = @DB_SERVER@ DATABASE = @DATABASE@ DB_USER = @DB_USER@ DB_PASSWORD = @DB_PASSWORD@ SCHEDULER_PORT = @SCHEDULER_PORT@ WWW_DOCROOT = @WWW_DOCROOT@ PHP_URL_PREFIX = @URL_PREFIX@ SCHEDULER_URL_PREFIX = SCHEDULER_XML_RPC_PREFIX = RC2 USR_LIB_DIR_S=$(shell ${ECHO} ${USR_LIB_DIR} | ${SED} -e "s/\//\\\\\\\\\//g") PHP_URL_PREFIX_S=$(shell ${ECHO} ${PHP_URL_PREFIX} | ${SED} -e "s/\//\\\\\\\\\//g") REPLACE_SED_STRING="s/ls_lib_dir/${USR_LIB_DIR_S}/; \ s/ls_dbuser/${DB_USER}/; \ s/ls_dbpassword/${DB_PASSWORD}/; \ s/ls_dbserver/${DB_SERVER}/; \ s/ls_database/${DATABASE}/; \ s/ls_apache_group/${APACHE_GROUP}/; \ s/ls_storageUrlPath/\/${PHP_URL_PREFIX_S}\/storageServer\/var/; \ s/ls_php_host/${HOSTNAME}/; \ s/ls_php_port/${WWW_PORT}/; \ s/ls_archiveUrlPath/\/${PHP_URL_PREFIX_S}\/archiveServer\/var/; \ s/ls_scheduler_urlPrefix/${SCHEDULER_URL_PREFIX}/; \ s/ls_scheduler_xmlRpcPrefix/${SCHEDULER_XML_RPC_PREFIX}/; \ s/ls_scheduler_host/${HOSTNAME}/; \ s/ls_scheduler_port/${SCHEDULER_PORT}/;" #------------------------------------------------------------------------------- # Configuration parameters #------------------------------------------------------------------------------- #CPPFLAGS = @CPPFLAGS@ #CXXFLAGS = @CXXFLAGS@ @DEFS@ -I${USR_INCLUDE_DIR} -I${INCLUDE_DIR} -I${TMP_DIR}\ # -pedantic -Wall #LDFLAGS = @LDFLAGS@ -L${USR_LIB_DIR} -L${LIB_DIR} #------------------------------------------------------------------------------- # Dependencies #------------------------------------------------------------------------------- #HELLO_LIB_OBJS = ${TMP_DIR}/Hello.o #TEST_RUNNER_OBJS = ${TMP_DIR}/HelloTest.o ${TMP_DIR}/TestRunner.o #------------------------------------------------------------------------------- # Targets #------------------------------------------------------------------------------- .PHONY: all dir_setup doc clean docclean depclean distclean dist install .PHONY: db_init db_clean testonly transtest storage reset .PHONY: copy_files create_database init_database all: doc: ${DOXYGEN} ${DOXYGEN_CONFIG} clean: db_clean ${RMDIR} ${STOR_DIR} ${RMDIR} ${ACCESS_DIR} ${RMDIR} ${TRANS_DIR} docclean: ${RMDIR} ${DOXYGEN_DIR}/html depclean: clean dist: ${TAR_C} ${MODULE_NAME}${DATE}${DIST_EXT} * distclean: clean docclean testonly: ${TEST_RUNNER} ${TEST_RUNNER} check: all testonly install: copy_files create_database init_database copy_files: ${MKDIR} ${DEST_DIR} ${MKDIR} ${DEST_VAR_DIR} ${MKDIR} ${DEST_BIN_DIR} ${MKDIR} ${DEST_VAR_DIR}/access ${MKDIR} ${DEST_VAR_DIR}/cron ${MKDIR} ${DEST_VAR_DIR}/install ${MKDIR} ${DEST_VAR_DIR}/install/upgrade ${MKDIR} ${DEST_VAR_DIR}/stor ${MKDIR} ${DEST_VAR_DIR}/stor/buffer ${MKDIR} ${DEST_VAR_DIR}/trans ${MKDIR} ${DEST_VAR_DIR}/xmlrpc ${CP} ${VAR_DIR}/*.{php,xml} ${DEST_VAR_DIR} ${CP} ${VAR_DIR}/cron/*.php ${DEST_VAR_DIR}/cron ${CP} ${VAR_DIR}/install/*.php \ ${DEST_VAR_DIR}/install ${CP} ${VAR_DIR}/install/upgrade/*.php \ ${DEST_VAR_DIR}/install/upgrade ${CP} ${VAR_DIR}/xmlrpc/*.php \ ${DEST_VAR_DIR}/xmlrpc ${CAT} ${VAR_DIR}/conf.php.template | ${SED} -e ${REPLACE_SED_STRING} \ > ${DEST_VAR_DIR}/conf.php ${CP} ${BIN_DIR}/backup.sh ${BIN_DIR}/restore.php \ ${DEST_BIN_DIR} chgrp ${APACHE_GROUP} ${DEST_VAR_DIR}/access chgrp ${APACHE_GROUP} ${DEST_VAR_DIR}/stor chgrp ${APACHE_GROUP} ${DEST_VAR_DIR}/stor/buffer chgrp ${APACHE_GROUP} ${DEST_VAR_DIR}/trans chmod g+sw ${DEST_VAR_DIR}/access chmod g+sw ${DEST_VAR_DIR}/stor chmod g+sw ${DEST_VAR_DIR}/stor/buffer chmod g+sw ${DEST_VAR_DIR}/trans ${RM} ${WWW_DOCROOT}/${PHP_URL_PREFIX} ln -sf ${USR_VAR_DIR}/Campcaster ${WWW_DOCROOT}/${PHP_URL_PREFIX} create_database: ifeq (@CREATE_LS_DATABASE@,yes) ${BIN_DIR}/createDatabase.sh --database=${DATABASE} \ --dbserver=${DB_SERVER} \ --dbuser=${DB_USER} \ --dbpassword=${DB_PASSWORD} endif init_database: ifeq (@INIT_LS_DATABASE@,yes) -cd ${DEST_VAR_DIR}/install && ${PHP} -q install.php endif recheck: clean check #------------------------------------------------------------------------------- # Specific targets #------------------------------------------------------------------------------- storage: db_init dir_setup storagecheck: storage testonly dir_setup: bin/setupDirs.sh ${STOR_DIR} ${ACCESS_DIR} ${TRANS_DIR} ${BUFF_DIR} db_init: -cd var/install && php -q install.php chgrp ${APACHE_GROUP} ${STOR_DIR} ${ACCESS_DIR} ${TRANS_DIR} ${BUFF_DIR} chmod g+sw ${STOR_DIR} ${ACCESS_DIR} ${TRANS_DIR} ${BUFF_DIR} db_clean: -cd var/install && php -q uninstall.php reset: ./bin/resetStorage.sh transtest: ./var/tests/transTest.sh # cd var/tests; php -q transTest.php ${TMP_DIR}: ${MKDIR} ${TMP_DIR} ${DOXYGEN_DIR}: ${MKDIR} ${DOXYGEN_DIR} ${TEST_RUNNER}: #------------------------------------------------------------------------------- # Pattern rules #------------------------------------------------------------------------------- #${TMP_DIR}/%.o : ${SRC_DIR}/%.cxx # ${CXX} ${CPPFLAGS} ${CXXFLAGS} -c -o $@ $<