makefile

"multiple target patterns" Makefile error


My makefile fails with error:

Makefile:34: *** multiple target patterns.  Stop.

What does it really mean, how can I fix this?

(GNU make manual, written by Captain Obvious, isn't helping).


Found it. I had rule in form:

$(FOO): bar

where FOO was set from shell command that polluted it with error message that contained a colon.


Solution

  • I had it on the Makefile

    MAPS+=reverse/db.901:550:2001.ip6.arpa 
    lastserial:  ${MAPS}
        ./updateser ${MAPS}
    

    It's because of the : in the file name. I solved this with

                          -------- notice
                         /    /
                        v    v
    MAPS+=reverse/db.901\:550\:2001.ip6.arpa
    lastserial:  ${MAPS}
        ./updateser ${MAPS}