一 测试Makefile文件:
# Trick for always running with a fixed umask
UMASK = 0022
ifneq ($(shell umask),$(UMASK))
.PHONY: _all $(MAKECMDGOALS)
$(MAKECMDGOALS): _all
:
echo "$(MAKECMDGOALS)"
_all:
echo "_all"
echo "$(MAKE)"
echo "$(MAKECMDGOALS)"
umask $(UMASK) && $(MAKE) --no-print-directory $(MAKECMDGOALS)
else # umask
# This is our default rule, so must come first
all:
# Set and export the version string
export VERSION := 2015.08.1
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
# absolute path
DATE := $(shell date +%Y%m%d)
all: test
echo "all"
test:
echo "$(VERSION)"
endif
make 输出结果:
ueed0@ueed0:~/Documents$ umask 0002
ueed0@ueed0:~/Documents$ make
echo "_all"
_all
echo "make"
make
echo ""
umask 0022 && make --no-print-directory
echo "2015.08.1"
2015.08.1
echo "all"
all
ueed0@ueed0:~/Documents$ make test
echo "_all"
_all
echo "make"
make
echo "test"
test
umask 0022 && make --no-print-directory test
echo "2015.08.1"
2015.08.1
:
echo "test"
test
二 测试Makefile文件:
# Trick for always running with a fixed umask
UMASK = 0022
ifneq ($(shell umask),$(UMASK))
.PHONY: _all $(MAKECMDGOALS)
$(MAKECMDGOALS): _all
@:
@echo "$(MAKECMDGOALS)"
_all:
@echo "_all"
@echo "$(MAKE)"
@echo "$(MAKECMDGOALS)"
@umask $(UMASK) && $(MAKE) --no-print-directory $(MAKECMDGOALS)
else # umask
# This is our default rule, so must come first
all:
# Set and export the version string
export VERSION := 2015.08.1
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
# absolute path
DATE := $(shell date +%Y%m%d)
all: test
@echo "all"
test:
@echo "$(VERSION)"
endif
make 输出结果:
ueed0@ueed0:~/Documents$ umask 0002
ueed0@ueed0:~/Documents$ make
_all
make
2015.08.1
all
ueed0@ueed0:~/Documents$ make test
_all
make
test
2015.08.1
test
ueed0@ueed0:~/Documents$