261 lines
8.6 KiB
Makefile
261 lines
8.6 KiB
Makefile
#-------------------------------------------------------------------------------
|
|
# 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}/LiveSupport/Widgets/blueBin \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/button \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/combo \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/darkBlueBin \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/entryBin \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/icons \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/imageButton \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/tabButton \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/whiteWindow
|
|
${CP} ${VAR_DIR}/blueBin/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/blueBin
|
|
${CP} ${VAR_DIR}/button/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/button
|
|
${CP} ${VAR_DIR}/combo/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/combo
|
|
${CP} ${VAR_DIR}/darkBlueBin/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/darkBlueBin
|
|
${CP} ${VAR_DIR}/entryBin/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/entryBin
|
|
${CP} ${VAR_DIR}/icons/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/icons
|
|
${CP} ${VAR_DIR}/imageButton/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/imageButton
|
|
${CP} ${VAR_DIR}/tabButton/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/Widgets/tabButton
|
|
${CP} ${VAR_DIR}/whiteWindow/*.png \
|
|
${USR_VAR_DIR}/LiveSupport/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} $^
|
|
|