bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make handling of prerequisites that interlock?


From: Ben Pfaff
Subject: Re: make handling of prerequisites that interlock?
Date: Tue, 05 Apr 2005 13:03:33 -0700
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

Ted Stern <address@hidden> writes:

> If you don't mind, try your example again.  Remove all those .SUFFIX
> statements and stubbed pattern rules.
>
> Then run using 'make -R -p -d' and either reply directly to me with
> the entire output or reply to the list without CC'ing me.  I subscribe
> to the list and don't want to see the mail twice.

No problem.  Here is the output without the extraneous statements
but using -R -p -d:

----------------------------------------------------------------------
# GNU Make 3.81beta2
# Copyright (C) 2003  Free Software Foundation, Inc.
# This is free software; see the source for copying conditions.
# There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

# This program built for i686-pc-linux-gnu
Reading makefiles...
Reading makefile `Makefile'...
Updating makefiles....
 Considering target file `Makefile'.
  Looking for an implicit rule for `Makefile'.
  No implicit rule found for `Makefile'.
  Finished prerequisites of target file `Makefile'.
 No need to remake target `Makefile'.
Updating goal targets....
Considering target file `a'.
  Considering target file `c'.
    Considering target file `x'.
     Looking for an implicit rule for `x'.
     No implicit rule found for `x'.
     Finished prerequisites of target file `x'.
    No need to remake target `x'.
   Finished prerequisites of target file `c'.
   Prerequisite `x' is newer than target `c'.
  Must remake target `c'.
cat x > c
Putting child 0x0806eb20 (c) PID 25644 on the chain.
Live child 0x0806eb20 (c) PID 25644 
Reaping winning child 0x0806eb20 PID 25644 
Removing child 0x0806eb20 PID 25644 from chain.
  Successfully remade target file `c'.
  Considering target file `b'.
    Pruning file `c'.
    Considering target file `d'.
     Looking for an implicit rule for `d'.
     No implicit rule found for `d'.
     Finished prerequisites of target file `d'.
    No need to remake target `d'.
   Finished prerequisites of target file `b'.
   Prerequisite `c' is older than target `b'.
   Prerequisite `d' is older than target `b'.
  No need to remake target `b'.
 Finished prerequisites of target file `a'.
 Prerequisite `c' is newer than target `a'.
 Prerequisite `b' is older than target `a'.
No need to remake target `a'.

# Make data base, printed on Tue Apr  5 12:58:25 2005

# Variables

# automatic
<D = $(patsubst %/,%,$(dir $<))
# automatic
?F = $(notdir $?)
# automatic
?D = $(patsubst %/,%,$(dir $?))
# automatic
@D = $(patsubst %/,%,$(dir $@))
# automatic
@F = $(notdir $@)
# default
CURDIR := /home/blp/cs140/mkf
# makefile
SHELL = /bin/sh
# environment
_ = /home/blp/tmp/make-3.81beta2/make
# makefile (from `Makefile', line 1)
MAKEFILE_LIST :=  Makefile
# environment
PATH = /home/blp/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
# environment
GNUSTEP_USER_ROOT = /home/blp/GNUstep
# environment
WINDOWID = 31457296
# environment
LS_COLORS = 
no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:
# environment
SSH_AUTH_SOCK = /tmp/ssh-AdzvaH7487/agent.7487
# automatic
%F = $(notdir $%)
# environment
DISPLAY = :0.0
# environment
PWD = /home/blp/cs140/mkf
# environment
SSH_AGENT_PID = 7488
# environment
HOME = /home/blp
# environment
LOGNAME = blp
# automatic
^D = $(patsubst %/,%,$(dir $^))
# environment
WRASTER_COLOR_RESOLUTION0 = 3
# default
MAKE = $(MAKE_COMMAND)
# environment
SHLVL = 1
# environment
JAVA_HOME = /usr/local/j2sdk1.4.1_01
# default
MAKE_VERSION := 3.81beta2
# environment
USER = blp
# automatic
%D = $(patsubst %/,%,$(dir $%))
# default
MAKE_COMMAND := /home/blp/tmp/make-3.81beta2/make
# environment
OLDPWD = /root/linux-2.6.9/include/linux
# default
.VARIABLES := 
# environment
CVS_RSH = cssh
# automatic
*F = $(notdir $*)
# makefile
MAKEFLAGS = Rrpd
# environment
MFLAGS = -Rrpd
# automatic
*D = $(patsubst %/,%,$(dir $*))
# automatic
+D = $(patsubst %/,%,$(dir $+))
# automatic
+F = $(notdir $+)
# environment
WMAKER_BIN_NAME = /usr/lib/WindowMaker/WindowMaker
# default
MAKEFILES := 
# automatic
<F = $(notdir $<)
# automatic
^F = $(notdir $^)
# default
SUFFIXES := 
# environment
MAKELEVEL := 0
# environment
LANG = C
# environment
TERM = xterm
# variable set hash-table stats:
# Load=46/1024=4%, Rehash=0, Collisions=1/63=2%

# Pattern-specific Variable Values

# No pattern-specific variable values.

# Directories

# . (device 769, inode 4387474): 23 files, no impossibilities.

# 23 files, no impossibilities in 1 directories.

# Implicit Rules

# No implicit rules.

# Files

a: c b
#  Implicit rule search has not been done.
#  Last modified 2005-04-05 12:58:25
#  File has been updated.
#  Successfully updated.
# variable set hash-table stats:
# Load=0/32=0%, Rehash=0, Collisions=0/2=0%
#  commands to execute (from `Makefile', line 2):
        cat $^ > $@
        

b: c d
#  Implicit rule search has not been done.
#  Last modified 2005-04-05 12:58:25
#  File has been updated.
#  Successfully updated.
#  commands to execute (from `Makefile', line 5):
        cat $^ > $@
        

c: x
#  Implicit rule search has not been done.
#  Implicit/static pattern stem: `'
#  Last modified 2005-04-05 12:58:25
#  File has been updated.
#  Successfully updated.
# automatic
# @ := c
# automatic
# % := 
# automatic
# * := 
# automatic
# + := x
# automatic
# | := 
# automatic
# < := x
# automatic
# ^ := x
# automatic
# ? := x
# variable set hash-table stats:
# Load=8/32=25%, Rehash=0, Collisions=1/12=8%
#  commands to execute (from `Makefile', line 8):
        cat $^ > $@
        

# Not a target:
d:
#  Implicit rule search has been done.
#  Last modified 2005-04-04 12:07:53
#  File has been updated.
#  Successfully updated.

# Not a target:
x:
#  Implicit rule search has been done.
#  Last modified 2005-04-05 12:58:25
#  File has been updated.
#  Successfully updated.

# Not a target:
.SUFFIXES:
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

# Not a target:
Makefile:
#  Implicit rule search has been done.
#  Last modified 2005-04-05 12:57:47
#  File has been updated.
#  Successfully updated.

# Not a target:
.DEFAULT:
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.

clean:
#  Implicit rule search has not been done.
#  Modification time never checked.
#  File has not been updated.
#  commands to execute (from `Makefile', line 11):
        rm -f a b c
        

# files hash-table stats:
# Load=9/1024=1%, Rehash=0, Collisions=0/26=0%
# VPATH Search Paths

# No `vpath' search paths.

# No general (`VPATH' variable) search path.

# Finished Make data base on Tue Apr  5 12:58:25 2005
----------------------------------------------------------------------

Thank you for your assistance.
-- 
Ben Pfaff 
email: address@hidden
web: http://benpfaff.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]