`call' function in `make'
N. Raghavendra
raghu at mri.ernet.in
Wed May 26 05:28:25 PDT 2004
At 2004-05-26T12:41:57+01:00, Matthew Seaman wrote:
> On Wed, May 26, 2004 at 12:15:57PM +0530, N. Raghavendra wrote:
> > ### Makefile
> >
> > ## Create directory FOO if it does not exist.
> > create_dir = if test ! -d foo ; then rm -f foo ; mkdir foo ; fi
> >
> > dir1: src1
> > $(create_dir:S/foo/$@/g)
> >
> > dir2: src2
> > $(create_dir:foo=$@)
> >
> > ### Makefile ends here
>
> Is there something wrong with the first form of the rule that means
> you can't use it?
Hi Matthew,
Thanks for the help.
I would have liked to use the second substitution mechanism (foo=$@)
because it is part of the POSIX specification of `make'
(http://www.opengroup.org/onlinepubs/009695399/utilities/make.html),
whereas the first form (S/foo/$@/g) doesn't seem to be so.
> You have got a line:
>
> .PHONY: dir1 dir2
>
> to force those rules to be applied even if dir1 or dir2 are newer than
> their sources?
Yes, I had tried that too, but it doesn't make the second rule work.
The second rule does work with `gmake'.
Cheers,
Raghavendra.
--
N. Raghavendra <raghu at mri.ernet.in> | See mail headers for contact
Harish-Chandra Research Institute | and OpenPGP details.
More information about the freebsd-questions
mailing list