Makefile1.mk Makefile2.mk
FOO := foo
all:
@echo $(FOO)
all:
make -f Makefile1.mk
GNU Make 4.1+dbg1.1
Built for x86_64-unknown-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
Copyright (C) 2015 Rocky Bernstein.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
-> (/home/galen_liu/remake_test/Makefile2.mk:1)
Will update target:all:
remake<0> l
/home/galen_liu/remake_test/Makefile2.mk:1
Target: all:
# recipe to execute (from 'Makefile2.mk', line 2):
make -f Makefile1.mk
remake<1> n
File `all' does not exist.
-- (/home/galen_liu/remake_test/Makefile2.mk:1)
Will update target:all:
remake<2> n
Must remake target `all'.
Makefile2.mk:2: target 'all' does not exist
##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
make -f Makefile1.mk
##<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
# make[1]: Entering directory '/home/galen_liu/remake_test'
touch all
# GNU Make 4.0
# Built for x86_64-pc-linux-gnu
# Copyright (C) 1988-2013 Free Software Foundation, Inc.
# License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
# This is free software: you are free to change and redistribute it.
# There is NO WARRANTY, to the extent permitted by law.
# Make data base, printed on Thu Jul 16 17:07:32 2015
# Variables
# automatic
<D = $(patsubst %/,%,$(dir $<))
# automatic
?F = $(notdir $?)
# environment
DESKTOP_SESSION = ubuntu
# default
.SHELLFLAGS := -c
# environment
XDG_SESSION_TYPE = x11
# environment
UPSTART_INSTANCE =
# default
CWEAVE = cweave
# automatic
?D = $(patsubst %/,%,$(dir $?))
# automatic
@D = $(patsubst %/,%,$(dir $@))
# environment
XAUTHORITY = /home/galen_liu/.Xauthority
# environment
GDMSESSION = ubuntu
# environment
XMODIFIERS = @im=fcitx
# makefile
CURDIR := /home/galen_liu/remake_test
# makefile
SHELL = /bin/sh
# default
RM = rm -f
# environment
GDM_LANG = en_US
# environment
VTE_VERSION = 3803
# environment
_ = /usr/local/bin/remake
# default
PREPROCESS.F = $(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -F
# default
LINK.m = $(OBJC) $(OBJCFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# environment
XDG_CONFIG_DIRS = /etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg
# default
OUTPUT_OPTION = -o $@
# default
COMPILE.cpp = $(COMPILE.cc)
# makefile (from 'Makefile1.mk', line 1)
MAKEFILE_LIST := Makefile1.mk
# automatic
@F = $(notdir $@)
# environment
IM_CONFIG_PHASE = 1
# 'override' directive
GNUMAKEFLAGS :=
# environment
SESSIONTYPE = gnome-session
# environment under -e
MAKELEVEL := 1
# environment
MANDATORY_PATH = /usr/share/gconf/ubuntu.mandatory.path
# environment
XDG_DATA_DIRS = /usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/
# environment
DBUS_SESSION_BUS_ADDRESS = unix:abstract=/tmp/dbus-Ip5ba3W6Zp
# default
CC = cc
# default
CHECKOUT,v = +$(if $(wildcard $@),,$(CO) $(COFLAGS) $< $@)
# environment
CLUTTER_IM_MODULE = xim
# environment
LC_NAME = zh_CN.UTF-8
# default
CPP = $(CC) -E
# environment
USE_CCACHE = 1
# environment
XDG_SESSION_PATH = /org/freedesktop/DisplayManager/Session0
# default
LEX = lex
# default
MAKE_HOST := x86_64-pc-linux-gnu
# environment
NO_PROXY = localhost,127.0.0.0/8,::1
# default
LD = ld
# default
TEXI2DVI = texi2dvi
# environment
GPG_AGENT_INFO = /run/user/1000/keyring/gpg:0:1
# default
YACC = yacc
# environment
UPSTART_JOB = unity7
# default
COMPILE.mod = $(M2C) $(M2FLAGS) $(MODFLAGS) $(TARGET_ARCH)
# environment
XDG_RUNTIME_DIR = /run/user/1000
# default
ARFLAGS = rv
# default
LINK.r = $(FC) $(FFLAGS) $(RFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# environment
WINDOWID = 25165835
# default
COMPILE.f = $(FC) $(FFLAGS) $(TARGET_ARCH) -c
# default
LINT.c = $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(TARGET_ARCH)
# default
YACC.m = $(YACC) $(YFLAGS)
# default
LINT = lint
# default
LINK.p = $(PC) $(PFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
YACC.y = $(YACC) $(YFLAGS)
# default
AR = ar
# environment
LC_NUMERIC = zh_CN.UTF-8
# default
.FEATURES := target-specific order-only second-expansion else-if shortest-stem undefine oneshell archives jobserver output-sync check-symlink load
# default
TANGLE = tangle
# environment
SESSION = ubuntu
# environment
XDG_GREETER_DATA_DIR = /var/lib/lightdm-data/galen_liu
# environment
LS_COLORS = rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=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:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
# environment
JOB = unity-settings-daemon
# environment
XDG_SESSION_DESKTOP = ubuntu
# environment
SSH_AUTH_SOCK = /run/user/1000/keyring/ssh
# default
GET = get
# automatic
%F = $(notdir $%)
# environment
DISPLAY = :0
# default
COMPILE.F = $(FC) $(FFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# environment
no_proxy = localhost,127.0.0.0/8,::1
# default
CTANGLE = ctangle
# environment
GTK_IM_MODULE = fcitx
# default
.LIBPATTERNS = lib%.so lib%.a
# default
LINK.C = $(LINK.cc)
# environment
PWD = /home/galen_liu/remake_test
# environment
QT_QPA_PLATFORMTHEME = appmenu-qt5
# default
LINK.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_MACH)
# environment
XDG_SEAT = seat0
# default
PREPROCESS.r = $(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -F
# default
LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# environment
GTK_MODULES = overlay-scrollbar:unity-gtk-module
# default
LINK.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
LINK.s = $(CC) $(ASFLAGS) $(LDFLAGS) $(TARGET_MACH)
# environment
HOME = /home/galen_liu
# environment
LD_LIBRARY_PATH = /usr/local/lib:
# environment
LOGNAME = galen_liu
# automatic
+F = $(notdir $+)
# default
CO = co
# default
MAKE_VERSION := 4.0
# environment
GNOME_DESKTOP_SESSION_ID = this-is-deprecated
# automatic
^D = $(patsubst %/,%,$(dir $^))
# environment
XDG_VTNR = 7
# environment
LC_TIME = zh_CN.UTF-8
# default
COMPILE.m = $(OBJC) $(OBJCFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# default
MAKE = $(MAKE_COMMAND)
# environment
QT_IM_MODULE = fcitx
# environment
SHLVL = 1
# default
AS = as
# default
PREPROCESS.S = $(CC) -E $(CPPFLAGS)
# environment
JAVA_HOME = /opt/jdk1.6.0_45
# environment
COMPIZ_CONFIG_PROFILE = ubuntu
# default
COMPILE.p = $(PC) $(PFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# environment
XDG_SESSION_ID = c1
# environment
USER = galen_liu
# default
FC = f77
# environment
LC_MONETARY = zh_CN.UTF-8
# makefile
.DEFAULT_GOAL := all
# environment
XDG_CURRENT_DESKTOP = Unity
# environment
LIBVIRT_DEFAULT_URI = qemu:///system
# environment
CLASSPATH = .:/opt/jdk1.6.0_45/jre/lib/rt.jar:/opt/jdk1.6.0_45/lib/dt.jar:/opt/jdk1.6.0_45/lib/tools.jar
# environment
UPSTART_EVENTS = xsession started
# automatic
%D = $(patsubst %/,%,$(dir $%))
# environment
GNOME_KEYRING_PID =
# environment
LC_TELEPHONE = zh_CN.UTF-8
# default
WEAVE = weave
# default
MAKE_COMMAND := make
# default
LINK.cpp = $(LINK.cc)
# default
F77 = $(FC)
# environment
OLDPWD = /home/galen_liu
# default
.VARIABLES :=
# default
PC = pc
# automatic
*F = $(notdir $*)
# environment
LANGUAGE = en_US
# environment
XDG_SEAT_PATH = /org/freedesktop/DisplayManager/Seat0
# default
COMPILE.def = $(M2C) $(M2FLAGS) $(DEFFLAGS) $(TARGET_ARCH)
# environment
GNOME_KEYRING_CONTROL =
# environment under -e
MAKEFLAGS = eiprtw
# environment under -e
MFLAGS = -eiprtw
# automatic
*D = $(patsubst %/,%,$(dir $*))
# default
LEX.l = $(LEX) $(LFLAGS) -t
# default
LEX.m = $(LEX) $(LFLAGS) -t
# automatic
+D = $(patsubst %/,%,$(dir $+))
# default
COMPILE.r = $(FC) $(FFLAGS) $(RFLAGS) $(TARGET_ARCH) -c
# environment
MAKE_TERMOUT = /dev/pts/28
# environment
LC_PAPER = zh_CN.UTF-8
# default
M2C = m2c
# environment
SVN_EDITOR = vi
# makefile (from 'Makefile1.mk', line 1)
FOO := foo
# environment
COMPIZ_BIN_PATH = /usr/bin/
# environment
DEFAULTS_PATH = /usr/share/gconf/ubuntu.default.path
# default
MAKEFILES :=
# environment
UPSTART_SESSION = unix:abstract=/com/ubuntu/upstart-session/1000/1572
# default
COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# automatic
<F = $(notdir $<)
# default
CXX = g++
# environment
LC_MEASUREMENT = zh_CN.UTF-8
# environment
INSTANCE =
# default
COFLAGS =
# environment
CCACHE_UMASK = 002
# default
COMPILE.C = $(COMPILE.cc)
# environment
QT4_IM_MODULE = fcitx
# automatic
^F = $(notdir $^)
# default
COMPILE.S = $(CC) $(ASFLAGS) $(CPPFLAGS) $(TARGET_MACH) -c
# environment
PATH = /opt/jdk1.6.0_45/bin:/usr/lib/jvm/java-6-openjdk-amd64/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
# default
LINK.F = $(FC) $(FFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
SUFFIXES :=
# default
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c
# default
COMPILE.s = $(AS) $(ASFLAGS) $(TARGET_MACH)
# default
.INCLUDE_DIRS = /usr/include /usr/local/include /usr/include
# environment
LC_IDENTIFICATION = zh_CN.UTF-8
# default
.RECIPEPREFIX :=
# default
MAKEINFO = makeinfo
# environment
MAKE_TERMERR = /dev/pts/28
# default
OBJC = cc
# environment
LC_ADDRESS = zh_CN.UTF-8
# default
LINK.f = $(FC) $(FFLAGS) $(LDFLAGS) $(TARGET_ARCH)
# default
TEX = tex
# environment
LANG = en_US.UTF-8
# environment
TERM = xterm
# default
F77FLAGS = $(FFLAGS)
# default
LINK.o = $(CC) $(LDFLAGS) $(TARGET_ARCH)
# variable set hash-table stats:
# Load=177/1024=17%, Rehash=0, Collisions=29/205=14%
# Pattern-specific Variable Values
# No pattern-specific variable values.
# Directories
# No files, no impossibilities in 0 directories.
# Implicit Rules
# No implicit rules.
# Files
all:
# Implicit rule search has not been done.
# Last modified 2514-05-30 09:53:03.107374182
# File has been updated.
# Successfully updated.
# recipe to execute (from 'Makefile1.mk', line 4):
@echo $(FOO)
# Not a target:
Makefile1.mk:
# Implicit rule search has been done.
# Last modified 2015-07-16 16:39:55.80266134
# 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.
# files hash-table stats:
# Load=4/1024=0%, Rehash=0, Collisions=0/15=0%
# VPATH Search Paths
# No 'vpath' search paths.
# No general ('VPATH' variable) search path.
# strcache buffers: 1 (0) / strings = 6 / storage = 68 B / avg = 11 B
# current buf: size = 8162 B / used = 68 B / count = 6 / avg = 11 B
# strcache performance: lookups = 9 / hit rate = 33%
# hash-table stats:
# Load=6/8192=0%, Rehash=0, Collisions=0/9=0%
# Finished Make data base on Thu Jul 16 17:07:32 2015
# make[1]: Leaving directory '/home/galen_liu/remake_test'
Successfully remade target file `all'.
all Makefile1.mk Makefile2.mk
Makefile1.mk Makefile2.mk
FOO := foo
all:
@echo $(FOO)
all:
make -f Makefile1.mk
GNU Make 3.82+dbg0.9
Built for x86_64-unknown-linux-gnu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
-> (/home/galen_liu/remake_test/Makefile2.mk:1)
Will update target:all:
remake<0> l
/home/galen_liu/remake_test/Makefile2.mk:1
Target: all:
# commands to execute (from `Makefile2.mk', line 2):
make -f Makefile1.mk
remake<1> n
/home/galen_liu/remake_test/Makefile2.mk:1 File `all' does not exist.
-- (/home/galen_liu/remake_test/Makefile2.mk:1)
Will update target:all:
remake<2> n
/home/galen_liu/remake_test/Makefile2.mk:1 Must remake target `all'.
Invoking recipe from Makefile2.mk:2 to update target `all'.
##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
make -f Makefile1.mk
##<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
make[1]: Entering directory `/home/galen_liu/remake_test'
foo
make[1]: Leaving directory `/home/galen_liu/remake_test'
/home/galen_liu/remake_test/Makefile2.mk:1 Successfully remade target file `all'.