build/pymake/tests/automatic-variables.mk

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 $(shell \
     2 mkdir -p src/subd; \
     3 mkdir subd; \
     4 touch dummy; \
     5 sleep 2; \
     6 touch subd/test.out src/subd/test.in2; \
     7 sleep 2; \
     8 touch subd/test.out2 src/subd/test.in; \
     9 sleep 2; \
    10 touch subd/host_test.out subd/host_test.out2; \
    11 sleep 2; \
    12 touch host_prog; \
    13 )
    15 VPATH = src
    17 all: prog host_prog prog dir/
    18 	test "$@" = "all"
    19 	test "$<" = "prog"
    20 	test "$^" = "prog host_prog dir"
    21 	test "$?" = "prog host_prog dir"
    22 	test "$+" = "prog host_prog prog dir"
    23 	test "$(@D)" = "."
    24 	test "$(@F)" = "all"
    25 	test "$(<D)" = "."
    26 	test "$(<F)" = "prog"
    27 	test "$(^D)" = ". . ."
    28 	test "$(^F)" = "prog host_prog dir"
    29 	test "$(?D)" = ". . ."
    30 	test "$(?F)" = "prog host_prog dir"
    31 	test "$(+D)" = ". . . ."
    32 	test "$(+F)" = "prog host_prog prog dir"
    33 	@echo TEST-PASS
    35 dir/:
    36 	test "$@" = "dir"
    37 	test "$<" = ""
    38 	test "$^" = ""
    39 	test "$(@D)" = "."
    40 	test "$(@F)" = "dir"
    41 	mkdir $@
    43 prog: subd/test.out subd/test.out2
    44 	test "$@" = "prog"
    45 	test "$<" = "subd/test.out"
    46 	test "$^" = "subd/test.out subd/test.out2" # ^
    47 	test "$?" = "subd/test.out subd/test.out2" # ?
    48 	cat $<
    49 	test "$$(cat $<)" = "remade"
    50 	test "$$(cat $(word 2,$^))" = ""
    52 host_prog: subd/host_test.out subd/host_test.out2
    53 	@echo TEST-FAIL No need to remake
    55 %.out: %.in dummy
    56 	test "$@" = "subd/test.out"
    57 	test "$*" = "subd/test"              # *
    58 	test "$<" = "src/subd/test.in"       # <
    59 	test "$^" = "src/subd/test.in dummy" # ^
    60 	test "$?" = "src/subd/test.in"       # ?
    61 	test "$+" = "src/subd/test.in dummy" # +
    62 	test "$(@D)" = "subd"
    63 	test "$(@F)" = "test.out"
    64 	test "$(*D)" = "subd"
    65 	test "$(*F)" = "test"
    66 	test "$(<D)" = "src/subd"
    67 	test "$(<F)" = "test.in"
    68 	test "$(^D)" = "src/subd ."          # ^D
    69 	test "$(^F)" = "test.in dummy"
    70 	test "$(?D)" = "src/subd"
    71 	test "$(?F)" = "test.in"
    72 	test "$(+D)" = "src/subd ."          # +D
    73 	test "$(+F)" = "test.in dummy"
    74 	printf "remade" >$@
    76 %.out2: %.in2 dummy
    77 	@echo TEST_FAIL No need to remake
    79 .PHONY: all

mercurial