Re: suppress "target '*' given more than once in the same rule"
Renaud Pacalet <[email protected]> Wed, 26 Jun 2024 15:38:53 +0200
| Newsgroups | gmane.comp.gnu.make.general |
|---|---|
| Organization | Telecom ParisTech |
| Message-ID | <[email protected]> |
On 6/25/24 18:03, Belliveau, Fran - 0666 - MITLL wrote: > I have a setup where I use include directives to access makefile content used by multiple “make” situations throughout a large project. > > As I try to replace a bunch of (heavily simplified) things like: > > FOO_DIR?=fd > BAH_DIR?=bd > #### > $(FOO_DIR)/foo: $(F_HDRS) > mkdir -p $(FOO_DIR) > genF $@ > > $(BAH_DIR)/foo: $(B_HDRS) > mkdir -p $(BAH_DIR) > genB $@ > > with a something like > > #### > $(FOO_DIR) $(BAH_DIR): > mkdir -p $@ > > $(FOO_DIR)/foo: $(HDRS) | $(FOO_DIR) > gen $@ > > $(BAH_DIR)/bah: $(B_HDRS) | $(BAH_DIR) > genB $@ > > I run into “make complaints” when multiple directory variables actually point to the same directory. > This may just be a warning, but it looks like an error to those who do not know what is going on. > > I am wondering if there is a way to suppress this with a directive of some sort? > Is there a function call I might be able to make like $(unique $(FOO_DIR) $(BAH_DIR)): ? $(sort $(FOO_DIR) $(BAH_DIR)); it sorts (in your case you don't care) and removes duplicates. > > > Francis Belliveau > Consultant > Lincoln Laboratory, Massachusetts Institute of Technology > 244 Wood Street > Lexington, MA 02421-6426 > > > -- Renaud Pacalet Télécom Paris Campus SophiaTech 450 Route des Chappes, CS 50193 06904 Biot Sophia Antipolis cedex, FRANCE Tel : +33 (0) 4 9300 8402 Web : http://www.telecom-paris.fr/
OpenPGP_0xA55E9B3980CD0D02.asc
(application/pgp-keys, 4.4 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- xjMEZcoZWhYJKwYBBAHaRw8BAQdA21/OLDsoU1YDZNsczfN1xkcesR867+KUYJ5t /DXb4F3NMFJlbmF1ZCBQYWNhbGV0IDxyZW5hdWQucGFjYWxldEB0ZWxlY29tLXBh cmlzLmZyPsKcBBMWCABEAhsDBQkDwmcABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4H AheAFiEEFh6sW3UDvmOFxilnpV6bOYDNDQIFAmXKPEICGQEACgkQpV6bOYDNDQIo 7QD9ErQrtlVKzq/HsY1WuB5Rx7X4p1GUm9AtEw4lV++Ejh4BALwNAFw1HZD4vvOg bByEgstNpBJlitUhSRRSndmFOyYPwpwEExYIAEQCGwMFCQPCZwAFCwkIBwICIgIG FQoJCAsCBBYCAwECHgcCF4AWIQQWHqxbdQO+Y4XGKWelXps5gM0NAgUCZco5qAIZ AQAKCRClXps5gM0NAnjdAQDeesXoKXQsYa/oQwn3ZnqgsfQWqM7O05qhQClxRBzg ggD+PBKT+5Rvl+NPvrKog/CcxBip6UziEPfSO+qINsjjCAvCmQQTFggAQRYhBBYe rFt1A75jhcYpZ6VemzmAzQ0CBQJlyhlaAhsDBQkDwmcABQsJCAcCAiICBhUKCQgL AgQWAgMBAh4HAheAAAoJEKVemzmAzQ0COy4A/2lm+2vEHsfwZfK3s5Qq78Hg2GGl KLe/yDt4RME3f/r3AP0Rul8/j1AvCZYH2ZBzAScP8vn763VkYHskIEd6/eEQBs0p UmVuYXVkIFBhY2FsZXQgPHBhY2FsZXRAdGVsZWNvbS1wYXJpcy5mcj7CmQQTFggA QRYhBBYerFt1A75jhcYpZ6VemzmAzQ0CBQJlyhqVAhsDBQkDwmcABQsJCAcCAiIC BhUKCQgLAgQWAgMBAh4HAheAAAoJEKVemzmAzQ0Cr+kA/2P0pA6EAhtZhXENxarm VtUmcO9HpcsLEUSJDLlC+v64AP0bBEn4y2PLuZlcSwVw35H/wjEQYIcS5KK6ey3T pun8Cs00UmVuYXVkIFBhY2FsZXQgPHJlbmF1ZC5wYWNhbGV0QHRlbGVjb20tcGFy aXN0ZWNoLmZyPsKZBBMWCABBFiEEFh6sW3UDvmOFxilnpV6bOYDNDQIFAmXKGkEC GwMFCQPCZwAFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQpV6bOYDNDQI4 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 =5U4Z -----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc
(application/pgp-signature, 236 B)
-----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQQ66IwQlRa1klpZiJ7lVLOyXlT/AQUCZnwZ7QUDAAAAAAAKCRDlVLOyXlT/AR6+ AP41CDhd99JIhKDR2lLFZl5OriimBckqw4h9OvYVcAX+egEA3Kuj6+ZP9MzHwAVkl+vwb/ntCJvs 9q+DqOxoM306mgs= =I0MM -----END PGP SIGNATURE-----