commit 2fddd7f4d8680de5030b500e6bf56f5b7adff090
parent 6010dfad54eed1074ded5c547fb6eae0b6b6c1b8
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Mon, 18 May 2026 17:15:26 +0200
Fix Makefile
Diffstat:
| M | Makefile | | | 80 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
| M | ssol.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