Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Mar 1999 19:30:59 +0900
From:      Kazu TAKAMUNE <takamune@avrl.mei.co.jp>
To:        hackers@FreeBSD.ORG
Subject:   Special source '.MAKE'
Message-ID:  <19990303193059O.takamune@avrl.mei.co.jp>

next in thread | raw e-mail | index | archive | help
Hi,

Does make(1)'s special source (not local variable) '.MAKE' work validly ?

I have a try as follows:

    % cat Makefile
    doit: .MAKE
            ${MAKE}${MAKEFLAGS} sub
    sub:
            uname

    % make doit
    make sub
    uname
    FreeBSD

    % make -n doit
    make -n sub

I expect last result to be
    make -n sub
    uname

'Recursive make' will be widely applicable to our development.

Apparently it seems that these codes are ...

    % cd /usr/src/usr.bin/make

    % grep -n '\.MAKE[^F]' *.[ch]
    parse.c:215:{ ".MAKE",            Attribute,    OP_MAKE },
    str.c:60:    argv[0] = Var_Value(".MAKE", VAR_GLOBAL, &p1);
    str.c:135: *    the first word is always the value of the .MAKE variable.

    % grep -n 'OP_MAKE' *.[ch]
    job.c:530:    noSpecials = (noExecute && !(job->node->type & OP_MAKE));
    job.c:1719:    if ((gn->type & OP_MAKE) || (!noExecute && !touchFlag)) {
    make.h:188:#define OP_MAKE 0x00000200  /* Target is a recurrsive make so its
    parse.c:215:{ ".MAKE",       Attribute,    OP_MAKE },
    parse.c:231:{ ".RECURSIVE",  Attribute,    OP_MAKE },
---
With best regards.                      TAKAMUNE Kazutoki
                                        takamune@avrl.mei.co.jp


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990303193059O.takamune>