sgpemv2/Makefile.am

384 lines
10 KiB
Makefile
Raw Normal View History

# Makefile.am - Copyright 2005, 2006, University
# of Padova, dept. of Pure and Applied
# Mathematics
#
# This file is part of SGPEMv2.
#
# This 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.
#
# SGPEMv2 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 SGPEMv2; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# extra calls
.PHONY : apidox
# this should be the only recursive call inside sgpemv2 main pkg
# please note the "." directory _has_ to come first, before plugins
SUBDIRS = . po
# ################################# #
# Additional directories building: #
# ################################# #
# allow building of provided plugins
# FIXME: how to make this dynamic? e.g. for plugins/* ?
SUBDIRS += \
plugins/pyloader \
plugins/xmlsave
datarootdir = @datarootdir@
sharedir = $(pkgdatadir)
policiesdir = $(sharedir)/policies
plugindir = $(sharedir)/plugins
gladedir = $(sharedir)/glade
localedir = @datadir@/locale
aclocaldir = @datadir@/aclocal
#define empty global variables
bin_PROGRAMS =
pkglib_LTLIBRARIES =
plugin_LTLIBRARIES =
noinst_HEADERS =
pkginclude_HEADERS =
EXTRA_DIST =
MAINTAINERCLEANFILES =
MOSTLYCLEANFILES =
CLEANFILES =
# ############################################################
#
# extra dist, cleanup and automake/aclocal flags
#
# ############################################################
ACLOCAL_AMFLAGS = -I m4
install_macros = \
m4/sgpemv2-dirs.m4 \
m4/sgpemv2-visibility.m4
macros = \
m4/compilerflags.m4 \
m4/linkingflags.m4
EXTRA_DIST += \
config/config.rpath \
config/mkinstalldirs \
configure.ac \
gettext.h \
$(install_macros) \
$(macros)
aclocal_DATA = $(install_macros)
MAINTAINERCLEANFILES += doc/API
# ############################################################
#
# desktop files and other distribution data
#
# ############################################################
pkgconfdir = $(libdir)/pkgconfig
pkgconf_DATA = config/sgpemv2.pc
# ############################################################
#
# documentation
#
# ############################################################
info_TEXINFOS = \
doc/sgpem2uman.texi \
doc/sgpem2dman.texi
licenses = doc/fdl.texi doc/gpl.texi
EXTRA_DIST += $(licenses)
sgpem2uman_TEXINFOS = $(licenses) doc/vers-uman.texi
sgpem2dman_TEXINFOS = $(licenses) doc/vers-dman.texi
apidox :
test -d 'doc/API' || mkdir -p -- 'doc/API'
if HAVE_DOXYGEN
doxygen config/Doxyfile
else
@echo "** Doxygen not installed. Skipping generating API docs."
endif
dist-hook : apidox
cp -Rp 'doc/API' '$(distdir)/doc/API'
distclean-local :
if test -d 'doc/API'; then rm -rf 'doc/API'; fi
# ############################################################
#
# source : libbackend.la
#
# ############################################################
# Program & library names
pkglib_LTLIBRARIES += src/backend/libbackend.la
src_backend_libbackend_la_CPPFLAGS = \
-I@top_srcdir@ \
-I@top_srcdir@/src/templates \
-DPOLDIR="\"$(policiesdir)\"" \
-DPLUGDIR="\"$(plugindir)\"" \
-DLOCALEDIR="\"$(localedir)\"" \
$(PYTHON_CPPFLAGS) \
$(GLIBMM_CFLAGS)
src_backend_libbackend_la_CXXFLAGS = \
$(VISIB_HIDDEN)
src_backend_libbackend_la_LDFLAGS = \
$(GLIBMM_LDFLAGS) \
$(LT_LDFLAGS) \
-version-info 0:0:0 \
-export-dynamic
# Please keep this in sorted order:
src_backend_libbackend_la_SOURCES = \
src/backend/concrete_environment.cc \
src/backend/concrete_history.cc \
src/backend/dynamic_process.cc \
src/backend/dynamic_request.cc \
src/backend/dynamic_resource.cc \
src/backend/dynamic_schedulable.cc \
src/backend/dynamic_sub_request.cc \
src/backend/dynamic_thread.cc \
src/backend/environment.cc \
src/backend/global_preferences.cc \
src/backend/history.cc \
src/backend/history_observer.cc \
src/backend/invalid_plugin_exception.cc \
src/backend/module.cc \
src/backend/plugin_manager.cc \
src/backend/policies_gatekeeper.cc \
src/backend/policy.cc \
src/backend/policy_manager.cc \
src/backend/policy_parameters.cc \
src/backend/process.cc \
src/backend/ready_queue.cc \
src/backend/request.cc \
src/backend/resource.cc \
src/backend/schedulable.cc \
src/backend/scheduler.cc \
src/backend/serialize_visitor.cc \
src/backend/static_process.cc \
src/backend/static_request.cc \
src/backend/static_resource.cc \
src/backend/static_schedulable.cc \
src/backend/static_sub_request.cc \
src/backend/static_thread.cc \
src/backend/string_utils.cc \
src/backend/sub_request.cc \
src/backend/thread.cc \
src/backend/user_interrupt_exception.cc
# Put here header files that will be installed for the user
# For headers used internally by the backend, see below.
pkginclude_HEADERS += \
config.h \
src/backend/environment.hh \
src/backend/global_preferences.hh \
src/backend/history.hh \
src/backend/history_observer.hh \
src/backend/invalid_plugin_exception.hh \
src/backend/module.hh \
src/backend/plugin.hh \
src/backend/plugin_manager.hh \
src/backend/policies_gatekeeper.hh \
src/backend/policy.hh \
src/backend/policy_manager.hh \
src/backend/policy_parameters.hh \
src/backend/ready_queue.hh \
src/backend/request.hh \
src/backend/resource.hh \
src/backend/process.hh \
src/backend/schedulable.hh \
src/backend/scheduler.hh \
src/backend/serialize_visitor.cc \
src/backend/sub_request.hh \
src/backend/thread.hh \
src/backend/user_interrupt_exception.hh
# Put here headers used internally by the backend
# They won't be installed for the end-user.
noinst_HEADERS += \
src/backend/concrete_environment.hh \
src/backend/concrete_history.hh \
src/backend/dynamic_process.hh \
src/backend/dynamic_request.hh \
src/backend/dynamic_resource.hh \
src/backend/dynamic_schedulable.hh \
src/backend/dynamic_sub_request.hh \
src/backend/dynamic_thread.hh \
src/backend/static_process.hh \
src/backend/static_request.hh \
src/backend/static_resource.hh \
src/backend/static_schedulable.hh \
src/backend/static_sub_request.hh \
src/backend/static_thread.hh \
src/backend/string_utils.hh
# ############################################################
#
# source : main executable
#
# ############################################################
# Program & library names
bin_PROGRAMS += sgpemv2
sgpemv2_CPPFLAGS = \
-I@top_srcdir@ \
-I@top_srcdir@/src/templates \
-DLOCALEDIR="\"$(localedir)\"" \
-DSHAREDIR="\"$(sharedir)\"" \
-DGLADEDIR="\"$(gladedir)\"" \
$(CAIRO_CFLAGS) \
$(GTKMM_CFLAGS) \
$(LIBGLADEMM_CFLAGS) \
$(PYTHON_CPPFLAGS) \
$(GTHREAD_CFLAGS)
sgpemv2_CXXFLAGS = $(VISIB_HIDDEN)
sgpemv2_LDFLAGS = $(LT_LDFLAGS)
sgpemv2_LDADD = \
src/backend/libbackend.la \
$(CAIRO_LIBS) \
$(GTKMM_LIBS) \
$(LIBGLADEMM_LIBS) \
$(GTHREAD_LIBS)
# Please keep this in sorted order:
sgpemv2_SOURCES = \
src/graphical_terminal_io.cc \
src/gui_builder.cc \
src/main.cc \
src/main_window.cc \
src/observer.cc \
src/parse_opts.cc \
src/schedulables_widget.cc \
src/simulation.cc \
src/standard_io.cc \
src/text_simulation.cc
noinst_HEADERS += \
src/graphical_simulation.hh \
src/graphical_terminal_io.hh \
src/gui_builder.hh \
src/io_manager.hh \
src/main.hh \
src/main_window.hh \
src/observer.hh \
src/parse_opts.hh \
src/schedulables_widget.hh \
src/simulation.hh \
src/standard_io.hh \
src/text_simulation.hh
# ---------- glade files -----------
glade_DATA = \
glade/main-window.glade
# ############################################################
#
# source : templates
#
# ############################################################
pkginclude_HEADERS += \
src/templates/parameter.tcc \
src/templates/singleton.hh \
src/templates/singleton.tcc \
src/templates/smartp.hh \
src/templates/smartp.tcc
# ############################################################
#
# check : testsuite
#
# ############################################################
if COND_TESTS
# DEJATOOL = src/testsuite/example-test.exp
noinst_PROGRAMS = \
src/testsuite/test-history
# disable :
# src/testsuite/test-parse_command
# src/testsuite/test-stepforward
src_testsuite_test_history_CPPFLAGS = \
-I@top_srcdir@/src \
-I@top_srcdir@/src/templates \
$(GLIBMM_CFLAGS)
src_testsuite_test_history_LDFLAGS = \
src/backend/libbackend.la \
$(GLIBMM_LIBS)
src_testsuite_test_history_SOURCES = \
src/backend/concrete_environment.cc \
src/backend/concrete_history.cc \
src/backend/dynamic_process.cc \
src/backend/dynamic_request.cc \
src/backend/dynamic_resource.cc \
src/backend/dynamic_schedulable.cc \
src/backend/dynamic_sub_request.cc \
src/backend/dynamic_thread.cc \
src/backend/static_process.cc \
src/backend/static_request.cc \
src/backend/static_resource.cc \
src/backend/static_schedulable.cc \
src/backend/static_sub_request.cc \
src/backend/static_thread.cc \
src/testsuite/test-history.cc
#src_testsuite_test_parse_command_CPPFLAGS = \
# -I@top_srcdir@/src \
# -I@top_srcdir@/src/templates \
# $(GLIBMM_CFLAGS)
#src_testsuite_test_parse_command_LDFLAGS = \
# src/backend/libbackend.la \
# $(GLIBMM_LIBS)
#src_testsuite_test_parse_command_SOURCES = \
# src/testsuite/test-parse_command.cc
# advice: get dummy_policy from the somewhere in the repository, and compile it in.
#src_testsuite_test_stepforward_CPPFLAGS = \
# -I@top_srcdir@/src \
# -I@top_srcdir@/src/templates \
# $(GLIBMM_CFLAGS)
#src_testsuite_test_stepforward_LDFLAGS = \
# src/backend/libbackend.la \
# $(GLIBMM_LIBS)
#src_testsuite_test_stepforward_SOURCES = \
# src/testsuite/stubs/history.cc \
# src/testsuite/stubs/prrpolicy.cc \
# src/testsuite/stubs/policy_manager.cc \
# src/backend/scheduler.cc \
# src/testsuite/test-stepforward.cc
# Workaround an automake bug that leaves behind some files
# while it's finishing the distcheck target
CLEANFILES += \
src/testsuite/.libs/test-history
endif #~ if COND_TESTS