solstice

Compute collected power and efficiencies of a solar plant
git clone git://git.meso-star.com/solstice.git
Log | Files | Refs | README | LICENSE

commit d7b7db5c7e1371db3eacc68f3dc942edb1c4c566
parent ecebb8d03fa74e8d642736349d4680cd327b2b8b
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date:   Thu,  7 May 2026 17:14:10 +0200

Change Makefiles to build static internal libs

The 3 libs score, srcv and sprs where built in shared versions when
LIB_TYPE was SHARED.
As these libs are only intendend to ease testing and not to be
distributed, the static version is the only one that makes sense.

Diffstat:
MMakefile | 17+++++------------
MMakefile.core | 56++++++++++----------------------------------------------
MMakefile.prs | 45+++++++--------------------------------------
MMakefile.rcv | 47++++++++---------------------------------------
4 files changed, 30 insertions(+), 135 deletions(-)

diff --git a/Makefile b/Makefile @@ -21,12 +21,9 @@ include config.mk default: executable all: executable man test -LIBEXT_STATIC = a -LIBEXT_SHARED = so -LIBEXT = $(LIBEXT_$(LIB_TYPE)) -LIBSCORE = libscore.${LIBEXT} -LIBSRCV = libsrcv.${LIBEXT} -LIBSPRS = libsprs.${LIBEXT} +LIBSCORE = src/libscore.a +LIBSRCV = src/libsrcv.a +LIBSPRS = src/libsprs.a ################################################################################ # Program building @@ -41,12 +38,8 @@ HDR=\ src/solstice_args.h\ src/solstice_version.h -PKG_CONFIG_LOCAL = PKG_CONFIG_PATH="./src:$${PKG_CONFIG_PATH}" $(PKG_CONFIG) -INCS_CMD = $$($(PKG_CONFIG_LOCAL) $(PCFLAGS) --cflags rsys score sprs srcv) -LIBS_CMD = $$($(PKG_CONFIG_LOCAL) $(PCFLAGS) --libs rsys score sprs srcv)\ - -lm -CFLAGS_CMD = $(CFLAGS_EXE) $(INCS_CMD) -LDFLAGS_CMD = $(LDFLAGS_EXE) $(LIBS_CMD) +CFLAGS_CMD = $(CFLAGS_EXE) $(INCS) +LDFLAGS_CMD = $(LDFLAGS_EXE) -Lsrc -lscore -lsprs -lsrcv $(LIBS) executable $(CMD_DEP) $(CMD_OBJ): src/.config diff --git a/Makefile.core b/Makefile.core @@ -18,9 +18,7 @@ include config.mk -LIBNAME_STATIC = libscore.a -LIBNAME_SHARED = libscore.so -LIBNAME = $(LIBNAME_$(LIB_TYPE)) +LIBNAME = src/libscore.a default: library all: library tests @@ -51,22 +49,15 @@ HDR=\ src/solstice_version.h CFLAGS_LIB = $(CFLAGS_SO) $(INCS) -DSCORE_SHARED_BUILD -LDFLAGS_LIB = $(LDFLAGS_SO) -L. -lsprs -lsrcv $(LIBS) +LDFLAGS_LIB = $(LDFLAGS_SO) -Lsrc -lsprs -lsrcv $(LIBS) -$(LIBNAME_SHARED) $(DEP) $(OBJ): src/.config_core +$(DEP) $(OBJ): src/.config_core library: $(DEP) @$(MAKE) -fMakefile.core $$(for i in $(DEP); do echo -f $${i}; done) \ - $$(if [ -n "$(LIBNAME)" ]; then \ - echo "$(LIBNAME)"; \ - else \ - echo "$(LIBNAME_SHARED)"; \ - fi) + $(LIBNAME) -$(LIBNAME_SHARED): $(OBJ) - $(CC) $(CFLAGS_LIB) -o $@ $(OBJ) $(LDFLAGS_LIB) - -$(LIBNAME_STATIC): src/libscore.o +$(LIBNAME): src/libscore.o $(AR) -rc $@ $? $(RANLIB) $@ @@ -74,10 +65,10 @@ src/libscore.o: $(OBJ) $(DEP) $(LD) -r $(OBJ) -o $@ $(OBJCOPY) $(OCPFLAGS) $@ -$(DEP): $(HDR) src/score.pc +$(DEP): $(HDR) @$(CC) $(CFLAGS_LIB) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@ -$(OBJ): $(HDR) src/score.pc +$(OBJ): $(HDR) $(CC) $(CFLAGS_LIB) -c $(@:.o=.c) -o $@ src/solstice_args.h: src/.config src/solstice_args.h.in @@ -100,20 +91,6 @@ src/solstice_version.h: src/.config src/solstice_version.h.in ################################################################################ # Installation ################################################################################ -pkg: src/score.pc - -src/score.pc: score.pc.in src/.config_core - sed -e 's#@PREFIX@#$(PREFIX)#g'\ - -e 's#@VERSION@#$(VERSION)#g'\ - -e 's#@RSYS_VERSION@#$(RSYS_VERSION)#g'\ - -e 's#@S3DUT_VERSION@#$(S3DUT_VERSION)#g'\ - -e 's#@SSP_VERSION@#$(SSP_VERSION)#g'\ - -e 's#@SSTL_VERSION@#$(SSTL_VERSION)#g'\ - -e 's#@YAML_VERSION@#$(YAML_VERSION)#g'\ - -e 's#@SSOL_VERSION@#$(SSOL_VERSION)#g'\ - -e 's#@SANIM_VERSION@#$(SANIM_VERSION)#g'\ - score.pc.in > $@ - src/.config_core: config.mk $(PKG_CONFIG) --atleast-version $(RSYS_VERSION) rsys $(PKG_CONFIG) --atleast-version $(S3DUT_VERSION) s3dut @@ -124,26 +101,13 @@ src/.config_core: config.mk $(PKG_CONFIG) --atleast-version $(SANIM_VERSION) sanim @echo "config done" > $@ -install: library pkg - install() { mode="$$1"; prefix="$$2"; shift 2; \ - mkdir -p "$${prefix}"; \ - cp "$$@" "$${prefix}"; \ - chmod "$${mode}" "$${prefix}/$${@##*/}"; \ - }; \ - if [ "$(LIB_TYPE)" = "SHARED" ]; then \ - install 755 "$(DESTDIR)$(LIBPREFIX)" $(LIBNAME); \ - install 644 "$(DESTDIR)$(LIBPREFIX)/pkgconfig" src/score.pc; \ - fi; \ +install: uninstall: - if [ "$(LIB_TYPE)" = "SHARED" ]; then \ - rm -f "$(DESTDIR)$(LIBPREFIX)/$(LIBNAME)" \ - rm -f "$(DESTDIR)$(LIBPREFIX)/pkgconfig/score.pc" \ - fi; \ clean: clean_test rm -f $(DEP) $(OBJ) $(LIBNAME) - rm -f src/.config_core src/libscore.o src/score.pc + rm -f src/.config_core src/libscore.o lint: @@ -251,7 +215,7 @@ test: tests # Regular tests ################################################################################ CFLAGS_TEST = $(CFLAGS_EXE) $(INCS_TEST) -LDFLAGS_TEST = $(LDFLAGS_EXE) -L. -lsprs -Lsrcv $(LIBS_TEST) +LDFLAGS_TEST = $(LDFLAGS_EXE) -Lsrc -lsprs -Lsrcv $(LIBS_TEST) $(TEST_DEP) : src/.config_score_test src/score-local.pc @$(CC) $(CFLAGS_TEST) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@ diff --git a/Makefile.prs b/Makefile.prs @@ -18,9 +18,7 @@ include config.mk -LIBNAME_STATIC = libsprs.a -LIBNAME_SHARED = libsprs.so -LIBNAME = $(LIBNAME_$(LIB_TYPE)) +LIBNAME = src/libsprs.a default: library all: library tests @@ -49,20 +47,13 @@ HDR= CFLAGS_LIB = $(CFLAGS_SO) $(INCS) -DSPRSR_SHARED_BUILD LDFLAGS_LIB = $(LDFLAGS_SO) $(LIBS) -$(LIBNAME_SHARED) $(DEP) $(OBJ): src/.config_prs +$($(DEP) $(OBJ): src/.config_prs library: $(DEP) @$(MAKE) -fMakefile.prs $$(for i in $(DEP); do echo -f $${i}; done) \ - $$(if [ -n "$(LIBNAME)" ]; then \ - echo "$(LIBNAME)"; \ - else \ - echo "$(LIBNAME_SHARED)"; \ - fi) + $(LIBNAME) -$(LIBNAME_SHARED): $(OBJ) - $(CC) $(CFLAGS_LIB) -o $@ $(OBJ) $(LDFLAGS_LIB) - -$(LIBNAME_STATIC): src/libsprs.o +$(LIBNAME): src/libsprs.o $(AR) -rc $@ $? $(RANLIB) $@ @@ -70,49 +61,27 @@ src/libsprs.o: $(OBJ) $(DEP) $(LD) -r $(OBJ) -o $@ $(OBJCOPY) $(OCPFLAGS) $@ -$(DEP): $(HDR) src/sprs.pc +$(DEP): $(HDR) @$(CC) $(CFLAGS_LIB) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@ -$(OBJ): $(HDR) src/sprs.pc +$(OBJ): $(HDR) $(CC) $(CFLAGS_LIB) -c $(@:.o=.c) -o $@ ################################################################################ # Installation ################################################################################ -pkg: src/sprs.pc - -src/sprs.pc: sprs.pc.in src/.config_prs - sed -e 's#@PREFIX@#$(PREFIX)#g'\ - -e 's#@VERSION@#$(VERSION)#g'\ - -e 's#@RSYS_VERSION@#$(RSYS_VERSION)#g'\ - -e 's#@YAML_VERSION@#$(YAML_VERSION)#g'\ - sprs.pc.in > $@ - src/.config_prs: config.mk $(PKG_CONFIG) --atleast-version $(RSYS_VERSION) rsys $(PKG_CONFIG) --exists yaml-0.1 @echo "config done" > $@ install: library pkg - install() { mode="$$1"; prefix="$$2"; shift 2; \ - mkdir -p "$${prefix}"; \ - cp "$$@" "$${prefix}"; \ - chmod "$${mode}" "$${prefix}/$${@##*/}"; \ - }; \ - if [ "$(LIB_TYPE)" = "SHARED" ]; then \ - install 755 "$(DESTDIR)$(LIBPREFIX)" $(LIBNAME); \ - install 644 "$(DESTDIR)$(LIBPREFIX)/pkgconfig" src/score.pc; \ - fi; \ uninstall: - if [ "$(LIB_TYPE)" = "SHARED" ]; then \ - rm -f "$(DESTDIR)$(LIBPREFIX)/$(LIBNAME)" \ - rm -f "$(DESTDIR)$(LIBPREFIX)/pkgconfig/score.pc" \ - fi; \ clean: clean_test rm -f $(DEP) $(OBJ) $(LIBNAME) - rm -f src/.config_prs src/libsprs.o src/sprs.pc + rm -f src/.config_prs src/libsprs.o lint: diff --git a/Makefile.rcv b/Makefile.rcv @@ -18,9 +18,7 @@ include config.mk -LIBNAME_STATIC = libsrcv.a -LIBNAME_SHARED = libsrcv.so -LIBNAME = $(LIBNAME_$(LIB_TYPE)) +LIBNAME = src/libsrcv.a default: library all: library tests @@ -39,20 +37,13 @@ HDR= CFLAGS_LIB = $(CFLAGS_SO) $(INCS) -DSRCVL_SHARED_BUILD LDFLAGS_LIB = $(LDFLAGS_SO) $(LIBS) -$(LIBNAME_SHARED) $(DEP) $(OBJ): src/.config_rcv +$(DEP) $(OBJ): src/.config_rcv library: $(DEP) @$(MAKE) -fMakefile.rcv $$(for i in $(DEP); do echo -f $${i}; done) \ - $$(if [ -n "$(LIBNAME)" ]; then \ - echo "$(LIBNAME)"; \ - else \ - echo "$(LIBNAME_SHARED)"; \ - fi) + $(LIBNAME) -$(LIBNAME_SHARED): $(OBJ) - $(CC) $(CFLAGS_LIB) -o $@ $(OBJ) $(LDFLAGS_LIB) - -$(LIBNAME_STATIC): src/libsrcv.o +$(LIBNAME): src/libsrcv.o $(AR) -rc $@ $? $(RANLIB) $@ @@ -60,49 +51,27 @@ src/libsrcv.o: src/.config_rcv $(OBJ) $(DEP) $(LD) -r $(OBJ) -o $@ $(OBJCOPY) $(OCPFLAGS) $@ -$(DEP): $(HDR) src/srcv.pc +$(DEP): $(HDR) @$(CC) $(CFLAGS_LIB) -MM -MT "$(@:.d=.o) $@" $(@:.d=.c) -MF $@ -$(OBJ): $(HDR) src/srcv.pc +$(OBJ): $(HDR) $(CC) $(CFLAGS_LIB) -c $(@:.o=.c) -o $@ ################################################################################ # Installation ################################################################################ -pkg: src/srcv.pc - -src/srcv.pc: srcv.pc.in src/.config_rcv - sed -e 's#@PREFIX@#$(PREFIX)#g'\ - -e 's#@VERSION@#$(VERSION)#g'\ - -e 's#@RSYS_VERSION@#$(RSYS_VERSION)#g'\ - -e 's#@YAML_VERSION@#$(YAML_VERSION)#g'\ - srcv.pc.in > $@ - src/.config_rcv: config.mk $(PKG_CONFIG) --atleast-version $(RSYS_VERSION) rsys $(PKG_CONFIG) --atleast-version $(YAML_VERSION) yaml-0.1 @echo "config done" > $@ -install: library pkg - install() { mode="$$1"; prefix="$$2"; shift 2; \ - mkdir -p "$${prefix}"; \ - cp "$$@" "$${prefix}"; \ - chmod "$${mode}" "$${prefix}/$${@##*/}"; \ - }; \ - if [ "$(LIB_TYPE)" = "SHARED]" ; then \ - install 755 "$(DESTDIR)$(LIBPREFIX)" $(LIBNAME); \ - install 644 "$(DESTDIR)$(LIBPREFIX)/pkgconfig" src/score.pc; \ - fi; \ +install: uninstall: - if [ "$(LIB_TYPE)" = "SHARED" ]; then \ - rm -f "$(DESTDIR)$(LIBPREFIX)/$(LIBNAME)" \ - rm -f "$(DESTDIR)$(LIBPREFIX)/pkgconfig/score.pc" \ - fi; \ clean: clean_test rm -f $(DEP) $(OBJ) $(LIBNAME) - rm -f src/.config_rcv src/libsrcv.o src/srcv.pc + rm -f src/.config_rcv src/libsrcv.o lint: