commit 01f3c53ca31deab26a48f4c6a0313cf742304322
parent 860cea807ebed07d6e6f8ef9fcf5cfb7a398c04b
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 16 Dec 2024 12:32:02 +0100
Merge branch 'release_0.3'
Diffstat:
20 files changed, 358 insertions(+), 199 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,12 +1,9 @@
-compile_commands.json
-.gitignore
-CMakeCache.txt
-CMakeFiles
-Makefile
-tmp
-[Bb]uild*
-*.sw[po]
-*.[ao]
*~
+*.[abdo]
+.config
+*.pc
+*.so
+*.swp
tags
-
+test_*
+!src/test_*.[ch]
diff --git a/Makefile b/Makefile
@@ -0,0 +1,175 @@
+# Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
+# Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
+#
+# This program 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 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+.POSIX:
+.SUFFIXES: .b .c .d .o
+
+include config.mk
+
+LIBNAME_STATIC = libsgf.a
+LIBNAME_SHARED = libsgf.so
+LIBNAME = $(LIBNAME_$(LIB_TYPE))
+
+default: library
+all: default tests
+
+################################################################################
+# Library
+################################################################################
+SRC = src/sgf_device.c src/sgf_estimator.c src/sgf_scene.c
+OBJ = $(SRC:.c=.o)
+DEP = $(SRC:.c=.d)
+
+library: .config $(DEP)
+ @$(MAKE) -fMakefile $$(for i in $(DEP); do echo -f $${i}; done) \
+ $$(if [ -n "$(LIBNAME)" ]; then \
+ echo "$(LIBNAME)"; \
+ else \
+ echo "$(LIBNAME_SHARED)"; \
+ fi)
+
+
+.config: Makefile config.mk
+ $(PKG_CONFIG) --atleast-version $(RSYS_VERSION) rsys
+ $(PKG_CONFIG) --atleast-version $(S2D_VERSION) s2d
+ $(PKG_CONFIG) --atleast-version $(S3D_VERSION) s3d
+ $(PKG_CONFIG) --atleast-version $(SSP_VERSION) star-sp
+ echo 'config done' > $@
+
+$(DEP) $(OBJ): config.mk
+
+$(LIBNAME_SHARED): $(OBJ)
+ $(CC) $(CFLAGS_SO) $(INCS) -o $@ $(OBJ) $(LDFLAGS_SO) $(LIBS)
+
+$(LIBNAME_STATIC): libsgf.o
+ $(AR) -rc $@ $?
+ $(RANLIB) $@
+
+libsgf.o: $(OBJ)
+ $(LD) -r $(OBJ) -o $@
+ $(OBJCOPY) $(OCPFLAGS) $@
+
+.c.d:
+ @$(CC) $(CFLAGS_SO) $(INCS) -MM -MT "$(@:.d=.o) $@" $< -MF $@
+
+.c.o:
+ $(CC) $(CFLAGS_SO) $(INCS) -DSGF_SHARED_BUILD -c $< -o $@
+
+################################################################################
+# Miscellaneous
+################################################################################
+pkg:
+ sed -e 's#@INCDIR@#$(INCDIR)#g'\
+ -e 's#@LIBDIR@#$(LIBDIR)#g'\
+ -e 's#@VERSION@#$(VERSION)#g'\
+ -e 's#@RSYS_VERSION@#$(RSYS_VERSION)#g'\
+ -e 's#@S2D_VERSION@#$(S2D_VERSION)#g'\
+ -e 's#@S3D_VERSION@#$(S3D_VERSION)#g'\
+ -e 's#@SSP_VERSION@#$(SSP_VERSION)#g'\
+ sgf.pc.in > sgf.pc
+
+sgf-local.pc: sgf.pc.in config.mk
+ sed -e 's#@INCDIR@#./src#g'\
+ -e 's#@LIBDIR@#./#g'\
+ -e 's#@VERSION@#$(VERSION)#g'\
+ -e 's#@RSYS_VERSION@#$(RSYS_VERSION)#g'\
+ -e 's#@S2D_VERSION@#$(S2D_VERSION)#g'\
+ -e 's#@S3D_VERSION@#$(S3D_VERSION)#g'\
+ -e 's#@SSP_VERSION@#$(SSP_VERSION)#g'\
+ sgf.pc.in > $@
+
+install: library pkg
+ mkdir -p "$(DESTDIR)$(LIBDIR)"
+ cp $(LIBNAME) "$(DESTDIR)$(LIBDIR)"
+ chmod 755 "$(DESTDIR)$(LIBDIR)/$(LIBNAME)"
+ mkdir -p "$(DESTDIR)$(LIBDIR)/pkgconfig"
+ cp sgf.pc "$(DESTDIR)$(LIBDIR)/pkgconfig"
+ chmod 644 "$(DESTDIR)$(LIBDIR)/pkgconfig/sgf.pc"
+ mkdir -p "$(DESTDIR)$(INCDIR)/star"
+ cp src/sgf.h "$(DESTDIR)$(INCDIR)/star"
+ chmod 644 "$(DESTDIR)$(INCDIR)/star/sgf.h"
+ mkdir -p "$(DESTDIR)$(DOCDIR)/star-gf"
+ cp COPYING README.md "$(DESTDIR)$(DOCDIR)/star-gf"
+ chmod 644 "$(DESTDIR)$(DOCDIR)/star-gf/COPYING"
+ chmod 644 "$(DESTDIR)$(DOCDIR)/star-gf/README.md"
+
+uninstall:
+ rm -f "$(DESTDIR)$(LIBDIR)/$(LIBNAME)"
+ rm -f "$(DESTDIR)$(LIBDIR)/pkgconfig/sgf.pc"
+ rm -f "$(DESTDIR)$(INCDIR)/star/sgf.h"
+ rm -f "$(DESTDIR)$(DOCDIR)/star-gf/COPYING"
+ rm -f "$(DESTDIR)$(DOCDIR)/star-gf/README.md"
+
+clean: clean_tests
+ rm -f $(OBJ) $(DEP) sgf.pc libsgf.o .config
+ rm -f $(LIBNAME_STATIC) $(LIBNAME_SHARED)
+
+################################################################################
+# Tests
+################################################################################
+TEST_SRC =\
+ src/test_sgf_cube.c\
+ src/test_sgf_device.c\
+ src/test_sgf_estimator.c\
+ src/test_sgf_scene.c\
+ src/test_sgf_square.c\
+ src/test_sgf_tetrahedron.c
+TEST_OBJ = $(TEST_SRC:.c=.o)
+TEST_DEP = $(TEST_SRC:.c=.d)
+TEST_BIN = $(TEST_SRC:.c=.b)
+
+PKG_CONFIG_LOCAL = PKG_CONFIG_PATH="./:$${PKG_CONFIG_PATH}" $(PKG_CONFIG)
+TEST_INCS = $$($(PKG_CONFIG_LOCAL) $(PCFLAGS) --cflags rsys sgf-local star-sp) -fopenmp
+TEST_LIBS = $$($(PKG_CONFIG_LOCAL) $(PCFLAGS) --libs rsys sgf-local star-sp) -fopenmp
+
+test: tests
+ @for i in $(TEST_SRC); do \
+ bin="$$(basename "$${i}" ".c")"; \
+ "./$${bin}" > /dev/null 2>&1 \
+ || >&2 printf '%s: error %s\n' "$${bin}" "$$?"; \
+ done
+ @echo "Tests done"
+
+tests: library $(TEST_DEP) $(TEST_BIN)
+ @$(MAKE) -fMakefile \
+ $$(for i in $(TEST_DEP); do echo -f"$${i}"; done) \
+ $$(for i in $(TEST_BIN); do echo -f"$${i}"; done) \
+ test_bin
+
+.c.b:
+ @{ \
+ bin="$$(basename "$<" ".c")"; \
+ printf '%s: %s\n' "$${bin}" $(<:.c=.o); \
+ printf 'test_bin: %s\n' "$${bin}"; \
+ } > $@
+
+$(TEST_DEP): config.mk sgf-local.pc
+ @$(CC) $(CFLAGS_EXE) $(TEST_INCS) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@
+
+$(TEST_OBJ): config.mk sgf-local.pc
+ $(CC) $(CFLAGS_EXE) $(TEST_INCS) -c $(@:.o=.c) -o $@
+
+test_sgf_cube \
+test_sgf_device \
+test_sgf_estimator \
+test_sgf_scene \
+test_sgf_square \
+test_sgf_tetrahedron:
+ $(CC) $(CFLAGS_EXE) $(TEST_INCS) -o $@ src/$@.o $(LDFLAGS_EXE) $(TEST_LIBS)
+
+clean_tests:
+ rm -f $(TEST_OBJ) $(TEST_DEP) $(TEST_BIN) sgf-local.pc
+ for i in $(TEST_SRC); do rm -f "$$(basename "$${i}" ".c")"; done
diff --git a/README.md b/README.md
@@ -1,60 +1,65 @@
# Star Gebhart Factor
The purpose of this C library is to numerically compute the [Gebhart
-factor](https://en.wikipedia.org/wiki/Gebhart_factor) between 3D primitives.
-The Gebhart factor *B(i,j)* between two arbitrary surfaces *i* and *j* is
-defined as the fraction of the radiative flux emitted by *i* that is absorbed
-by *j*. It is not equal to the [form
-factor](https://en.wikipedia.org/wiki/View_factor) between *i* and *j*, even
-tough the difference is subtle: the form factor is the fraction of the
-radiative flux emitted by *i*, in direction of *j* (which is not necessarily
-totally absorbed by *j*). In our case, Gebhart factors have been integrated
-over *j*, which means that we compute the fraction of the radiative flux
-emitted by *i* that is absorbed by all other surfaces. It is obviously not
-equal to one, since a fraction of the flux can be re-absorbed by *i* itself.
-
-Star-GF estimates Gebhart factors with the Monte-Carlo method: it consists in
-simulating the trajectory of energy bundles according to a relevant physical
-model. Emission, absorption and reflection processes are therefore taken into
-account, as well as spectral aspects (surface properties can be defined as a
-function of wavelength). Should scattering processes in semi-transparent media
-be taken into consideration, it would be possible (even if actually not
-implemented). The main advantage of this statistical method is the fact it
-provides a numerical accuracy over each result: the Monte-Carlo method is often
+factor](https://en.wikipedia.org/wiki/Gebhart_factor) between 3D
+primitives. The Gebhart factor *B(i,j)* between two arbitrary surfaces
+*i* and *j* is defined as the fraction of the radiative flux emitted by
+*i* that is absorbed by *j*. It is not equal to the [form
+factor](https://en.wikipedia.org/wiki/View_factor) between *i* and *j*,
+even tough the difference is subtle: the form factor is the fraction of
+the radiative flux emitted by *i*, in direction of *j* (which is not
+necessarily totally absorbed by *j*). In our case, Gebhart factors have
+been integrated over *j*, which means that we compute the fraction of
+the radiative flux emitted by *i* that is absorbed by all other
+surfaces. It is obviously not equal to one, since a fraction of the flux
+can be re-absorbed by *i* itself.
+
+Star-GF estimates Gebhart factors with the Monte-Carlo method: it
+consists in simulating the trajectory of energy bundles according to a
+relevant physical model. Emission, absorption and reflection processes
+are therefore taken into account, as well as spectral aspects (surface
+properties can be defined as a function of wavelength). Should
+scattering processes in semi-transparent media be taken into
+consideration, it would be possible (even if actually not implemented).
+The main advantage of this statistical method is the fact it provides a
+numerical accuracy over each result: the Monte-Carlo method is often
referred as a reference method. Also, the resulting algorithm is totally
-decoupled from the geometry: it will remain the same for every scene, no matter
-how much data is used for its description. This geometry is provided by the
-caller through a scene managed by the
-[Star-3D](https://gitlab.com/meso-star/star-gf.git) library.
-
-Gebhart factors may finally be used in order to compute the radiative flux
-absorbed by each surface, and subsequently the net radiative flux over each
-surface. The main advantage of Gebhart factors over form factors is
-the associated flexibility in terms of reflection properties: while form
-factors are computed with the implicit assumption that surfaces are diffuse
-reflectors, there is no such restriction in the case of Gebhart factors; any
-type of reflection can be used (totally or partially specular surfaces).
-
-## How to build
-
-Star-GF is compatible GNU/Linux 64-bits. It relies on
-[CMake](http://www.cmake.org) and the
-[RCMake](https://gitlab.com/vaplv/rcmake/) package to build. It also depends on
-the [RSys](https://gitlab.com/vaplv/rsys/),
-[Star-3D](https://gitlab.com/meso-star/star-3d/) and
-[Star-SP](https://gitlab.com/meso-star/star-sp/) libraries.
-
-First ensure that CMake is installed on your system. Then install the RCMake
-package as well as the aforementioned prerequisites. Finally generate the
-project from the `cmake/CMakeLists.txt` file by appending to the
-`CMAKE_PREFIX_PATH` variable the install directories of the previous
-dependencies. The resulting project can be edited, built, tested and installed
-as any CMake project (Refer to the [CMake
-documentation](https://cmake.org/documentation)
-for further informations on CMake).
+decoupled from the geometry: it will remain the same for every scene, no
+matter how much data is used for its description. This geometry is
+provided by the caller through a scene managed by the
+[Star 3D](https://gitlab.com/meso-star/star-3d) library.
+
+Gebhart factors may finally be used in order to compute the radiative
+flux absorbed by each surface, and subsequently the net radiative flux
+over each surface. The main advantage of Gebhart factors over form
+factors is the associated flexibility in terms of reflection properties:
+while form factors are computed with the implicit assumption that
+surfaces are diffuse reflectors, there is no such restriction in the
+case of Gebhart factors; any type of reflection can be used (totally or
+partially specular surfaces).
+
+## Requirements
+
+- C compiler
+- POSIX make
+- pkg-config
+- [RSys](https://gitlab.com/vaplv/rsys)
+- [Star 2D](https://gitlab.com/meso-star/star-2d)
+- [Star 3D](https://gitlab.com/meso-star/star-3d)
+- [Star SamPling](https://gitlab.com/meso-star/star-sp)
+
+## Installation
+
+Edit config.mk as needed, then run:
+
+ make clean install
## Release notes
+### Version 0.3
+
+Replace CMake with POSIX make as build system.
+
### Version 0.2.4
Sets the required version of Star-SampPling to 0.12. This version fixes
@@ -66,15 +71,17 @@ Fix API break on filter function introduced by Star-3D 0.8.
### Version 0.2.2
-Bump the version of the dependencies and fix the code to handle their updates.
+Bump the version of the dependencies and fix the code to handle their
+updates.
### Version 0.2.1
-Fix a crash that occurred in scenes having medium with a null absorption. In
-such scenes, radiative flux going to infinity are not allowed and must be
-handled as a numerical imprecision or a scene inconsistency. This was not the
-case: this flux was accumulated into a specific counter that was not
-initialised since, in this situation, such flux could not exist.
+Fix a crash that occurred in scenes having medium with a null
+absorption. In such scenes, radiative flux going to infinity are not
+allowed and must be handled as a numerical imprecision or a scene
+inconsistency. This was not the case: this flux was accumulated into a
+specific counter that was not initialised since, in this situation, such
+flux could not exist.
### Version 0.2
@@ -83,9 +90,9 @@ initialised since, in this situation, such flux could not exist.
## License
-Copyright (C) 2021 |Meso|Star> (<contact@meso-star.com>).
-Copyright (C) 2015-2018 EDF S.A., France (<syrthes-support@edf.fr>).
+Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
+Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
-Star-GF is free software released under the GPL v3+ license: GNU GPL version 3
-or later. You are welcome to redistribute it under certain conditions; refer to
-the COPYING file for details.
+Star-GF is free software released under the GPL v3+ license: GNU GPL
+version 3 or later. You are welcome to redistribute it under certain
+conditions; refer to the COPYING file for details.
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -1,114 +0,0 @@
-# Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
-# Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
-#
-# This program 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 3 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
-
-cmake_minimum_required(VERSION 3.1)
-project(star-gf C)
-enable_testing()
-
-set(SGF_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../src)
-option(NO_TEST "Disable the test" OFF)
-
-################################################################################
-# Check dependencies
-################################################################################
-find_package(RCMake 0.2.3 REQUIRED)
-find_package(RSys 0.6 REQUIRED)
-find_package(StarSP 0.12 REQUIRED)
-find_package(Star3D 0.8 REQUIRED)
-find_package(Star2D 0.5 REQUIRED)
-find_package(OpenMP 1.2 REQUIRED)
-
-include_directories(
- ${RSys_INCLUDE_DIR}
- ${StarSP_INCLUDE_DIR}
- ${Star3D_INCLUDE_DIR})
-
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${RCMAKE_SOURCE_DIR})
-include(rcmake)
-include(rcmake_runtime)
-
-################################################################################
-# Configure and define targets
-################################################################################
-set(VERSION_MAJOR 0)
-set(VERSION_MINOR 2)
-set(VERSION_PATCH 4)
-set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
-
-set(SGF_FILES_SRC
- sgf_device.c
- sgf_estimator.c
- sgf_scene.c)
-set(SGF_FILES_INC_API sgf.h)
-set(SGF_FILES_INC
- sgf_device_c.h
- sgf_realisation.h)
-set(SGF_FILES_DOC COPYING README.md)
-
-# Prepend each file in the `SGF_FILES_<SRC|INC>' list by `SGF_SOURCE_DIR'
-rcmake_prepend_path(SGF_FILES_SRC ${SGF_SOURCE_DIR})
-rcmake_prepend_path(SGF_FILES_INC_API ${SGF_SOURCE_DIR})
-rcmake_prepend_path(SGF_FILES_INC ${SGF_SOURCE_DIR})
-rcmake_prepend_path(SGF_FILES_DOC ${PROJECT_SOURCE_DIR}/../)
-
-add_library(sgf SHARED ${SGF_FILES_SRC} ${SGF_FILES_INC_API} ${SGF_FILES_INC})
-set_target_properties(sgf PROPERTIES
- DEFINE_SYMBOL SGF_SHARED_BUILD
- VERSION ${VERSION}
- SOVERSION ${VERSION_MAJOR})
-
-target_link_libraries(sgf RSys Star2D Star3D StarSP)
-if(CMAKE_COMPILER_IS_GNUCC)
- target_link_libraries(sgf m)
-endif()
-
-rcmake_setup_devel(sgf StarGF ${VERSION} star/sgf_version.h)
-
-################################################################################
-# Add tests
-################################################################################
-if(NOT NO_TEST)
- function(new_test _name)
- add_executable(${_name} ${SGF_SOURCE_DIR}/${_name}.c)
- target_link_libraries(${_name} sgf RSys)
- add_test(${_name} ${_name})
- endfunction(new_test)
- new_test(test_sgf_cube)
- new_test(test_sgf_device)
- new_test(test_sgf_estimator)
- new_test(test_sgf_scene)
- new_test(test_sgf_square)
- new_test(test_sgf_tetrahedron)
- rcmake_copy_runtime_libraries(test_sgf_tetrahedron)
-
- set_target_properties(test_sgf_cube PROPERTIES COMPILE_FLAGS ${OpenMP_C_FLAGS})
- set_target_properties(test_sgf_tetrahedron PROPERTIES COMPILE_FLAGS ${OpenMP_C_FLAGS})
- if(CMAKE_COMPILER_IS_GNUCC)
- set_target_properties(test_sgf_cube PROPERTIES LINK_FLAGS ${OpenMP_C_FLAGS})
- set_target_properties(test_sgf_tetrahedron PROPERTIES LINK_FLAGS ${OpenMP_C_FLAGS})
- endif()
-endif()
-
-################################################################################
-# Define output & install directories
-################################################################################
-install(TARGETS sgf
- ARCHIVE DESTINATION bin
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION bin)
-install(FILES ${SGF_FILES_INC_API} DESTINATION include/star)
-install(FILES ${SGF_FILES_DOC} DESTINATION share/doc/star-gf)
-
diff --git a/config.mk b/config.mk
@@ -0,0 +1,83 @@
+VERSION = 0.3.0
+
+PREFIX = /usr/local
+LIBDIR = $(PREFIX)/lib
+INCDIR = $(PREFIX)/include
+DOCDIR = $(PREFIX)/share/doc
+
+BUILD_TYPE = RELEASE
+#BUILD_TYPE = DEBUG
+
+LIB_TYPE = SHARED
+#LIB_TYPE = STATIC
+
+################################################################################
+# Tools
+################################################################################
+AR = ar
+CC = cc
+LD = ld
+OBJCOPY = objcopy
+PKG_CONFIG = pkg-config
+RANLIB = ranlib
+
+################################################################################
+# Dependencies
+################################################################################
+PCFLAGS_SHARED =
+PCFLAGS_STATIC = --static
+PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
+
+RSYS_VERSION = 0.14
+S2D_VERSION = 0.7
+S3D_VERSION = 0.10
+SSP_VERSION = 0.14
+
+INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys s2d s3d star-sp)
+LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys s2d s3d star-sp) -lm
+
+################################################################################
+# Compilation options
+################################################################################
+WFLAGS =\
+ -Wall\
+ -Wcast-align\
+ -Wconversion\
+ -Wextra\
+ -Wmissing-declarations\
+ -Wmissing-prototypes\
+ -Wshadow
+
+CFLAGS_HARDENED =\
+ -D_FORTIFY_SOURCES=2\
+ -fstack-protector-strong
+
+CFLAGS_COMMON =\
+ -std=c89\
+ -pedantic\
+ -fvisibility=hidden\
+ -fstrict-aliasing\
+ $(CFLAGS_HARDENED)\
+ $(WFLAGS)
+
+CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
+CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
+CFLAGS = $(CFLAGS_$(BUILD_TYPE))
+
+CFLAGS_SO = $(CFLAGS) -fPIC
+CFLAGS_EXE = $(CFLAGS) -FPIE
+
+################################################################################
+# Linker options
+################################################################################
+LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
+LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
+LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
+LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
+
+LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
+LDFLAGS_EXE = $(LDFLAGS) -pie
+
+OCPFLAGS_DEBUG = --localize-hidden
+OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
+OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))
diff --git a/sgf.pc.in b/sgf.pc.in
@@ -0,0 +1,11 @@
+Requires: rsys >= @RSYS_VERSION@
+Requires.private:\
+ s2d >=@S2D_VERSION@,\
+ s3d >= @S3D_VERSION@,\
+ star-sp >= @SSP_VERSION@
+Name: Star-GF
+Description: Star Gebhart Factor
+Version: @VERSION@
+Libs: -L@LIBDIR@ -lsgf
+Libs.private: -lm
+CFlags: -I@INCDIR@
diff --git a/src/sgf.h b/src/sgf.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/sgf_device.c b/src/sgf_device.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/sgf_device_c.h b/src/sgf_device_c.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/sgf_estimator.c b/src/sgf_estimator.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/sgf_realisation.h b/src/sgf_realisation.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/sgf_scene.c b/src/sgf_scene.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/sgf_scene_c.h b/src/sgf_scene_c.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/test_sgf_cube.c b/src/test_sgf_cube.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/test_sgf_device.c b/src/test_sgf_device.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/test_sgf_estimator.c b/src/test_sgf_estimator.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/test_sgf_scene.c b/src/test_sgf_scene.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/test_sgf_square.c b/src/test_sgf_square.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/test_sgf_tetrahedron.c b/src/test_sgf_tetrahedron.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/test_sgf_utils.h b/src/test_sgf_utils.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2021 |Meso|Star> (contact@meso-star.com)
+/* Copyright (C) 2021, 2024 |Meso|Star> (contact@meso-star.com)
* Copyright (C) 2015-2018 EDF S.A., France (syrthes-support@edf.fr)
*
* This program is free software: you can redistribute it and/or modify