Hi there,

I will try to map my issue to something that you are familiar with.
For example "MonetDB-11.23.3/sql/backends/monet5/vaults" module.

1) It has Makefile.ag which has (among other lines):
lib__vault = {
        MODULE
        DIR = libdir/monetdb5
        SOURCES = vault.c
        LIBS = ../../../../monetdb5/tools/libmonetdb5 \
               ../../../../gdk/libbat $(curl_LIBS)
}
And that means that "libmonetdb.la" has to be created before "vaults" is built.

2) Let's say I have added "../../../../sql/backends/monet5/lib_sql" dependency 
lib__vault = {
        MODULE
        DIR = libdir/monetdb5
        SOURCES = vault.c
        LIBS = ../../../../monetdb5/tools/libmonetdb5 \
                     ../../../../sql/backends/monet5/lib_sql \
               ../../../../gdk/libbat $(curl_LIBS)
}

As you can see "vaults" is leaving inside "MonetDB-11.23.3/sql/backends/monet5" directory. 

3) Now my question is: How can one propagate into MonetDB-11.23.3/sql/backends/monet5/Makefile.am that "lib_sql.la" has to be created before "vaults" is built?

p.s. On Windows, there is MonetDB-11.23.3/sql/backends/monet5/Makefile.msc used (instead Makefile.am). And I would just change order in "all-recursive all-msc" to "all-msc all-recursive":
# build-all: $(BUILT_SOURCES) all-recursive all-msc
build-all: $(BUILT_SOURCES) all-msc all-recursive

Thank you,
Anton