I am using Makefile to manage database updates.

I organize the source files like this

    /etc/postfix
        generic
        access
        aliases
        canonical
        common_parameters
        relocated
        transport
        virtual
        ./my/
            external_maps
            internal_maps
 
In 'Makefile', from examples, then its

    MAPS = ./generic.lmdb \
    ./access.lmdb \
    ./aliases.lmdb \
    ./canonical.lmdb \
    ./common_parameters.lmdb \
    ./relocated.lmdb \
    ./transport.lmdb \
    ./virtual.lmdb \
    ./my/external_maps.lmdb \
    ./my/internal_maps.lmdb
 
    all : $(MAPS)
    %.lmdb: %
      postmap lmdb:$<

When I execute `make`, for each source file, the .lmdb file is created in the 
same dir as its source.

When I run postfix it seems to find and use all the lmdb in the locations

    /etc/postfix/
        source1
        source1.lmdb
        ./my/
            source2
            source2.lmdb

I want to re-organize so the .lmdb are placed in a subdir below the source 
files.

So I want to

    /etc/postfix/
        source1
        subdir/
            source1.lmdb
        ./my/
            source2
            subdir/
                source2.lmdb

I think I have to change BOTH

    MAPS={...}

and

    %.lmdb: %
        postmap lmdb:$<

What is the correct syntax change for both of those to detect & process the 
source files in one directory and send the results to another subdirectory, 
and to also pass any of the postfix configuration checking ?

Reply via email to