solstice-solver

Solver library of the solstice app
git clone git://git.meso-star.com/solstice-solver.git
Log | Files | Refs | README | LICENSE

commit 2fddd7f4d8680de5030b500e6bf56f5b7adff090
parent 6010dfad54eed1074ded5c547fb6eae0b6b6c1b8
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Mon, 18 May 2026 17:15:26 +0200

Fix Makefile

Diffstat:
MMakefile | 80++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Mssol.pc.in | 2+-
2 files changed, 44 insertions(+), 38 deletions(-)

diff --git a/Makefile b/Makefile @@ -53,12 +53,16 @@ SRC =\ OBJ = $(SRC:.c=.o) DEP = $(SRC:.c=.d) +# Headers to configure +HDR=\ + src/ssol_version.h + CFLAGS_LIB = $(CFLAGS_SO) $(INCS) -DSSOL_SHARED_BUILD LDFLAGS_LIB = $(LDFLAGS_SO) $(LIBS) -$(LIBNAME_SHARED) $(DEB) $(OBJ): config.mk .config +$(DEP) $(OBJ): src/.config -library: .config $(DEP) +library: $(DEP) @$(MAKE) -fMakefile $$(for i in $(DEP); do echo -f $${i}; done) \ $$(if [ -n "$(LIBNAME)" ]; then \ echo "$(LIBNAME)"; \ @@ -69,15 +73,15 @@ library: .config $(DEP) $(LIBNAME_SHARED): $(OBJ) $(CC) $(CFLAGS_LIB) -o $@ $(OBJ) $(LDFLAGS_LIB) -$(LIBNAME_STATIC): libssol.o +$(LIBNAME_STATIC): src/libssol.o $(AR) -rc $@ $? $(RANLIB) $@ -libssol.o: $(OBJ) +src/libssol.o: $(DEP) $(OBJ) $(LD) -r $(OBJ) -o $@ $(OBJCOPY) $(OCPFLAGS) $@ -.config: config.mk +src/.config: config.mk $(PKG_CONFIG) --atleast-version $(RSYS_VERSION) rsys $(PKG_CONFIG) --atleast-version $(S3D_VERSION) s3d $(PKG_CONFIG) --atleast-version $(S3DUT_VERSION) s3dut @@ -86,17 +90,18 @@ libssol.o: $(OBJ) $(PKG_CONFIG) --atleast-version $(SSP_VERSION) star-sp @echo "config done" > $@ -.SUFFIXES: .c .d .o -.c.d: - @$(CC) $(CFLAGS_LIB) -MM -MT "$(@:.d=.o) $@" $< -MF $@ +$(DEP) : $(HDR) + @$(CC) $(CFLAGS_LIB) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@ -.c.o: - $(CC) $(CFLAGS_LIB) -c $< -o $@ +$(OBJ) : $(HDR) + $(CC) $(CFLAGS_LIB) -c $(@:.o=.c) -o $@ ################################################################################ # Installation ################################################################################ -pkg: ssol.pc.in config.mk +pkg: src/ssol.pc + +src/ssol.pc: ssol.pc.in sed -e 's#@PREFIX@#$(PREFIX)#g'\ -e 's#@VERSION@#$(VERSION)#g'\ -e 's#@RSYS_VERSION@#$(RSYS_VERSION)#g'\ @@ -105,9 +110,9 @@ pkg: ssol.pc.in config.mk -e 's#@SCPR_VERSION@#$(SCPR_VERSION)#g'\ -e 's#@SSF_VERSION@#$(SSF_VERSION)#g'\ -e 's#@SSP_VERSION@#$(SSP_VERSION)#g'\ - ssol.pc.in > ssol.pc + ssol.pc.in > $@ -ssol-local.pc: ssol.pc.in config.mk +src/ssol-local.pc: ssol.pc.in sed -e '1d'\ -e 's#^includedir=.*#includedir=./src/#'\ -e 's#^libdir=.*#libdir=./#'\ @@ -119,13 +124,13 @@ ssol-local.pc: ssol.pc.in config.mk -e 's#@SSP_VERSION@#$(SSP_VERSION)#g'\ ssol.pc.in > $@ -src/ssol_version.h: src/ssol_version.h.in config.mk +src/ssol_version.h: src/ssol_version.h.in sed -e 's#@VERSION_MAJOR@#$(VERSION_MAJOR)#g' \ -e 's#@VERSION_MINOR@#$(VERSION_MINOR)#g' \ -e 's#@VERSION_PATCH@#$(VERSION_PATCH)#g' \ src/ssol_version.h.in > $@ -install: library pkg src/ssol_version.h +install: library pkg install() { mode="$$1"; prefix="$$2"; shift 2; \ mkdir -p "$${prefix}"; \ cp "$$@" "$${prefix}"; \ @@ -133,24 +138,23 @@ install: library pkg src/ssol_version.h }; \ if [ "$(LIB_TYPE)" = "STATIC" ]; then mode=644; else mode=755; fi; \ install "$${mode}" "$(DESTDIR)$(LIBPREFIX)" $(LIBNAME); \ - install 644 "$(DESTDIR)$(LIBPREFIX)/pkgconfig" ssol.pc; \ - install 644 "$(DESTDIR)$(INCPREFIX)" src/ssol.h; \ - install 644 "$(DESTDIR)$(INCPREFIX)" src/ssol_version.h; \ - install 644 "$(DESTDIR)$(PREFIX)/share/doc/stardis-solver" COPYING; \ - install 644 "$(DESTDIR)$(PREFIX)/share/doc/stardis-solver" README.md + install 644 "$(DESTDIR)$(LIBPREFIX)/pkgconfig" src/ssol.pc; \ + install 644 "$(DESTDIR)$(INCPREFIX)/solstice" src/ssol.h; \ + install 644 "$(DESTDIR)$(INCPREFIX)/solstice" src/ssol_version.h; \ + install 644 "$(DESTDIR)$(PREFIX)/share/doc/solstice-solver" COPYING; \ + install 644 "$(DESTDIR)$(PREFIX)/share/doc/solstice-solver" README.md uninstall: rm -f "$(DESTDIR)$(LIBPREFIX)/$(LIBNAME)" rm -f "$(DESTDIR)$(LIBPREFIX)/pkgconfig/ssol.pc" - rm -f "$(DESTDIR)$(INCPREFIX)/ssol.h" - rm -f "$(DESTDIR)$(INCPREFIX)/ssol_version.h" - rm -f "$(DESTDIR)$(PREFIX)/share/doc/stardis-solver/COPYING" - rm -f "$(DESTDIR)$(PREFIX)/share/doc/stardis-solver/README.md" + rm -f "$(DESTDIR)$(INCPREFIX)/solstice/ssol.h" + rm -f "$(DESTDIR)$(INCPREFIX)/solstice/ssol_version.h" + rm -f "$(DESTDIR)$(PREFIX)/share/doc/solstice-solver/COPYING" + rm -f "$(DESTDIR)$(PREFIX)/share/doc/solstice-solver/README.md" clean: clean_test - rm -f $(DEP) $(OBJ) $(LIBNAME) - rm -f src/ssol_version.h - rm -f .config libssol.o ssol.pc ssol-local.pc + rm -f $(HDR) $(DEP) $(OBJ) $(LIBNAME) + rm -f src/.config src/libssol.o src/ssol.pc src/ssol-local.pc ################################################################################ # Tests @@ -191,15 +195,15 @@ TEST_DEP =\ TEST_TGT =\ $(TEST_SRC:.c=.t) +$(TEST_DEP) $(TEST_OBJ): src/.config_test + # Regular cflags -PKG_CONFIG_LOCAL = PKG_CONFIG_PATH="./:$${PKG_CONFIG_PATH}" $(PKG_CONFIG) +PKG_CONFIG_LOCAL = PKG_CONFIG_PATH="./src:$${PKG_CONFIG_PATH}" $(PKG_CONFIG) INCS_TEST = $$($(PKG_CONFIG_LOCAL) $(PCFLAGS) --cflags rsys star-sp ssol-local) LIBS_TEST = $$($(PKG_CONFIG_LOCAL) $(PCFLAGS) --libs rsys star-sp ssol-local)\ -lm -$(TEST_DEP) $(TEST_OBJ): config.mk .config_test - -tests: library $(TEST_DEP) $(TEST_TGT) +tests: library src/ssol-local.pc $(TEST_DEP) $(TEST_TGT) @$(MAKE) -fMakefile \ $$(for i in $(TEST_DEP); do echo -f"$${i}"; done) \ $$(for i in $(TEST_TGT); do echo -f"$${i}"; done) \ @@ -212,15 +216,17 @@ $(TEST_TGT): printf 'test_list: %s\n' "$${exe}"; \ } > $@ -.config_test: config.mk +src/.config_test: config.mk + $(PKG_CONFIG) --atleast-version $(RSYS_VERSION) rsys $(PKG_CONFIG) --atleast-version $(SSP_VERSION) star-sp @echo "config done" > $@ clean_test: rm -f $(TEST_DEP) $(TEST_OBJ) $(TEST_TGT) - rm -f .config_test + for i in $(TEST_SRC); do rm -f "$$(basename "$${i}" ".c")"; done + rm -f src/.config_test -test: +test: tests @err=0; \ check() { name="$$1"; prog="$$2"; shift 2; \ printf '%s' "$${name}"; \ @@ -250,10 +256,10 @@ test: CFLAGS_TEST = $(CFLAGS_EXE) $(INCS_TEST) LDFLAGS_TEST = $(LDFLAGS_EXE) $(LIBS_TEST) -$(TEST_DEP) : config.mk ssol-local.pc +$(TEST_DEP) : src/.config_test src/ssol-local.pc @$(CC) $(CFLAGS_TEST) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@ -$(TEST_OBJ) : config.mk ssol-local.pc +$(TEST_OBJ) : src/.config_test src/ssol-local.pc $(CC) $(CFLAGS_TEST) -c $(@:.o=.c) -o $@ test_ssol_atmosphere \ @@ -284,5 +290,5 @@ test_ssol_solver11 \ test_ssol_solver12 \ test_ssol_sun \ test_ssol_draw \ -: config.mk ssol-local.pc $(LIBNAME) +: src/.config_test src/ssol-local.pc $(LIBNAME) $(CC) $(CFLAGS_TEST) -o $@ src/$@.o $(LDFLAGS_TEST) diff --git a/ssol.pc.in b/ssol.pc.in @@ -14,4 +14,4 @@ Description: Solstice Solver Version: @VERSION@ Libs: -L${libdir} -lssol Libs.private: -fopenmp -lm -CFlags: -I${includedir} +CFlags: -I${includedir} -fopenmp