What does @ mean in this context?

What does @ mean in this context?

Post by joeslid » Thu, 05 Jan 2006 00:05:49



This is from a Makefile:
-------------------------------------------------------------------------
all::

          case "$$flag" in *=*) ;; *[ik]*) set +e;; esac; done; \
        for i in $(SUBDIRS) ;\
        do \
                if test -d $$i; then \
                echo "making" all "in $(CURRENT_DIR)/$$i..."; \
                (cd $$i &&  $(MAKE) $(MFLAGS) CDEBUGFLAGS="$(CDEBUGFLAGS)" all); \
                fi; \
        done
-------------------------------------------------------------------------

The shell is set to Bourne (sh)


What does "$$flag" mean?

Thanks for any help,
Joseph

 
 
 

What does @ mean in this context?

Post by Chris F.A. Johnso » Thu, 05 Jan 2006 00:29:37



> This is from a Makefile:
> -------------------------------------------------------------------------
> all::

>      case "$$flag" in *=*) ;; *[ik]*) set +e;; esac; done; \
>    for i in $(SUBDIRS) ;\
>    do \
>            if test -d $$i; then \
>            echo "making" all "in $(CURRENT_DIR)/$$i..."; \
>            (cd $$i &&  $(MAKE) $(MFLAGS) CDEBUGFLAGS="$(CDEBUGFLAGS)" all); \
>            fi; \
>    done
> -------------------------------------------------------------------------

> The shell is set to Bourne (sh)


> What does "$$flag" mean?

    Makefiles are not shell scripts.

    Read the documentation for your version of make.


    there is.

--
   Chris F.A. Johnson, author   |    <http://cfaj.freeshell.org>
   Shell Scripting Recipes:     |  My code in this post, if any,
   A Problem-Solution Approach  |          is released under the
   2005, Apress                 |     GNU General Public Licence

 
 
 

What does @ mean in this context?

Post by Ed Morto » Thu, 05 Jan 2006 00:33:21



> This is from a Makefile:
> -------------------------------------------------------------------------
> all::

>      case "$$flag" in *=*) ;; *[ik]*) set +e;; esac; done; \
>    for i in $(SUBDIRS) ;\
>    do \
>            if test -d $$i; then \
>            echo "making" all "in $(CURRENT_DIR)/$$i..."; \
>            (cd $$i &&  $(MAKE) $(MFLAGS) CDEBUGFLAGS="$(CDEBUGFLAGS)" all); \
>            fi; \
>    done
> -------------------------------------------------------------------------

> The shell is set to Bourne (sh)


Se "Command Echoing" in the make documentation
(http://www.gnu.org/software/make/manual/html_mono/make.html#SEC53).

I have no idea what you mean by the above.

Quote:> What does "$$flag" mean?

See "Basics of Variable References" in the make documentation
(http://www.gnu.org/software/make/manual/html_mono/make.html#SEC66).

Regards,

        Ed.

- Show quoted text -

Quote:> Thanks for any help,
> Joseph

 
 
 

What does @ mean in this context?

Post by Bruce Barnet » Thu, 05 Jan 2006 00:54:21



> This is from a Makefile:
> -------------------------------------------------------------------------
> all::


[snip]


characters in the makefile.
I'm not sure where this is documented in the textinfo database.

From the Solaris manual page on make(1)

               not  print  the  command line before executing it.
               This character is not passed to the shell.

    -         make ignores any nonzero error code returned by  a
               command line for which the first non-TAB character
               is a `-'. This character  is  not  passed  to  the
               shell  as part of the command line. make  normally
               terminates when a command returns nonzero  status,
               unless  the  -i  or  -k  options,  or the .IGNORE:
               special-function target is in effect.


ignore any errors, and continue.

Quote:> What does "$$flag" mean?

$ indicates a Make variable. So if you have a shell script in a
makefile and use $X, make changes $X to the value it knows. WHat if
you want the shell to see"$X"?

From the Solaris page:

     $$        A reference to the dollar-sign macro, the value of
               which  is the character `$'. Used to pass variable
               expressions beginning with  $  to  the  shell,  to
               refer  to environment variables which are expanded
               by the shell, or to delay  processing  of  dynamic
               macros  within  the  dependency  list of a target,
               until that target is actually processed.

so if you want the shell to see $X, you have to use $$X in the Makefile.

--
Sending unsolicited commercial e-mail to this account incurs a fee of
$500 per message, and acknowledges the legality of this contract.

 
 
 

1. Large number of context switching, what does it mean ?

Greetings,

        We were running a series of program reports, and noticed a large
number of process switching with sar (pswch/s), on the order of 350/s.
This seems rather large, but the reports were doing very heavy I/O.

        How should we interpret this ? What else should we look at ?
        The version of the O/S is 3.2
        I didn't want to include the entire sar output...

P.S  Is there any commercial or pd source (not in the code sense ) for
tuning methodologies for RS/6000s.  I have the Nutshell System Tuning book,
but some things about AIX are just so, non-standard. Thanks.

                                        Regards,
                                        Peter
--
Peter Lauterbach                        Progress Software Corporation

2. testing techniques to confirm the effectiveness of changes made to sch_gred.c

3. ICT what does it really mean; GMT can it be done?

4. freeBSD and P6/180

5. What the (Insert Explicitive) does this mean (doing a make && make install)

6. Linux Kernel/Security Archive

7. What are the most popular means of doing web development?

8. finding root partition?

9. The meaning of DOS

10. HELP: Connectivity between DOS/DOS and DOS/Linux

11. In search of Solaris 2.5 Netscape Navigator 3.0 plug ins

12. Need HELP to Log User Log-ins form the internet

13. Suse 7.0; Yast2, kinternet, rc.dialout und ich komme nicht ins Internet