#------------------------------------------------------------------------------- # Copyright (c) 2004 Media Development Loan Fund # # This file is part of the Campcaster project. # http://campcaster.campware.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 # # # Author : $Author$ # Version : $Revision$ # Location : $URL$ # # @configure_input@ #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # General command definitions #------------------------------------------------------------------------------- MKDIR = mkdir -p RM = rm -f RMDIR = rm -rf DOXYGEN = doxygen CP = cp -f #------------------------------------------------------------------------------- # Basic directory and file definitions #------------------------------------------------------------------------------- PACKAGE_NAME = @PACKAGE_NAME@ BASE_DIR = @builddir@ DOC_DIR = ${BASE_DIR}/doc DOXYGEN_DIR = ${DOC_DIR}/doxygen COVERAGE_DIR = ${DOC_DIR}/coverage 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_BIN_DIR = ${USR_DIR}/bin USR_LIB_DIR = ${USR_DIR}/lib USR_VAR_DIR = ${USR_DIR}/var MODULES_DIR = ${BASE_DIR}/.. CORE_DIR = ${MODULES_DIR}/core CORE_INCLUDE_DIR = ${CORE_DIR}/include CORE_LIB_DIR = ${CORE_DIR}/lib CORE_LIB = livesupport_core CORE_LIB_FILE = ${CORE_LIB_DIR}/lib${CORE_LIB}.a GENRB = @GENRB@ GENRBOPTS = --destdir ${TMP_DIR} \ --encoding utf-8 \ --package-name ${PACKAGE_NAME} \ --strict VPATH = ${SRC_DIR} BOOST_CFLAGS=@BOOST_CPPFLAGS@ BOOST_LIBS=@BOOST_LDFLAGS@ BOOST_DATE_TIME_LIB=@BOOST_DATE_TIME_LIB@ LIBXMLPP_CFLAGS=@LIBXMLPP_CFLAGS@ LIBXMLPP_LIBS=@LIBXMLPP_LIBS@ ICU_CFLAGS=@ICU_CFLAGS@ ICU_CXXFLAGS=@ICU_CXXFLAGS@ ICU_LIBS=@ICU_LIBS@ GTKMM_CFLAGS=@GTKMM_CFLAGS@ GTKMM_LIBS=@GTKMM_LIBS@ TEST_RESULTS = ${DOC_DIR}/testResults.xml # the text result XSLT has to be relative to the test result file, e.g. TMP_DIR TEST_XSLT = ../etc/testResultToHtml.xsl WIDGETS_LIB = livesupport_widgets WIDGETS_LIB_FILE = ${LIB_DIR}/lib${WIDGETS_LIB}.a TEST_EXE = ${TMP_DIR}/test TEST_CFG = ${ETC_DIR}/widgetFactory.xml DOXYGEN_CONFIG = ${ETC_DIR}/doxygen.config export LD_LIBRARY_PATH:=${USR_LIB_DIR}:${LD_LIBRARY_PATH} #------------------------------------------------------------------------------- # Configuration parameters #------------------------------------------------------------------------------- CPPFLAGS = @CPPFLAGS@ CXXFLAGS = @CXXFLAGS@ @DEFS@ @COVERAGE_CXXFLAGS@ -pthread \ -pedantic -Wall -Wno-long-long \ ${BOOST_CFLAGS} \ ${LIBXMLPP_CFLAGS} \ ${ICU_CFLAGS} \ ${GTKMM_CFLAGS} \ -I${USR_INCLUDE_DIR} \ -I${CORE_INCLUDE_DIR} \ -I${INCLUDE_DIR} -I${TMP_DIR} LDFLAGS = @LDFLAGS@ -pthread \ ${BOOST_LIBS} \ ${LIBXMLPP_LIBS} \ ${ICU_LIBS} \ ${GTKMM_LIBS} \ -L${USR_LIB_DIR} \ -L${CORE_LIB_DIR} \ -L${LIB_DIR} #------------------------------------------------------------------------------- # Dependencies #------------------------------------------------------------------------------- WIDGETS_LIB_OBJS = ${TMP_DIR}/ImageButton.o \ ${TMP_DIR}/Button.o \ ${TMP_DIR}/BlueBin.o \ ${TMP_DIR}/EntryBin.o \ ${TMP_DIR}/WhiteWindow.o \ ${TMP_DIR}/CornerImages.o \ ${TMP_DIR}/ButtonImages.o \ ${TMP_DIR}/ComboBoxText.o \ ${TMP_DIR}/MetadataComboBoxText.o \ ${TMP_DIR}/OperatorComboBoxText.o \ ${TMP_DIR}/Notebook.o \ ${TMP_DIR}/WidgetFactory.o \ ${TMP_DIR}/ZebraTreeView.o \ ${TMP_DIR}/ZebraCellRenderer.o \ ${TMP_DIR}/Colors.o \ ${TMP_DIR}/DialogWindow.o \ ${TMP_DIR}/ScrolledWindow.o \ ${TMP_DIR}/ScrolledNotebook.o \ ${TMP_DIR}/DateTimeChooserWindow.o \ ${TMP_DIR}/RadioButtons.o \ ${TMP_DIR}/MasterPanelBin.o \ TEST_EXE_OBJS = ${TMP_DIR}/TestWindow.o \ ${TMP_DIR}/main.o TEST_RUNNER_RES = ${TMP_DIR}/${PACKAGE_NAME}_root.res \ ${TMP_DIR}/${PACKAGE_NAME}_en.res \ ${TMP_DIR}/${PACKAGE_NAME}_hu.res TEST_EXE_LIBS = -l${WIDGETS_LIB} -l${CORE_LIB} ${ICU_LIBS} \ ${BOOST_DATE_TIME_LIB} -lxmlrpc++ -lssl #------------------------------------------------------------------------------- # Targets #------------------------------------------------------------------------------- .PHONY: all dir_setup doc clean docclean depclean distclean check install all: dir_setup ${WIDGETS_LIB_FILE} dir_setup: ${TMP_DIR} ${DOXYGEN_DIR} doc: ${DOXYGEN} ${DOXYGEN_CONFIG} clean: ${RM} ${WIDGETS_LIB_OBJS} ${WIDGETS_LIB_FILE} ${RM} ${TEST_EXE_OBJS} ${TEST_EXE} ${RM} ${TMP_DIR}/*.bb ${TMP_DIR}/*.bbg ${TMP_DIR}/*.da ${TMP_DIR}/*.info docclean: ${RMDIR} ${DOXYGEN_DIR}/html ${RMDIR} ${COVERAGE_DIR}/* ${RM} ${TEST_RESULTS} depclean: clean distclean: clean docclean ${RMDIR} ${TMP_DIR}/config* ${TMP_DIR}/autom4te* ${TMP_DIR}/ac*.m4 run: all ${TEST_EXE} ${TEST_RUNNER_RES} ${TEST_EXE} -c ${TEST_CFG} check: all install: all ${MKDIR} ${USR_INCLUDE_DIR}/LiveSupport/Widgets ${CP} ${INCLUDE_DIR}/LiveSupport/Widgets/*.h \ ${USR_INCLUDE_DIR}/LiveSupport/Widgets ${CP} ${WIDGETS_LIB_FILE} ${USR_LIB_DIR} ${MKDIR} ${USR_VAR_DIR}/Campcaster/Widgets ${MKDIR} ${USR_VAR_DIR}/Campcaster/Widgets/blueBin \ ${USR_VAR_DIR}/Campcaster/Widgets/button \ ${USR_VAR_DIR}/Campcaster/Widgets/combo \ ${USR_VAR_DIR}/Campcaster/Widgets/darkBlueBin \ ${USR_VAR_DIR}/Campcaster/Widgets/entryBin \ ${USR_VAR_DIR}/Campcaster/Widgets/icons \ ${USR_VAR_DIR}/Campcaster/Widgets/imageButton \ ${USR_VAR_DIR}/Campcaster/Widgets/tabButton \ ${USR_VAR_DIR}/Campcaster/Widgets/whiteWindow ${CP} ${VAR_DIR}/blueBin/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/blueBin ${CP} ${VAR_DIR}/button/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/button ${CP} ${VAR_DIR}/combo/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/combo ${CP} ${VAR_DIR}/darkBlueBin/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/darkBlueBin ${CP} ${VAR_DIR}/entryBin/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/entryBin ${CP} ${VAR_DIR}/icons/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/icons ${CP} ${VAR_DIR}/imageButton/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/imageButton ${CP} ${VAR_DIR}/tabButton/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/tabButton ${CP} ${VAR_DIR}/whiteWindow/*.png \ ${USR_VAR_DIR}/Campcaster/Widgets/whiteWindow #------------------------------------------------------------------------------- # Specific targets #------------------------------------------------------------------------------- ${WIDGETS_LIB_FILE}: ${WIDGETS_LIB_OBJS} ${AR} crus $@ $^ ${TMP_DIR}: ${MKDIR} ${TMP_DIR} ${DOXYGEN_DIR}: ${MKDIR} ${DOXYGEN_DIR} ${TEST_EXE}: ${CORE_LIB_FILE} ${TEST_EXE_OBJS} ${WIDGETS_LIB_FILE} ${CXX} ${LDFLAGS} -o $@ ${TEST_EXE_OBJS} ${TEST_EXE_LIBS} \ ${WIDGETS_LIB_FILE} ${CORE_LIB_FILE}: ${MAKE} -C ${CORE_DIR} #------------------------------------------------------------------------------- # Pattern rules #------------------------------------------------------------------------------- ${TMP_DIR}/%.o : ${SRC_DIR}/%.cxx ${CXX} ${CPPFLAGS} ${CXXFLAGS} -c -o $@ $< ${TMP_DIR}/${PACKAGE_NAME}_%.res : ${VAR_DIR}/%.txt ${GENRB} ${GENRBOPTS} $^