Commit 3b7c2fae5dae8cf62d717c0ce5e40b74fe9288ca

Authored by Jürgen Knödlseder
1 parent 8b472971

Add example template for code generation script development (#2190)

configure.ac
... ... @@ -1418,20 +1418,21 @@ DX_INIT_DOXYGEN([GammaLib], [doc/Doxyfile], [doc/doxygen])
1418 1418 #############################################################################
1419 1419 AC_CONFIG_FILES([Makefile
1420 1420 src/Makefile
  1421 + src/app/Makefile
1421 1422 src/base/Makefile
1422   - src/support/Makefile
  1423 + src/fits/Makefile
1423 1424 src/linalg/Makefile
  1425 + src/model/Makefile
1424 1426 src/numerics/Makefile
1425   - src/fits/Makefile
1426   - src/xml/Makefile
1427   - src/vo/Makefile
1428   - src/xspec/Makefile
1429   - src/sky/Makefile
1430 1427 src/opt/Makefile
1431 1428 src/obs/Makefile
1432   - src/model/Makefile
1433   - src/app/Makefile
  1429 + src/sky/Makefile
  1430 + src/support/Makefile
  1431 + src/template/Makefile
1434 1432 src/test/Makefile
  1433 + src/vo/Makefile
  1434 + src/xml/Makefile
  1435 + src/xspec/Makefile
1435 1436 src/gammalib-setup
1436 1437 include/Makefile
1437 1438 test/Makefile
... ...
src/Makefile.am
1 1 #############################################################################
2 2 # Makefile.am for source module #
3 3 # ------------------------------------------------------------------------- #
4   -# Copyright (C) 2016 Juergen Knoedlseder #
  4 +# Copyright (C) 2016-2017 Juergen Knoedlseder #
5 5 # ------------------------------------------------------------------------- #
6 6 # #
7 7 # This program is free software: you can redistribute it and/or modify #
... ... @@ -37,6 +37,7 @@ SUBDIRS = base \
37 37 obs \
38 38 model \
39 39 app \
  40 + template \
40 41 test
41 42  
42 43 # Define sources for this directory
... ...
src/template/GXXXRoi.cpp 0 → 100644
  1 +/***************************************************************************
  2 + * GXXXRoi.cpp - [INSTRUMENT] region of interest class *
  3 + * ----------------------------------------------------------------------- *
  4 + * copyright (C) [YEAR] by [AUTHOR] *
  5 + * ----------------------------------------------------------------------- *
  6 + * *
  7 + * This program is free software: you can redistribute it and/or modify *
  8 + * it under the terms of the GNU General Public License as published by *
  9 + * the Free Software Foundation, either version 3 of the License, or *
  10 + * (at your option) any later version. *
  11 + * *
  12 + * This program is distributed in the hope that it will be useful, *
  13 + * but WITHOUT ANY WARRANTY; without even the implied warranty of *
  14 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
  15 + * GNU General Public License for more details. *
  16 + * *
  17 + * You should have received a copy of the GNU General Public License *
  18 + * along with this program. If not, see <http://www.gnu.org/licenses/>. *
  19 + * *
  20 + ***************************************************************************/
  21 +/**
  22 + * @file GXXXRoi.cpp
  23 + * @brief [INSTRUMENT] region of interest class implementation
  24 + * @author [AUTHOR]
  25 + */
  26 +
  27 +/* __ Includes ___________________________________________________________ */
  28 +#ifdef HAVE_CONFIG_H
  29 +#include <config.h>
  30 +#endif
  31 +#include "GXXXRoi.hpp"
  32 +//#include "GEvent.hpp"
  33 +//#include "GTools.hpp"
  34 +
  35 +/* __ Method name definitions ____________________________________________ */
  36 +
  37 +/* __ Macros _____________________________________________________________ */
  38 +
  39 +/* __ Coding definitions _________________________________________________ */
  40 +
  41 +/* __ Debug definitions __________________________________________________ */
  42 +
  43 +
  44 +
  45 +/*==========================================================================
  46 + = =
  47 + = Constructors/destructors =
  48 + = =
  49 + ==========================================================================*/
  50 +
  51 +/***********************************************************************//**
  52 + * @brief Void constructor
  53 + ***************************************************************************/
  54 +GXXXRoi::GXXXRoi(void) : GRoi()
  55 +{
  56 + // Initialise class members
  57 + init_members();
  58 +
  59 + // Return
  60 + return;
  61 +}
  62 +
  63 +
  64 +/***********************************************************************//**
  65 + * @brief Copy constructor
  66 + *
  67 + * @param[in] roi [INSTRUMENT] region of interest.
  68 + ***************************************************************************/
  69 +GXXXRoi::GXXXRoi(const GXXXRoi& roi) : GRoi(roi)
  70 +{
  71 + // Initialise class members
  72 + init_members();
  73 +
  74 + // Copy members
  75 + copy_members(roi);
  76 +
  77 + // Return
  78 + return;
  79 +}
  80 +
  81 +
  82 +/***********************************************************************//**
  83 + * @brief Destructor
  84 + ***************************************************************************/
  85 +GXXXRoi::~GXXXRoi(void)
  86 +{
  87 + // Free members
  88 + free_members();
  89 +
  90 + // Return
  91 + return;
  92 +}
  93 +
  94 +
  95 +/*==========================================================================
  96 + = =
  97 + = Operators =
  98 + = =
  99 + ==========================================================================*/
  100 +
  101 +/***********************************************************************//**
  102 + * @brief Assignment operator
  103 + *
  104 + * @param[in] roi [INSTRUMENT] region of interest.
  105 + * @return [INSTRUMENT] region of interest.
  106 + ***************************************************************************/
  107 +GXXXRoi& GXXXRoi::operator=(const GXXXRoi& roi)
  108 +{
  109 + // Execute only if object is not identical
  110 + if (this != &roi) {
  111 +
  112 + // Copy base class members
  113 + this->GRoi::operator=(roi);
  114 +
  115 + // Free members
  116 + free_members();
  117 +
  118 + // Initialise private members
  119 + init_members();
  120 +
  121 + // Copy members
  122 + copy_members(roi);
  123 +
  124 + } // endif: object was not identical
  125 +
  126 + // Return this object
  127 + return *this;
  128 +}
  129 +
  130 +
  131 +/*==========================================================================
  132 + = =
  133 + = Public methods =
  134 + = =
  135 + ==========================================================================*/
  136 +
  137 +/***********************************************************************//**
  138 + * @brief Clear region of interest
  139 + ***************************************************************************/
  140 +void GXXXRoi::clear(void)
  141 +{
  142 + // Free members
  143 + free_members();
  144 + this->GRoi::free_members();
  145 +
  146 + // Initialise private members
  147 + this->GRoi::init_members();
  148 + init_members();
  149 +
  150 + // Return
  151 + return;
  152 +}
  153 +
  154 +
  155 +/***********************************************************************//**
  156 + * @brief Clone region of interest
  157 + *
  158 + * @return Pointer to deep copy of [INSTRUMENT] region of interest.
  159 + ***************************************************************************/
  160 +GXXXRoi* GXXXRoi::clone(void) const
  161 +{
  162 + return new GXXXRoi(*this);
  163 +}
  164 +
  165 +
  166 +/***********************************************************************//**
  167 + * @brief Check if region of interest contains an event
  168 + *
  169 + * @return True if region of interest contains event, false otherwise.
  170 + *
  171 + * @todo Implement method.
  172 + ***************************************************************************/
  173 +bool GXXXRoi::contains(const GEvent& event) const
  174 +{
  175 + // Initialise flag to non-containment
  176 + bool contains = false;
  177 +
  178 + // TODO: Implement containment test
  179 +
  180 + // Return containment flag
  181 + return contains;
  182 +}
  183 +
  184 +
  185 +/***********************************************************************//**
  186 + * @brief Print region of interest information
  187 + *
  188 + * @param[in] chatter Chattiness.
  189 + * @return String containing region of interest information.
  190 + *
  191 + * @todo Implement method.
  192 + ***************************************************************************/
  193 +std::string GXXXRoi::print(const GChatter& chatter) const
  194 +{
  195 + // Initialise result string
  196 + std::string result;
  197 +
  198 + // Continue only if chatter is not silent
  199 + if (chatter != SILENT) {
  200 +
  201 + // Append header
  202 + result.append("=== GXXXRoi ===");
  203 +
  204 + // Append information
  205 + // TODO: Add any relevant information
  206 +
  207 + } // endif: chatter was not silent
  208 +
  209 + // Return result
  210 + return result;
  211 +}
  212 +
  213 +
  214 +/*==========================================================================
  215 + = =
  216 + = Private methods =
  217 + = =
  218 + ==========================================================================*/
  219 +
  220 +/***********************************************************************//**
  221 + * @brief Initialise class members
  222 + ***************************************************************************/
  223 +void GXXXRoi::init_members(void)
  224 +{
  225 + // Initialise members
  226 + // TODO: Initialise all data members
  227 + // Example:
  228 + double m_radius = 0.0;
  229 +
  230 + // Return
  231 + return;
  232 +}
  233 +
  234 +
  235 +/***********************************************************************//**
  236 + * @brief Copy class members
  237 + *
  238 + * @param[in] roi [INSTRUMENT] region of interest.
  239 + ***************************************************************************/
  240 +void GXXXRoi::copy_members(const GXXXRoi& roi)
  241 +{
  242 + // Copy attributes
  243 + // TODO: Copy all data members
  244 + // Example:
  245 + m_radius = roi.m_radius;
  246 +
  247 + // Return
  248 + return;
  249 +}
  250 +
  251 +
  252 +/***********************************************************************//**
  253 + * @brief Delete class members
  254 + ***************************************************************************/
  255 +void GXXXRoi::free_members(void)
  256 +{
  257 + // Return
  258 + return;
  259 +}
... ...
src/template/GXXXRoi.hpp 0 → 100644
  1 +/***************************************************************************
  2 + * GXXXRoi.hpp - [INSTRUMENT] region of interest class *
  3 + * ----------------------------------------------------------------------- *
  4 + * copyright (C) [YEAR] by [AUTHOR] *
  5 + * ----------------------------------------------------------------------- *
  6 + * *
  7 + * This program is free software: you can redistribute it and/or modify *
  8 + * it under the terms of the GNU General Public License as published by *
  9 + * the Free Software Foundation, either version 3 of the License, or *
  10 + * (at your option) any later version. *
  11 + * *
  12 + * This program is distributed in the hope that it will be useful, *
  13 + * but WITHOUT ANY WARRANTY; without even the implied warranty of *
  14 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
  15 + * GNU General Public License for more details. *
  16 + * *
  17 + * You should have received a copy of the GNU General Public License *
  18 + * along with this program. If not, see <http://www.gnu.org/licenses/>. *
  19 + * *
  20 + ***************************************************************************/
  21 +/**
  22 + * @file GXXXRoi.hpp
  23 + * @brief [INSTRUMENT] region of interest class definition
  24 + * @author [AUTHOR]
  25 + */
  26 +
  27 +#ifndef HEADER_PROTECT
  28 +#define HEADER_PROTECT
  29 +
  30 +/* __ Includes ___________________________________________________________ */
  31 +#include <string>
  32 +#include "GRoi.hpp"
  33 +
  34 +
  35 +/***********************************************************************//**
  36 + * @class GXXXRoi
  37 + *
  38 + * @brief [INSTRUMENT] region of interest class
  39 + *
  40 + * The [INSTRUMENT] region of interest class defines the event direction
  41 + * region that is used for unbinned data analysis.
  42 + *
  43 + * @todo Complete the class description.
  44 + ***************************************************************************/
  45 +class GXXXRoi : public GRoi {
  46 +
  47 +public:
  48 + // Constructors and destructors
  49 + GXXXRoi(void);
  50 + GXXXRoi(const GXXXRoi& roi);
  51 + virtual ~GXXXRoi(void);
  52 +
  53 + // Operators
  54 + GXXXRoi& operator=(const GXXXRoi& roi);
  55 +
  56 + // Implemented pure virtual base class methods
  57 + virtual void clear(void);
  58 + virtual GXXXRoi* clone(void) const;
  59 + virtual std::string classname(void) const;
  60 + virtual bool contains(const GEvent& event) const;
  61 + virtual std::string print(const GChatter& chatter = NORMAL) const;
  62 +
  63 + // Other methods
  64 + // TODO: Add any further methods that are needed
  65 +
  66 +protected:
  67 + // Protected methods
  68 + void init_members(void);
  69 + void copy_members(const GXXXRoi& roi);
  70 + void free_members(void);
  71 +
  72 + // Protected members
  73 + // TODO: Add any data members that are necessary
  74 + // Example:
  75 + double m_radius; //!< Region of interest radius
  76 +};
  77 +
  78 +
  79 +/***********************************************************************//**
  80 + * @brief Return class name
  81 + *
  82 + * @return String containing the class name ("GXXXRoi").
  83 + ***************************************************************************/
  84 +inline
  85 +std::string GXXXRoi::classname(void) const
  86 +{
  87 + return ("GXXXRoi");
  88 +}
  89 +
  90 +#endif /* HEADER_PROTECT */
... ...
src/template/Makefile
1   -CXX=g++
2   -CFLAGS=-I${GAMMALIB}/include/gammalib
3   -LDFLAGS=-L${GAMMALIB}/lib -lgamma
4   -DEPS=
5   -OBJ=test_GClass.cpp GClass.cpp
6   -
7   -test_GClass: $(OBJ)
8   - $(CXX) -o $@ $^ $(CFLAGS) $(LDFLAGS)
  1 +# Makefile.in generated by automake 1.15 from Makefile.am.
  2 +# src/template/Makefile. Generated from Makefile.in by configure.
  3 +
  4 +# Copyright (C) 1994-2014 Free Software Foundation, Inc.
  5 +
  6 +# This Makefile.in is free software; the Free Software Foundation
  7 +# gives unlimited permission to copy and/or distribute it,
  8 +# with or without modifications, as long as this notice is preserved.
  9 +
  10 +# This program is distributed in the hope that it will be useful,
  11 +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  12 +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  13 +# PARTICULAR PURPOSE.
  14 +
  15 +
  16 +
  17 +#############################################################################
  18 +# Makefile.am for template module #
  19 +# ------------------------------------------------------------------------- #
  20 +# Copyright (C) 2017 Juergen Knoedlseder #
  21 +# ------------------------------------------------------------------------- #
  22 +# #
  23 +# This program is free software: you can redistribute it and/or modify #
  24 +# it under the terms of the GNU General Public License as published by #
  25 +# the Free Software Foundation, either version 3 of the License, or #
  26 +# (at your option) any later version. #
  27 +# #
  28 +# This program is distributed in the hope that it will be useful, #
  29 +# but WITHOUT ANY WARRANTY; without even the implied warranty of #
  30 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
  31 +# GNU General Public License for more details. #
  32 +# #
  33 +# You should have received a copy of the GNU General Public License #
  34 +# along with this program. If not, see <http://www.gnu.org/licenses/>. #
  35 +# #
  36 +#############################################################################
  37 +
  38 +
  39 +am__is_gnu_make = { \
  40 + if test -z '$(MAKELEVEL)'; then \
  41 + false; \
  42 + elif test -n '$(MAKE_HOST)'; then \
  43 + true; \
  44 + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
  45 + true; \
  46 + else \
  47 + false; \
  48 + fi; \
  49 +}
  50 +am__make_running_with_option = \
  51 + case $${target_option-} in \
  52 + ?) ;; \
  53 + *) echo "am__make_running_with_option: internal error: invalid" \
  54 + "target option '$${target_option-}' specified" >&2; \
  55 + exit 1;; \
  56 + esac; \
  57 + has_opt=no; \
  58 + sane_makeflags=$$MAKEFLAGS; \
  59 + if $(am__is_gnu_make); then \
  60 + sane_makeflags=$$MFLAGS; \
  61 + else \
  62 + case $$MAKEFLAGS in \
  63 + *\\[\ \ ]*) \
  64 + bs=\\; \
  65 + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
  66 + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
  67 + esac; \
  68 + fi; \
  69 + skip_next=no; \
  70 + strip_trailopt () \
  71 + { \
  72 + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  73 + }; \
  74 + for flg in $$sane_makeflags; do \
  75 + test $$skip_next = yes && { skip_next=no; continue; }; \
  76 + case $$flg in \
  77 + *=*|--*) continue;; \
  78 + -*I) strip_trailopt 'I'; skip_next=yes;; \
  79 + -*I?*) strip_trailopt 'I';; \
  80 + -*O) strip_trailopt 'O'; skip_next=yes;; \
  81 + -*O?*) strip_trailopt 'O';; \
  82 + -*l) strip_trailopt 'l'; skip_next=yes;; \
  83 + -*l?*) strip_trailopt 'l';; \
  84 + -[dEDm]) skip_next=yes;; \
  85 + -[JT]) skip_next=yes;; \
  86 + esac; \
  87 + case $$flg in \
  88 + *$$target_option*) has_opt=yes; break;; \
  89 + esac; \
  90 + done; \
  91 + test $$has_opt = yes
  92 +am__make_dryrun = (target_option=n; $(am__make_running_with_option))
  93 +am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
  94 +pkgdatadir = $(datadir)/gammalib
  95 +pkgincludedir = $(includedir)/gammalib
  96 +pkglibdir = $(libdir)/gammalib
  97 +pkglibexecdir = $(libexecdir)/gammalib
  98 +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
  99 +install_sh_DATA = $(install_sh) -c -m 644
  100 +install_sh_PROGRAM = $(install_sh) -c
  101 +install_sh_SCRIPT = $(install_sh) -c
  102 +INSTALL_HEADER = $(INSTALL_DATA)
  103 +transform = $(program_transform_name)
  104 +NORMAL_INSTALL = :
  105 +PRE_INSTALL = :
  106 +POST_INSTALL = :
  107 +NORMAL_UNINSTALL = :
  108 +PRE_UNINSTALL = :
  109 +POST_UNINSTALL = :
  110 +build_triplet = x86_64-apple-darwin15.6.0
  111 +host_triplet = x86_64-apple-darwin15.6.0
  112 +subdir = src/template
  113 +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  114 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prog_doxygen.m4 \
  115 + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
  116 + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
  117 + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
  118 +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  119 + $(ACLOCAL_M4)
  120 +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
  121 +mkinstalldirs = $(install_sh) -d
  122 +CONFIG_HEADER = $(top_builddir)/config.h
  123 +CONFIG_CLEAN_FILES =
  124 +CONFIG_CLEAN_VPATH_FILES =
  125 +LTLIBRARIES = $(noinst_LTLIBRARIES)
  126 +libtemplate_la_LIBADD =
  127 +am__objects_1 = GXXXRoi.lo
  128 +am_libtemplate_la_OBJECTS = $(am__objects_1)
  129 +libtemplate_la_OBJECTS = $(am_libtemplate_la_OBJECTS)
  130 +AM_V_lt = $(am__v_lt_$(V))
  131 +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
  132 +am__v_lt_0 = --silent
  133 +am__v_lt_1 =
  134 +libtemplate_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
  135 + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
  136 + $(AM_CXXFLAGS) $(CXXFLAGS) $(libtemplate_la_LDFLAGS) \
  137 + $(LDFLAGS) -o $@
  138 +AM_V_P = $(am__v_P_$(V))
  139 +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
  140 +am__v_P_0 = false
  141 +am__v_P_1 = :
  142 +AM_V_GEN = $(am__v_GEN_$(V))
  143 +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  144 +am__v_GEN_0 = @echo " GEN " $@;
  145 +am__v_GEN_1 =
  146 +AM_V_at = $(am__v_at_$(V))
  147 +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  148 +am__v_at_0 = @
  149 +am__v_at_1 =
  150 +DEFAULT_INCLUDES = -I. -I$(top_builddir)
  151 +depcomp =
  152 +am__depfiles_maybe =
  153 +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
  154 + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
  155 +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
  156 + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
  157 + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
  158 + $(AM_CXXFLAGS) $(CXXFLAGS)
  159 +AM_V_CXX = $(am__v_CXX_$(V))
  160 +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
  161 +am__v_CXX_0 = @echo " CXX " $@;
  162 +am__v_CXX_1 =
  163 +CXXLD = $(CXX)
  164 +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
  165 + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
  166 + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
  167 +AM_V_CXXLD = $(am__v_CXXLD_$(V))
  168 +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
  169 +am__v_CXXLD_0 = @echo " CXXLD " $@;
  170 +am__v_CXXLD_1 =
  171 +SOURCES = $(libtemplate_la_SOURCES)
  172 +DIST_SOURCES = $(libtemplate_la_SOURCES)
  173 +am__can_run_installinfo = \
  174 + case $$AM_UPDATE_INFO_DIR in \
  175 + n|no|NO) false;; \
  176 + *) (install-info --version) >/dev/null 2>&1;; \
  177 + esac
  178 +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
  179 +# Read a list of newline-separated strings from the standard input,
  180 +# and print each of them once, without duplicates. Input order is
  181 +# *not* preserved.
  182 +am__uniquify_input = $(AWK) '\
  183 + BEGIN { nonempty = 0; } \
  184 + { items[$$0] = 1; nonempty = 1; } \
  185 + END { if (nonempty) { for (i in items) print i; }; } \
  186 +'
  187 +# Make sure the list of sources is unique. This is necessary because,
  188 +# e.g., the same source file might be shared among _SOURCES variables
  189 +# for different programs/libraries.
  190 +am__define_uniq_tagged_files = \
  191 + list='$(am__tagged_files)'; \
  192 + unique=`for i in $$list; do \
  193 + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  194 + done | $(am__uniquify_input)`
  195 +ETAGS = etags
  196 +CTAGS = ctags
  197 +am__DIST_COMMON = $(srcdir)/Makefile.in
  198 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  199 +ACLOCAL = ${SHELL} /Users/jurgen/git/gammalib/gammalib/missing aclocal-1.15
  200 +AMTAR = $${TAR-tar}
  201 +AM_DEFAULT_VERBOSITY = 1
  202 +AR = ar
  203 +AUTOCONF = ${SHELL} /Users/jurgen/git/gammalib/gammalib/missing autoconf
  204 +AUTOHEADER = ${SHELL} /Users/jurgen/git/gammalib/gammalib/missing autoheader
  205 +AUTOMAKE = ${SHELL} /Users/jurgen/git/gammalib/gammalib/missing automake-1.15
  206 +AWK = awk
  207 +CC = clang
  208 +CFITSIO = cfitsio
  209 +CFLAGS = -g -O2
  210 +CONFIGURE_MACOSX_DEPLOYMENT_TARGET = 10.11
  211 +CPPFLAGS =
  212 +CXX = clang++
  213 +CXXCPP = clang++ -E
  214 +CXXFLAGS = -g -O2
  215 +CYGPATH_W = echo
  216 +DEFS = -DHAVE_CONFIG_H
  217 +DLLTOOL = false
  218 +DOXYGEN_PAPER_SIZE =
  219 +DSYMUTIL = dsymutil
  220 +DUMPBIN =
  221 +DX_CONFIG = doc/Doxyfile
  222 +DX_DOCDIR = doc/doxygen
  223 +DX_DOT =
  224 +DX_DOXYGEN = /usr/local/bin/doxygen
  225 +DX_DVIPS =
  226 +DX_EGREP =
  227 +DX_ENV = SRCDIR='.' PROJECT='GammaLib' DOCDIR='doc/doxygen' VERSION='1.5.0.dev1' PERL_PATH='/usr/bin/perl' HAVE_DOT='NO' GENERATE_MAN='YES' GENERATE_RTF='NO' GENERATE_XML='NO' GENERATE_HTMLHELP='NO' GENERATE_CHI='NO' GENERATE_HTML='YES' GENERATE_LATEX='NO'
  228 +DX_FLAG_chi = 0
  229 +DX_FLAG_chm = 0
  230 +DX_FLAG_doc = 1
  231 +DX_FLAG_dot = 0
  232 +DX_FLAG_html = 1
  233 +DX_FLAG_man = 1
  234 +DX_FLAG_pdf = 0
  235 +DX_FLAG_ps = 0
  236 +DX_FLAG_rtf = 0
  237 +DX_FLAG_xml = 0
  238 +DX_HHC =
  239 +DX_LATEX =
  240 +DX_MAKEINDEX =
  241 +DX_PDFLATEX =
  242 +DX_PERL = /usr/bin/perl
  243 +DX_PROJECT = GammaLib
  244 +ECHO_C = \c
  245 +ECHO_N =
  246 +ECHO_T =
  247 +EGREP = /usr/bin/grep -E
  248 +EXEEXT =
  249 +EXPORT_MACOSX_DEPLOYMENT_TARGET = #
  250 +FGREP = /usr/bin/grep -F
  251 +GAMMALIB_LT_VERSION = 5:0:0
  252 +GREP = /usr/bin/grep
  253 +INCDIR_CFITSIO =
  254 +INCDIR_READLINE =
  255 +INSTALL = /usr/bin/install -c
  256 +INSTALL_DATA = ${INSTALL} -m 644
  257 +INSTALL_PROGRAM = ${INSTALL}
  258 +INSTALL_SCRIPT = ${INSTALL}
  259 +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
  260 +LD = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
  261 +LDFLAGS =
  262 +LIBDIR_CFITSIO =
  263 +LIBDIR_NCURSES =
  264 +LIBDIR_READLINE =
  265 +LIBOBJS =
  266 +LIBS = -ledit -lcurses -lcfitsio -lm
  267 +LIBS_CFITSIO = -lcfitsio -lm
  268 +LIBS_READLINE = -ledit -lcurses
  269 +LIBTOOL = $(SHELL) $(top_builddir)/libtool
  270 +LIB_NCURSES = curses
  271 +LIB_READLINE = edit
  272 +LIPO = lipo
  273 +LIPO_32BIT_FLAGS =
  274 +LN_S = ln -s
  275 +LTLIBOBJS =
  276 +LT_SYS_LIBRARY_PATH =
  277 +MACHDEP = darwin
  278 +MAKEINFO = ${SHELL} /Users/jurgen/git/gammalib/gammalib/missing makeinfo
  279 +MANIFEST_TOOL = :
  280 +MKDIR_P = ../.././install-sh -c -d
  281 +NM = /usr/bin/nm -B
  282 +NMEDIT = nmedit
  283 +OBJDUMP = false
  284 +OBJEXT = o
  285 +OPENMP_CXXFLAGS =
  286 +OPENMP_LIB_LDFLAGS =
  287 +OTOOL = otool
  288 +OTOOL64 = :
  289 +PACKAGE = gammalib
  290 +PACKAGE_BUGREPORT = jurgen.knodlseder@irap.omp.eu
  291 +PACKAGE_NAME = gammalib
  292 +PACKAGE_STRING = gammalib 1.5.0.dev1
  293 +PACKAGE_TARNAME = gammalib
  294 +PACKAGE_URL =
  295 +PACKAGE_VERSION = 1.5.0.dev1
  296 +PATH_SEPARATOR = :
  297 +PYTHON = /usr/local/bin/python
  298 +PYTHON_BUILD_PREFIX =
  299 +PYTHON_CLOSE =
  300 +PYTHON_COVERAGE =
  301 +PYTHON_CPPFLAGS = -I/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/include/python2.7
  302 +PYTHON_EXEC_PREFIX = ${exec_prefix}
  303 +PYTHON_EXTRA_LIBS =
  304 +PYTHON_OPEN =
  305 +PYTHON_PLATFORM = darwin
  306 +PYTHON_PREFIX = ${prefix}
  307 +PYTHON_VERSION = 2.7
  308 +PY_INCLUDE =
  309 +RANLIB = ranlib
  310 +RUNSHARED = DYLD_LIBRARY_PATH
  311 +SED = /usr/bin/sed
  312 +SET_MAKE =
  313 +SHAREDSUFFIX = .dylib
  314 +SHELL = /bin/sh
  315 +STRIP = strip
  316 +SWIG = /usr/local/bin/swig
  317 +TEST_ENV_DIR =
  318 +UNIVERSALSDK =
  319 +UNIVERSAL_ARCH_FLAGS =
  320 +VERSION = 1.5.0.dev1
  321 +abs_builddir = /Users/jurgen/git/gammalib/gammalib/src/template
  322 +abs_srcdir = /Users/jurgen/git/gammalib/gammalib/src/template
  323 +abs_top_builddir = /Users/jurgen/git/gammalib/gammalib
  324 +abs_top_srcdir = /Users/jurgen/git/gammalib/gammalib
  325 +ac_ct_AR = ar
  326 +ac_ct_CC = clang
  327 +ac_ct_CXX = clang++
  328 +ac_ct_DUMPBIN =
  329 +am__leading_dot = .
  330 +am__tar = $${TAR-tar} chof - "$$tardir"
  331 +am__untar = $${TAR-tar} xf -
  332 +bindir = ${exec_prefix}/bin
  333 +build = x86_64-apple-darwin15.6.0
  334 +build_alias =
  335 +build_cpu = x86_64
  336 +build_os = darwin15.6.0
  337 +build_vendor = apple
  338 +builddir = .
  339 +datadir = ${datarootdir}
  340 +datarootdir = ${prefix}/share
  341 +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
  342 +dvidir = ${docdir}
  343 +exec_prefix = ${prefix}
  344 +host = x86_64-apple-darwin15.6.0
  345 +host_alias =
  346 +host_cpu = x86_64
  347 +host_os = darwin15.6.0
  348 +host_vendor = apple
  349 +htmldir = ${docdir}
  350 +includedir = ${prefix}/include
  351 +infodir = ${datarootdir}/info
  352 +install_sh = ${SHELL} /Users/jurgen/git/gammalib/gammalib/install-sh
  353 +libdir = ${exec_prefix}/lib
  354 +libexecdir = ${exec_prefix}/libexec
  355 +localedir = ${datarootdir}/locale
  356 +localstatedir = ${prefix}/var
  357 +mandir = ${datarootdir}/man
  358 +mkdir_p = $(MKDIR_P)
  359 +oldincludedir = /usr/include
  360 +pdfdir = ${docdir}
  361 +pkgpyexecdir = ${pyexecdir}/gammalib
  362 +pkgpythondir = ${pythondir}/gammalib
  363 +prefix = /usr/local/gamma
  364 +program_transform_name = s,x,x,
  365 +psdir = ${docdir}
  366 +pyexecdir = ${exec_prefix}/lib/python2.7/site-packages
  367 +pythondir = ${prefix}/lib/python2.7/site-packages
  368 +sbindir = ${exec_prefix}/sbin
  369 +sharedstatedir = ${prefix}/com
  370 +srcdir = .
  371 +sysconfdir = ${prefix}/etc
  372 +target_alias =
  373 +top_build_prefix = ../../
  374 +top_builddir = ../..
  375 +top_srcdir = ../..
  376 +
  377 +# Set include directories
  378 +INCLUDES = -I$(top_srcdir)/include \
  379 + -I$(top_builddir)/src \
  380 + -I$(top_srcdir)/src/support
  381 +
  382 +
  383 +# Define sources for this directory
  384 +sources = GXXXRoi.cpp
  385 +
  386 +# Build libtool library
  387 +noinst_LTLIBRARIES = libtemplate.la
  388 +libtemplate_la_SOURCES = $(sources)
  389 +libtemplate_la_LDFLAGS =
  390 +all: all-am
  391 +
  392 +.SUFFIXES:
  393 +.SUFFIXES: .cpp .lo .o .obj
  394 +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
  395 + @for dep in $?; do \
  396 + case '$(am__configure_deps)' in \
  397 + *$$dep*) \
  398 + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
  399 + && { if test -f $@; then exit 0; else break; fi; }; \
  400 + exit 1;; \
  401 + esac; \
  402 + done; \
  403 + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps src/template/Makefile'; \
  404 + $(am__cd) $(top_srcdir) && \
  405 + $(AUTOMAKE) --foreign --ignore-deps src/template/Makefile
  406 +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  407 + @case '$?' in \
  408 + *config.status*) \
  409 + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
  410 + *) \
  411 + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
  412 + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
  413 + esac;
  414 +
  415 +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
  416 + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  417 +
  418 +$(top_srcdir)/configure: $(am__configure_deps)
  419 + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  420 +$(ACLOCAL_M4): $(am__aclocal_m4_deps)
  421 + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  422 +$(am__aclocal_m4_deps):
  423 +
  424 +clean-noinstLTLIBRARIES:
  425 + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
  426 + @list='$(noinst_LTLIBRARIES)'; \
  427 + locs=`for p in $$list; do echo $$p; done | \
  428 + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
  429 + sort -u`; \
  430 + test -z "$$locs" || { \
  431 + echo rm -f $${locs}; \
  432 + rm -f $${locs}; \
  433 + }
  434 +
  435 +libtemplate.la: $(libtemplate_la_OBJECTS) $(libtemplate_la_DEPENDENCIES) $(EXTRA_libtemplate_la_DEPENDENCIES)
  436 + $(AM_V_CXXLD)$(libtemplate_la_LINK) $(libtemplate_la_OBJECTS) $(libtemplate_la_LIBADD) $(LIBS)
  437 +
  438 +mostlyclean-compile:
  439 + -rm -f *.$(OBJEXT)
  440 +
  441 +distclean-compile:
  442 + -rm -f *.tab.c
  443 +
  444 +.cpp.o:
  445 + $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ $<
  446 +
  447 +.cpp.obj:
  448 + $(AM_V_CXX)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
  449 +
  450 +.cpp.lo:
  451 + $(AM_V_CXX)$(LTCXXCOMPILE) -c -o $@ $<
  452 +
  453 +mostlyclean-libtool:
  454 + -rm -f *.lo
  455 +
  456 +clean-libtool:
  457 + -rm -rf .libs _libs
  458 +
  459 +ID: $(am__tagged_files)
  460 + $(am__define_uniq_tagged_files); mkid -fID $$unique
  461 +tags: tags-am
  462 +TAGS: tags
  463 +
  464 +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
  465 + set x; \
  466 + here=`pwd`; \
  467 + $(am__define_uniq_tagged_files); \
  468 + shift; \
  469 + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
  470 + test -n "$$unique" || unique=$$empty_fix; \
  471 + if test $$# -gt 0; then \
  472 + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  473 + "$$@" $$unique; \
  474 + else \
  475 + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  476 + $$unique; \
  477 + fi; \
  478 + fi
  479 +ctags: ctags-am
  480 +
  481 +CTAGS: ctags
  482 +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
  483 + $(am__define_uniq_tagged_files); \
  484 + test -z "$(CTAGS_ARGS)$$unique" \
  485 + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
  486 + $$unique
  487 +
  488 +GTAGS:
  489 + here=`$(am__cd) $(top_builddir) && pwd` \
  490 + && $(am__cd) $(top_srcdir) \
  491 + && gtags -i $(GTAGS_ARGS) "$$here"
  492 +cscopelist: cscopelist-am
  493 +
  494 +cscopelist-am: $(am__tagged_files)
  495 + list='$(am__tagged_files)'; \
  496 + case "$(srcdir)" in \
  497 + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
  498 + *) sdir=$(subdir)/$(srcdir) ;; \
  499 + esac; \
  500 + for i in $$list; do \
  501 + if test -f "$$i"; then \
  502 + echo "$(subdir)/$$i"; \
  503 + else \
  504 + echo "$$sdir/$$i"; \
  505 + fi; \
  506 + done >> $(top_builddir)/cscope.files
  507 +
  508 +distclean-tags:
  509 + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
  510 +
  511 +distdir: $(DISTFILES)
  512 + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  513 + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  514 + list='$(DISTFILES)'; \
  515 + dist_files=`for file in $$list; do echo $$file; done | \
  516 + sed -e "s|^$$srcdirstrip/||;t" \
  517 + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
  518 + case $$dist_files in \
  519 + */*) $(MKDIR_P) `echo "$$dist_files" | \
  520 + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
  521 + sort -u` ;; \
  522 + esac; \
  523 + for file in $$dist_files; do \
  524 + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
  525 + if test -d $$d/$$file; then \
  526 + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
  527 + if test -d "$(distdir)/$$file"; then \
  528 + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  529 + fi; \
  530 + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
  531 + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
  532 + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  533 + fi; \
  534 + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
  535 + else \
  536 + test -f "$(distdir)/$$file" \
  537 + || cp -p $$d/$$file "$(distdir)/$$file" \
  538 + || exit 1; \
  539 + fi; \
  540 + done
  541 +check-am: all-am
  542 +check: check-am
  543 +all-am: Makefile $(LTLIBRARIES)
  544 +installdirs:
  545 +install: install-am
  546 +install-exec: install-exec-am
  547 +install-data: install-data-am
  548 +uninstall: uninstall-am
  549 +
  550 +install-am: all-am
  551 + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
  552 +
  553 +installcheck: installcheck-am
  554 +install-strip:
  555 + if test -z '$(STRIP)'; then \
  556 + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
  557 + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
  558 + install; \
  559 + else \
  560 + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
  561 + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
  562 + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
  563 + fi
  564 +mostlyclean-generic:
  565 +
  566 +clean-generic:
  567 +
  568 +distclean-generic:
  569 + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
  570 + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
  571 +
  572 +maintainer-clean-generic:
  573 + @echo "This command is intended for maintainers to use"
  574 + @echo "it deletes files that may require special tools to rebuild."
  575 +clean: clean-am
  576 +
  577 +clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
  578 + mostlyclean-am
  579 +
  580 +distclean: distclean-am
  581 + -rm -f Makefile
  582 +distclean-am: clean-am distclean-compile distclean-generic \
  583 + distclean-tags
  584 +
  585 +dvi: dvi-am
  586 +
  587 +dvi-am:
  588 +
  589 +html: html-am
  590 +
  591 +html-am:
  592 +
  593 +info: info-am
  594 +
  595 +info-am:
  596 +
  597 +install-data-am:
  598 +
  599 +install-dvi: install-dvi-am
  600 +
  601 +install-dvi-am:
  602 +
  603 +install-exec-am:
  604 +
  605 +install-html: install-html-am
  606 +
  607 +install-html-am:
  608 +
  609 +install-info: install-info-am
  610 +
  611 +install-info-am:
  612 +
  613 +install-man:
  614 +
  615 +install-pdf: install-pdf-am
  616 +
  617 +install-pdf-am:
  618 +
  619 +install-ps: install-ps-am
  620 +
  621 +install-ps-am:
  622 +
  623 +installcheck-am:
  624 +
  625 +maintainer-clean: maintainer-clean-am
  626 + -rm -f Makefile
  627 +maintainer-clean-am: distclean-am maintainer-clean-generic
  628 +
  629 +mostlyclean: mostlyclean-am
  630 +
  631 +mostlyclean-am: mostlyclean-compile mostlyclean-generic \
  632 + mostlyclean-libtool
  633 +
  634 +pdf: pdf-am
  635 +
  636 +pdf-am:
  637 +
  638 +ps: ps-am
  639 +
  640 +ps-am:
  641 +
  642 +uninstall-am:
  643 +
  644 +.MAKE: install-am install-strip
  645 +
  646 +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
  647 + clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
  648 + ctags-am distclean distclean-compile distclean-generic \
  649 + distclean-libtool distclean-tags distdir dvi dvi-am html \
  650 + html-am info info-am install install-am install-data \
  651 + install-data-am install-dvi install-dvi-am install-exec \
  652 + install-exec-am install-html install-html-am install-info \
  653 + install-info-am install-man install-pdf install-pdf-am \
  654 + install-ps install-ps-am install-strip installcheck \
  655 + installcheck-am installdirs maintainer-clean \
  656 + maintainer-clean-generic mostlyclean mostlyclean-compile \
  657 + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
  658 + tags tags-am uninstall uninstall-am
  659 +
  660 +.PRECIOUS: Makefile
  661 +
  662 +
  663 +# Tell versions [3.59,3.63) of GNU make to not export all variables.
  664 +# Otherwise a system limit (for SysV at least) may be exceeded.
  665 +.NOEXPORT:
... ...
src/template/Makefile.am 0 → 100644
  1 +#############################################################################
  2 +# Makefile.am for template module #
  3 +# ------------------------------------------------------------------------- #
  4 +# Copyright (C) 2017 Juergen Knoedlseder #
  5 +# ------------------------------------------------------------------------- #
  6 +# #
  7 +# This program is free software: you can redistribute it and/or modify #
  8 +# it under the terms of the GNU General Public License as published by #
  9 +# the Free Software Foundation, either version 3 of the License, or #
  10 +# (at your option) any later version. #
  11 +# #
  12 +# This program is distributed in the hope that it will be useful, #
  13 +# but WITHOUT ANY WARRANTY; without even the implied warranty of #
  14 +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
  15 +# GNU General Public License for more details. #
  16 +# #
  17 +# You should have received a copy of the GNU General Public License #
  18 +# along with this program. If not, see <http://www.gnu.org/licenses/>. #
  19 +# #
  20 +#############################################################################
  21 +
  22 +# Set include directories
  23 +INCLUDES = -I$(top_srcdir)/include \
  24 + -I$(top_builddir)/src \
  25 + -I$(top_srcdir)/src/support
  26 +
  27 +# Define sources for this directory
  28 +sources = GXXXRoi.cpp
  29 +
  30 +# Build libtool library
  31 +noinst_LTLIBRARIES = libtemplate.la
  32 +libtemplate_la_SOURCES = $(sources)
  33 +libtemplate_la_LDFLAGS =
... ...