star-gf

Compute Gebhart factors
git clone git://git.meso-star.fr/star-gf.git
Log | Files | Refs | README | LICENSE

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:
M.gitignore | 17+++++++----------
AMakefile | 175+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MREADME.md | 129++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Dcmake/CMakeLists.txt | 114-------------------------------------------------------------------------------
Aconfig.mk | 83+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Asgf.pc.in | 11+++++++++++
Msrc/sgf.h | 2+-
Msrc/sgf_device.c | 2+-
Msrc/sgf_device_c.h | 2+-
Msrc/sgf_estimator.c | 2+-
Msrc/sgf_realisation.h | 2+-
Msrc/sgf_scene.c | 2+-
Msrc/sgf_scene_c.h | 2+-
Msrc/test_sgf_cube.c | 2+-
Msrc/test_sgf_device.c | 2+-
Msrc/test_sgf_estimator.c | 2+-
Msrc/test_sgf_scene.c | 2+-
Msrc/test_sgf_square.c | 2+-
Msrc/test_sgf_tetrahedron.c | 2+-
Msrc/test_sgf_utils.h | 2+-
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