VirtualBox

Ignore:
Timestamp:
May 16, 2005 4:54:08 PM (19 years ago)
Author:
bird
Message:

Current make snaphot, 2005-05-16.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/gmake/tests/scripts/variables/flavors

    r53 r284  
    7272
    7373&run_make_with_options($makefile, "BOGUS=true", &get_logfile, 512);
    74 $answer = "$makefile:23: *** empty variable name.  Stop.\n";
     74$answer = "$makefile:24: *** empty variable name.  Stop.\n";
    7575&compare_output($answer, &get_logfile(1));
    7676
     
    8282&compare_output($answer, &get_logfile(1));
    8383
     84# Clean up from "old style" testing.  If all the above tests are converted to
     85# run_make_test() syntax than this line can be removed.
     86$makefile = undef;
     87
     88# -------------------------
     89# Make sure that prefix characters apply properly to define/endef values.
     90#
     91# There's a bit of oddness here if you try to use a variable to hold the
     92# prefix character for a define.  Even though something like this:
     93#
     94#       define foo
     95#       echo bar
     96#       endef
     97#
     98#       all: ; $(V)$(foo)
     99#
     100# (where V=@) can be seen by the user to be obviously different than this:
     101#
     102#       define foo
     103#       $(V)echo bar
     104#       endef
     105#
     106#       all: ; $(foo)
     107#
     108# and the user thinks it should behave the same as when the "@" is literal
     109# instead of in a variable, that can't happen because by the time make
     110# expands the variables for the command line and sees it begins with a "@" it
     111# can't know anymore whether the prefix character came before the variable
     112# reference or was included in the first line of the variable reference.
     113
     114# TEST #5
     115# -------
     116
     117run_make_test('
     118define FOO
     119$(V1)echo hello
     120$(V2)echo world
     121endef
     122all: ; @$(FOO)
     123', '', 'hello
     124world');
     125
     126# TEST #6
     127# -------
     128
     129run_make_test(undef, 'V1=@ V2=@', 'hello
     130world');
     131
     132# TEST #7
     133# -------
     134
     135run_make_test('
     136define FOO
     137$(V1)echo hello
     138$(V2)echo world
     139endef
     140all: ; $(FOO)
     141', 'V1=@', 'hello
     142echo world
     143world');
     144
     145# TEST #8
     146# -------
     147
     148run_make_test(undef, 'V2=@', 'echo hello
     149hello
     150world');
     151
     152# TEST #9
     153# -------
     154
     155run_make_test(undef, 'V1=@ V2=@', 'hello
     156world');
     157
     158# TEST #10
     159# -------
     160# Test the basics; a "@" internally to the variable applies to only one line.
     161# A "@" before the variable applies to the entire variable.
     162
     163run_make_test('
     164define FOO
     165@echo hello
     166echo world
     167endef
     168define BAR
     169echo hello
     170echo world
     171endef
     172
     173all: foo bar
     174foo: ; $(FOO)
     175bar: ; @$(BAR)
     176', '', 'hello
     177echo world
     178world
     179hello
     180world
     181');
    84182
    851831;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette