Commit 6d6a575a authored by thomas.forbriger's avatar thomas.forbriger
Browse files

[MERGE] (master|vendor_Seitosh): vendor import of 23.10.2015

Merge branch 'vendor_Seitosh'

Conflicts:
	contrib/aff/README.export
	contrib/fourier/README.export
	contrib/stfinv/README.export

Commands executed on branch master (as a guideline for future imports):

  git merge -X theirs vendor_Seitosh
  git rm contrib/*/README.export
  git commit
parents 02cfa44c 25190a67
# this is <Makefile>
# ----------------------------------------------------------------------------
# $Id: Makefile 4964 2013-02-01 13:27:42Z lrehor $
#
# Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
#
......@@ -29,9 +28,20 @@
# 06/12/2002 V1.0 Thomas Forbriger (copied from libcontxx)
# 17/12/2002 V1.1 introduced seriestest
# 22/12/2002 V1.2 started interface test to Fortran 77
# 12/01/2014 V1.3 use FFLAGS instead of FCFLAGS conforming to GNU make
# default rules
#
# ============================================================================
#
CHECKVAR=$(if $($(1)),,$(error ERROR: missing variable $(1)))
CHECKVARS=$(foreach var,$(1),$(call CHECKVAR,$(var)))
$(call CHECKVARS,LOCINCLUDEDIR LOCLIBDIR LOCBINDIR)
$(call CHECKVARS,TF_LINK_FORTRAN)
# ----------------------------------------------------------------------
CPPFLAGS=-I$(LOCINCLUDEDIR)
LDFLAGS=-L$(LOCLIBDIR)
......@@ -73,7 +83,6 @@ $(addsuffix .run,$(EXECUTABLES)): %.run: %; $< $(ARG); rm -fv $< $<.o
#
# Fortran 77 interface test
# -------------------------
FC=g77
F2C=f2c
%.f2c.o: %.f f77common.inc
......@@ -82,7 +91,7 @@ F2C=f2c
/bin/rm -fv $(<:.f=.c)
%.o: %.f f77common.inc
$(FC) -o $@ -c $< $(FCFLAGS) $(FLAGS)
$(FC) -o $@ -c $< $(FFLAGS) $(FLAGS)
%.code: %.f f77common.inc
$(F2C) -C++ -f -u $<
......@@ -103,7 +112,7 @@ f2ctest: f77test.o f77procs.f2c.o f77interface.o
$(CXX) -o $@ $^ $(LDFLAGS) -laff -lf2c -lm
f77test: f77test.o f77procs.o f77interface.o
$(CXX) -o $@ $^ $(LDFLAGS) -laff -lg2c -lm
$(CXX) -o $@ $^ $(LDFLAGS) -laff $(TF_LINK_FORTRAN) -lm
#======================================================================
# test illegal conditions
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: arraytest.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 09/06/2002
*
......@@ -59,7 +59,7 @@
#define AFF_ARRAYTEST_CC_VERSION \
"AFF_ARRAYTEST_CC V1.3"
#define AFF_ARRAYTEST_CC_CVSID \
"$Id: arraytest.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
#define CONT_INDEXCHECK
......
c this is <f77common.inc>
c ----------------------------------------------------------------------------
c ($Id: f77common.inc 3084 2010-08-10 16:01:03Z tforb $)
c ($Id$)
c
c Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
c
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: f77interface.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 23/12/2002
*
......@@ -42,7 +42,7 @@
#define AFF_F77INTERFACE_CC_VERSION \
"AFF_F77INTERFACE_CC V1.2"
#define AFF_F77INTERFACE_CC_CVSID \
"$Id: f77interface.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
// include assertions
#include<aff/lib/error.h>
......
c this is <f77procs.f>
c ----------------------------------------------------------------------------
c ($Id: f77procs.f 3084 2010-08-10 16:01:03Z tforb $)
c ($Id$)
c
c Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
c
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: f77proto.h 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 22/12/2002
*
......@@ -44,7 +44,7 @@
#define AFF_F77PROTO_H_VERSION \
"AFF_F77PROTO_H V1.1"
#define AFF_F77PROTO_H_CVSID \
"$Id: f77proto.h 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
#include<aff/array.h>
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: f77test.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 22/12/2002
*
......@@ -65,7 +65,7 @@
#define AFF_F77TEST_CC_VERSION \
"AFF_F77TEST_CC V1.2"
#define AFF_F77TEST_CC_CVSID \
"$Id: f77test.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
#include <aff/array.h>
#include <aff/fortranshape.h>
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: functionstest.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 20/03/2005
*
......@@ -36,7 +36,7 @@
#define FUNCTIONSTEST_VERSION \
"FUNCTIONSTEST V1.1 test function templates"
#define FUNCTIONSTEST_CVSID \
"$Id: functionstest.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
#include <iostream>
#include <aff/dump.h>
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: helpertest.cc 3957 2011-05-16 14:46:43Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 23/12/2002
*
......@@ -49,7 +49,7 @@
#define AFF_HELPERTEST_CC_VERSION \
"AFF_HELPERTEST_CC V1.4"
#define AFF_HELPERTEST_CC_CVSID \
"$Id: helpertest.cc 3957 2011-05-16 14:46:43Z tforb $"
"$Id$"
/*! \example tests/helpertest.cc
*
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: operatortest.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 10/02/2004
*
......@@ -36,7 +36,7 @@
#define OPERATORTEST_VERSION \
"OPERATORTEST V1.1 test operator functions"
#define OPERATORTEST_CVSID \
"$Id: operatortest.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
#include <iostream>
#include <complex>
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: reprtest.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 10/05/2002
*
......@@ -45,7 +45,7 @@
#define AFF_REPRTEST_CC_VERSION \
"AFF_REPRTEST_CC V1.3"
#define AFF_REPRTEST_CC_CVSID \
"$Id: reprtest.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
#include <aff/lib/sharedheap.h>
#include <aff/dump.h>
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: seriestest.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 17/12/2002
*
......@@ -39,7 +39,7 @@
#define AFF_SERIESTEST_CC_VERSION \
"AFF_SERIESTEST_CC V1.2"
#define AFF_SERIESTEST_CC_CVSID \
"$Id: seriestest.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
#include <aff/series.h>
#include <aff/dump.h>
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: shapetest.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 25/05/2002
*
......@@ -43,7 +43,7 @@
#define AFF_SHAPETEST_CC_VERSION \
"AFF_SHAPETEST_CC V1.3"
#define AFF_SHAPETEST_CC_CVSID \
"$Id: shapetest.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
#include<iostream>
#include<aff/dump.h>
......
......@@ -3,7 +3,7 @@
*
* ----------------------------------------------------------------------------
*
* $Id: simplearraytest.cc 3084 2010-08-10 16:01:03Z tforb $
* $Id$
* \author Thomas Forbriger
* \date 25/05/2002
*
......@@ -39,7 +39,7 @@
#define AFF_SIMPLEARRAYTEST_CC_VERSION \
"AFF_SIMPLEARRAYTEST_CC V1.4"
#define AFF_SIMPLEARRAYTEST_CC_CVSID \
"$Id: simplearraytest.cc 3084 2010-08-10 16:01:03Z tforb $"
"$Id$"
/*! \example tests/simplearraytest.cc
*
......
# this is <.gitignore>
# ============================================================================
# files to be ignored by git
# --------------------------
# files in src/libs/libfouries
# ----------------------------
#
# source code documentation
*.doc
#
# ----- END OF .gitignore -----
......@@ -2,7 +2,7 @@ this is <COPYING>
============================================================================
libfourier
----------
$Id: COPYING 4966 2013-02-01 13:46:50Z lrehor $
$Id$
============================================================================
Copyright (c) 2002, 2013 by Thomas Forbriger
......
c this is <fcommand.f>
c ----------------------------------------------------------------------------
c ($Id: Ffcommand.f 4966 2013-02-01 13:46:50Z lrehor $)
c ($Id$)
c
c Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
c
c evaluate filters specified in text form
c
c ----
c This program is free software; you can redistribute it and/or modify
c libfourier is free software; you can redistribute it and/or modify
c it under the terms of the GNU General Public License as published by
c the Free Software Foundation; either version 2 of the License, or
c (at your option) any later version.
......@@ -34,7 +34,7 @@ c
c print library code revision
c
cE
print *,'$Id: Ffcommand.f 4966 2013-02-01 13:46:50Z lrehor $'
print *,'$Id$'
return
end
c
......
c this is <filters.f>
c ----------------------------------------------------------------------------
c ($Id: Ffilters.f 4966 2013-02-01 13:46:50Z lrehor $)
c ($Id$)
c
c Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
c
c ready made filters
c
c ----
c This program is free software; you can redistribute it and/or modify
c libfourier is free software; you can redistribute it and/or modify
c it under the terms of the GNU General Public License as published by
c the Free Software Foundation; either version 2 of the License, or
c (at your option) any later version.
......@@ -34,7 +34,7 @@ c
c print library code revision
c
cE
print *,'$Id: Ffilters.f 4966 2013-02-01 13:46:50Z lrehor $'
print *,'$Id$'
return
end
c
......
c this is <polesnzeroes.f>
c ----------------------------------------------------------------------------
c ($Id: Fpolesnzeroes.f 4966 2013-02-01 13:46:50Z lrehor $)
c ($Id$)
c
c Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
c
c pole and zero access subroutines
c
c ----
c This program is free software; you can redistribute it and/or modify
c libfourier is free software; you can redistribute it and/or modify
c it under the terms of the GNU General Public License as published by
c the Free Software Foundation; either version 2 of the License, or
c (at your option) any later version.
......@@ -36,7 +36,7 @@ c print library code revision
c
cE
print *,
& '$Id: Fpolesnzeroes.f 4966 2013-02-01 13:46:50Z lrehor $'
& '$Id$'
return
end
c
......
# this is <Makefile>
# ----------------------------------------------------------------------------
# $Id: Makefile 4966 2013-02-01 13:46:50Z lrehor $
# $Id$
#
# Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
#
# Fourier coefficients library
#
# ----
# This program is free software; you can redistribute it and/or modify
# libfourier 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.
......@@ -22,13 +22,15 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# ----
#
# provide Fourier coefficients of filter responses etc.
# Fourier library: Operations in the Fourier domain
# =================================================
#
# this library makes use of libaff
# libaff must be installed first
# Please have a look at the README file coming along with the source code in
# this directory for further notes regarding provided functionality,
# prerequisites and installation.
#
# REVISIONS and CHANGES
# 07/11/2002 V1.0 Thomas Forbriger
# 07/11/2002 V1.0 Thomas Forbriger (thof)
# 05/01/2003 V1.1 uuuhhhhhh
# had to resolve a specific problem: my library
# procuded object files for Fortran code with the same
......@@ -49,6 +51,7 @@
# C++ object files
# 17/01/2011 V1.8 distinguish library creation and installation
# 29/01/2013 V1.9 added tarball rules
# 26/01/2014 (thof): no longer strip comments from header files
#
# ============================================================================
#
......@@ -72,7 +75,8 @@ $(LOCLIBDIR)/%: install-include %
#----------------------------------------------------------------------
flist: Makefile $(wildcard *.f *.inc *.h *.cc *.c README *.cfg) COPYING
flist: Makefile $(wildcard *.f *.inc *.h *.cc *.c README *.cfg) COPYING \
$(DOXYTXT)
echo $^ | tr ' ' '\n' | sort > $@
.PHONY: edit
......@@ -80,11 +84,10 @@ edit: flist; vim $<
.PHONY: clean
clean:
-/bin/rm -fv *.o *.bak *.doc *.o77 flist *.of2c
-/bin/rm -fv *.o *.bak *.o77 flist *.of2c
-find . -name \*.bak | xargs --no-run-if-empty /bin/rm -v
-find . -name \*.o | xargs --no-run-if-empty /bin/rm -v
-find . -name \*.d | xargs --no-run-if-empty /bin/rm -v
-find . -name \*.h.strip | xargs --no-run-if-empty /bin/rm -v
-/bin/rm -vf flist *.o install-include *.xxx junk* *.a *.so
# ============================================================================
......@@ -141,36 +144,6 @@ libfourier.a: $(LIBOBS)
$(RANLIB) $@
# ============================================================================
#
# A note on header files:
# We extensively comment class declarations within the header files. The
# reduce compilation time when using the library code, comments will be
# stripped from the header files that are exportet. These stripped versions
# are placed in the source code path with name *.h.strip and will be linked to
# INCINSTALLPATH with name *.h.
#
# Although comment stripping could be done by perl with an elaborate regular
# expression, we prefer the remcmmnt command by Jari Laaksonen. You can find
# the code at
# http://www.eti.pg.gda.pl/KATEDRY/kecs/lab-cpp/snippets/
# If it is not available to you, you should set TF_REMCMMNT=cat (see below)
#
# ============================================================================
#
# environment variables
# ---------------------
#
# You will like to set the following environment variables:
#
# LOCINCLUDEDIR Defines the path where header files will be copied for
# usage in your own projects. You will pass this path to
# the precompiler with the -I option.
# LOCLIBDIR Defines the path where the binary library will be
# placed.
# TF_WWWBASEDIR Defines the path to your personal homepage. That's the
# place where doxygen output will be written too (see
# below).
# files
# -----
......@@ -185,29 +158,18 @@ SRC=fcommand.cc filters.cc polesnzeroes.cc fftwaff.cc error.cc fftwaffar.cc
TESTS=$(wildcard tests/*.cc)
# whereever we find a README, we will use it
README=$(shell find . -name README)
# the frame of doxygen documentation is palced in text files
DOXYTXT=$(shell find . -name doxygen\*.txt)
# place where we will copy header files
INCINSTALLPATH=$(LOCINCLUDEDIR)/fourier
# place where we will copy the binary library
LIBINSTALLPATH=$(LOCLIBDIR)
# name of headers with comments stripped off (these are linked to your include
# directory)
STRIPHEADER=$(addsuffix .strip,$(notdir $(HEADERS)))
# name of installed (exported) header files (these are the names in your
# include directory)
INSTHEADER=$(addprefix $(INCINSTALLPATH)/,$(filter-out ./tests/%,$(HEADERS)))
# if defined, empty lines are kept in comment-stripped headers
# to synchronize line numbers (necessary during library debugging)
EMPTYPRINT=1
#EMPTYPRINT=0
# define this to be cat in case you do not have remcmmnt available
ifndef TF_REMCMMNT
TF_REMCMMNT=cat
endif
# compiler and preprocessor flags
FLAGS=
#CXXFLAGS += -Wall -pedantic $(FLAGS) -O3
......@@ -242,33 +204,11 @@ include $(patsubst %.cc,%.d,$(SRC))
#======================================================================
# header files
# ------------
#
# Since we extensively document the class structures within the header files,
# these should be stripped for the production version (otherwise the compiler
# has to scan all comments on each compile). Stripping is done by the rule
# below and is controlled by the variables TF_REMCMMNT and EMPTYPRINT (see
# above).
# comment stripping
# -----------------
# awk rule assumes that the first non-comment line starts with '#'
# and that the first (copyright) comment end with pattern "^ */"
%.h.strip: %.h
awk 'BEGIN {hot=1;} /^ \*\// { if (hot) { hot=2; print; next;} }\
/^#/ { hot=0; } \
{ if (hot==2) { print ""; } else if (hot) { print; } }' $< > $@
$(TF_REMCMMNT) $< | awk 'BEGIN {hot=0;} \
/^ *$$/ { if ((hot) && ($(EMPTYPRINT))) { print ""; } next; } \
/^#/ { hot=1; } { if (hot) print; }' >> $@
#----------------------------------------------------------------------
.PRECIOUS: %.h.strip
$(INCINSTALLPATH)/%.h: %.h.strip
mkdir -vp $(dir $@)
-rm -fv $@
/bin/cp -vpd $< $@
$(INCINSTALLPATH)/%.h: %.h
@mkdir -vp $(dir $@)
-@rm -fv $@
@/bin/cp -vpd $< $@
# install header files
.PHONY: install-include
......@@ -330,7 +270,7 @@ DOXYWWWPATH=$(TF_WWWBASEDIR)/libfourier
doxyclean: ;/bin/rm -rfv $(DOXYWWWPATH) doxydoc.xxx
DOXYSRC=$(README) $(HEADERS) $(SRC)
DOXYSRC=$(DOXYTXT) $(HEADERS) $(SRC)
# create doxygen intermediate configuration
PWD=$(shell env pwd)
......@@ -368,14 +308,6 @@ fullpackage: $(TF_MAKEPKG)
PACKAGEEXPORT="trunk/src/libs/libfourier:src" \
PACKAGETARGETS="src:install: src:doc:" \
PACKAGELIBS="libaff"
.PHONY: srcpackage
srcpackage: $(TF_MAKEPKG)
$(MAKE) -f $< \
PACKAGE=libfourier \
PACKAGESRCONLY=yes \
PACKAGEEXPORT="trunk/src/libs/libfourier:src" \
PACKAGETARGETS="src:install: src:doc:" \
PACKAGELIBS="-"
endif
# ----- END OF Makefile -----
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment