403 lines
10 KiB
Makefile
403 lines
10 KiB
Makefile
# 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
|
|
SUBDIRS = po
|
|
|
|
# directories definition
|
|
sharedir = $(pkgdatadir)
|
|
policiesdir = $(sharedir)/policies
|
|
plugindir = $(sharedir)/plugins
|
|
moduledir = $(plugindir)/extras
|
|
localedir = @datadir@/locale
|
|
testsdir = $(pkgdatadir)/tests
|
|
|
|
#define empty global variables
|
|
bin_PROGRAMS =
|
|
plugin_LTLIBRARIES =
|
|
noinst_HEADERS =
|
|
pkglib_LTLIBRARIES =
|
|
noinst_PYTHON =
|
|
EXTRA_DIST =
|
|
MAINTAINERCLEANFILES =
|
|
MOSTLYCLEANFILES =
|
|
CLEANFILES =
|
|
|
|
# ############################################################
|
|
#
|
|
# extra dist, cleanup and automake/aclocal flags
|
|
#
|
|
# ############################################################
|
|
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
macros = m4/compilerflags.m4 \
|
|
m4/linkingflags.m4 \
|
|
m4/ac_python_devel.m4 \
|
|
m4/ac_pkg_swig.m4 \
|
|
m4/ac_python_module.m4
|
|
|
|
EXTRA_DIST += \
|
|
config/config.rpath \
|
|
config/mkinstalldirs \
|
|
configure.ac \
|
|
gettext.h \
|
|
$(macros)
|
|
|
|
MAINTAINERCLEANFILES += doc/API
|
|
|
|
# ############################################################
|
|
#
|
|
# desktop files and other distribution data
|
|
#
|
|
# ############################################################
|
|
|
|
# to be written when something will go here...
|
|
|
|
|
|
|
|
# ############################################################
|
|
#
|
|
# 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@ \
|
|
-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/global_settings.cc \
|
|
src/backend/history.cc \
|
|
src/backend/observed_subject.cc \
|
|
src/backend/policy.cc \
|
|
src/backend/policy_manager.cc \
|
|
src/backend/policy_parameters.cc \
|
|
src/backend/process.cc \
|
|
src/backend/schedulable.cc \
|
|
src/backend/schedulable_list.cc \
|
|
src/backend/schedulable_status.cc \
|
|
src/backend/scheduler.cc \
|
|
src/backend/slice.cc \
|
|
src/backend/string_utils.cc \
|
|
src/backend/user_interrupt_exception.cc
|
|
|
|
pkginclude_HEADERS = \
|
|
config.h \
|
|
src/backend/global_settings.hh \
|
|
src/backend/history.hh \
|
|
src/backend/observed_subject.hh \
|
|
src/backend/plugin.hh \
|
|
src/backend/policy.hh \
|
|
src/backend/policy_manager.hh \
|
|
src/backend/policy_parameters.hh \
|
|
src/backend/process.hh \
|
|
src/backend/schedulable.hh \
|
|
src/backend/schedulable_list.hh \
|
|
src/backend/schedulable_status.hh \
|
|
src/backend/scheduler.hh \
|
|
src/backend/slice.hh \
|
|
src/backend/string_utils.hh \
|
|
src/backend/user_interrupt_exception.hh
|
|
|
|
# ############################################################
|
|
#
|
|
# source : main executable
|
|
#
|
|
# ############################################################
|
|
|
|
# Program & library names
|
|
bin_PROGRAMS += sgpemv2
|
|
|
|
sgpemv2_CPPFLAGS = \
|
|
-I@top_srcdir@ \
|
|
-DLOCALEDIR="\"$(localedir)\"" \
|
|
$(CAIRO_CFLAGS) \
|
|
$(GTKMM_CFLAGS) \
|
|
$(PYTHON_CPPFLAGS) \
|
|
$(GTHREAD_CFLAGS)
|
|
sgpemv2_CXXFLAGS = $(VISIB_HIDDEN)
|
|
sgpemv2_LDFLAGS = $(LT_LDFLAGS)
|
|
sgpemv2_LDADD = \
|
|
src/backend/libbackend.la \
|
|
$(CAIRO_LIBS) \
|
|
$(GTKMM_LIBS) \
|
|
$(GTHREAD_LIBS)
|
|
|
|
# Please keep this in sorted order:
|
|
sgpemv2_SOURCES = \
|
|
src/graphical_terminal_io.cc \
|
|
src/main.cc \
|
|
src/main_window.cc \
|
|
src/observer.cc \
|
|
src/parse_opts.cc \
|
|
src/simulation.cc \
|
|
src/standard_io.cc \
|
|
src/start_gui.cc \
|
|
src/text_simulation.cc
|
|
|
|
noinst_HEADERS += \
|
|
src/graphical_simulation.hh \
|
|
src/graphical_terminal_io.hh \
|
|
src/io_manager.hh \
|
|
src/main.hh \
|
|
src/main_window.hh \
|
|
src/observer.hh \
|
|
src/parse_opts.hh \
|
|
src/simulation.hh \
|
|
src/standard_io.hh \
|
|
src/start_gui.hh \
|
|
src/text_simulation.hh
|
|
|
|
# ############################################################
|
|
#
|
|
# source : libpyloader.la
|
|
#
|
|
# ############################################################
|
|
|
|
pyloaderdir = $(moduledir)/pyloader
|
|
|
|
plugin_LTLIBRARIES += src/backend/pyloader/libpyloader.la
|
|
|
|
src_backend_pyloader_libpyloader_la_CPPFLAGS = \
|
|
-I@top_srcdir@ \
|
|
-DMODDIR="\"$(pyloaderdir)\"" \
|
|
-DLOCALEDIR="\"$(localedir)\"" \
|
|
$(PYTHON_CPPFLAGS) \
|
|
$(GLIBMM_CFLAGS)
|
|
src_backend_pyloader_libpyloader_la_CXXFLAGS = \
|
|
$(VISIB_HIDDEN)
|
|
src_backend_pyloader_libpyloader_la_LIBADD = \
|
|
$(PYTHON_LDFLAGS) \
|
|
$(PYTHON_EXTRA_LIBS) \
|
|
$(GLIBMM_LIBS) \
|
|
src/backend/libbackend.la
|
|
src_backend_pyloader_libpyloader_la_LDFLAGS = \
|
|
$(PYTHON_EXTRA_LDFLAGS) \
|
|
$(LT_LDFLAGS) \
|
|
-version-info 0:0:0 \
|
|
-module
|
|
|
|
# Please keep this in sorted order:
|
|
src_backend_pyloader_libpyloader_la_SOURCES = \
|
|
src/backend/pyloader/python_policy.cc \
|
|
src/backend/pyloader/python_policy_manager.cc \
|
|
src/backend/pyloader/hook.cc
|
|
|
|
noinst_HEADERS += \
|
|
src/backend/pyloader/python_policy.hh \
|
|
src/backend/pyloader/python_policy_manager.hh
|
|
|
|
pyloader_PYTHON = \
|
|
src/backend/pyloader/Abstract.py \
|
|
src/backend/pyloader/Policy.py \
|
|
src/backend/pyloader/ScriptAdapter.py
|
|
|
|
# ############################################################
|
|
#
|
|
# C++ modules -> Python loadable modules
|
|
#
|
|
# ############################################################
|
|
|
|
proxies = src/backend/pyloader/sgpem.py
|
|
wrappers = src/backend/pyloader/sgpem_wrap.cc
|
|
|
|
pyloader_LTLIBRARIES = _sgpem.la
|
|
pyloader_PYTHON += $(proxies)
|
|
|
|
# static pattern rule
|
|
$(proxies) $(wrappers) : src/backend/pyloader/sgpem.i
|
|
test -d "$(@D)" || mkdir -p -- "$(@D)"
|
|
$(SWIG) $(SWIG_PYTHON_OPT) -o $@ $<
|
|
|
|
_sgpem_la_INTERFACES = src/backend/pyloader/sgpem.i
|
|
|
|
_sgpem_la_CPPFLAGS = \
|
|
-I@top_srcdir@ \
|
|
-I@top_srcdir@/src/backend \
|
|
$(SWIG_PYTHON_CPPFLAGS) \
|
|
$(GLIBMM_CFLAGS)
|
|
_sgpem_la_LDFLAGS = -module -export-dynamic \
|
|
$(GLIBMM_LDFLAGS)
|
|
_sgpem_la_LIBADD = src/backend/libbackend.la \
|
|
$(GLIBMM_LIBS)
|
|
_sgpem_la_SOURCES = $(wrappers)
|
|
|
|
EXTRA_DIST += $(_sgpem_la_INTERFACES)
|
|
MOSTLYCLEANFILES += $(proxies) $(wrappers)
|
|
|
|
# ############################################################
|
|
#
|
|
# source : templates
|
|
#
|
|
# ############################################################
|
|
|
|
EXTRA_DIST += \
|
|
src/templates/parameter.tcc \
|
|
src/templates/smartp.tcc
|
|
|
|
noinst_HEADERS += \
|
|
src/templates/smartp.hh
|
|
|
|
# ############################################################
|
|
#
|
|
# source : builtin-policies
|
|
#
|
|
# ############################################################
|
|
|
|
# built-in policies
|
|
policies_PYTHON = \
|
|
src/builtin-policies/fcfs.py \
|
|
src/builtin-policies/sjf.py
|
|
|
|
# ############################################################
|
|
#
|
|
# check : testsuite
|
|
#
|
|
# ############################################################
|
|
|
|
if COND_TESTS
|
|
|
|
# DEJATOOL = src/testsuite/example-test.exp
|
|
|
|
noinst_PROGRAMS = \
|
|
src/testsuite/test-history \
|
|
src/testsuite/test-python_loader
|
|
|
|
# disable :
|
|
# src/testsuite/test-parse_command
|
|
# src/testsuite/test-stepforward
|
|
|
|
src_testsuite_test_history_CPPFLAGS = \
|
|
-I@top_srcdir@/src \
|
|
$(GLIBMM_CFLAGS)
|
|
src_testsuite_test_history_LDFLAGS = \
|
|
src/backend/libbackend.la \
|
|
$(GLIBMM_LIBS)
|
|
src_testsuite_test_history_SOURCES = \
|
|
src/testsuite/test-history.cc
|
|
|
|
|
|
|
|
#src_testsuite_test_parse_command_CPPFLAGS = \
|
|
# -I@top_srcdir@/src \
|
|
# $(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
|
|
|
|
|
|
|
|
src_testsuite_test_python_loader_CPPFLAGS = \
|
|
-I@top_srcdir@/src \
|
|
-DMODDIR="\"$(pyloaderdir)\"" \
|
|
$(PYTHON_CPPFLAGS) \
|
|
$(GLIBMM_CFLAGS) \
|
|
$(GTHREAD_CFLAGS)
|
|
src_testsuite_test_python_loader_DEPENDENCIES = \
|
|
src/backend/pyloader/libpyloader.la
|
|
src_testsuite_test_python_loader_LDFLAGS = \
|
|
src/backend/libbackend.la \
|
|
$(GLIBMM_LIBS) $(GTHREAD_LIBS) \
|
|
$(PYTHON_LDFLAGS) \
|
|
$(PYTHON_EXTRA_LIBS) \
|
|
$(PYTHON_EXTRA_LDFLAGS)
|
|
src_testsuite_test_python_loader_SOURCES = \
|
|
src/testsuite/test-python_loader.cc \
|
|
src/backend/pyloader/python_policy.cc \
|
|
src/backend/pyloader/python_policy_manager.cc
|
|
|
|
noinst_PYTHON += src/testsuite/python_loader_configure.py \
|
|
src/testsuite/python_loader_sort_queue.py \
|
|
src/testsuite/python_loader_is_preemptive.py \
|
|
src/testsuite/python_loader_get_time_slice.py
|
|
|
|
|
|
|
|
# advice: get dummy_policy from the somewhere in the repository, and compile it in.
|
|
#src_testsuite_test_stepforward_CPPFLAGS = \
|
|
# -I@top_srcdir@/src \
|
|
# $(GLIBMM_CFLAGS)
|
|
#src_testsuite_test_stepforward_LDFLAGS = \
|
|
# src/backend/libbackend.la \
|
|
# $(GLIBMM_LIBS)
|
|
#src_testsuite_test_stepforward_SOURCES = \
|
|
# 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-python_loader \
|
|
src/testsuite/.libs/test-history
|
|
|
|
endif #~ if COND_TESTS
|