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:
| M | Makefile | | | 17 | +++++------------ |
| M | Makefile.core | | | 56 | ++++++++++---------------------------------------------- |
| M | Makefile.prs | | | 45 | +++++++-------------------------------------- |
| M | Makefile.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: