Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
git/shared.mak
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
110 lines (92 sloc)
3.26 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Remove GNU make implicit rules | |
## This speeds things up since we don't need to look for and stat() a | |
## "foo.c,v" every time a rule referring to "foo.c" is in play. See | |
## "make -p -f/dev/null | grep ^%::'". | |
%:: %,v | |
%:: RCS/%,v | |
%:: RCS/% | |
%:: s.% | |
%:: SCCS/s.% | |
## Likewise delete default $(SUFFIXES). See: | |
## | |
## info make --index-search=.SUFFIXES | |
.SUFFIXES: | |
### Flags affecting all rules | |
# A GNU make extension since gmake 3.72 (released in late 1994) to | |
# remove the target of rules if commands in those rules fail. The | |
# default is to only do that if make itself receives a signal. Affects | |
# all targets, see: | |
# | |
# info make --index-search=.DELETE_ON_ERROR | |
.DELETE_ON_ERROR: | |
### Global variables | |
## comma, empty, space: handy variables as these tokens are either | |
## special or can be hard to spot among other Makefile syntax. | |
comma := , | |
empty := | |
space := $(empty) $(empty) | |
### Quieting | |
## common | |
QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir | |
QUIET_SUBDIR1 = | |
ifneq ($(findstring w,$(firstword -$(MAKEFLAGS))),w) | |
PRINT_DIR = --no-print-directory | |
else # "make -w" | |
NO_SUBDIR = : | |
endif | |
ifneq ($(findstring s,$(firstword -$(MAKEFLAGS))),s) | |
ifndef V | |
## common | |
QUIET_SUBDIR0 = +@subdir= | |
QUIET_SUBDIR1 = ;$(NO_SUBDIR) echo ' ' SUBDIR $$subdir; \ | |
$(MAKE) $(PRINT_DIR) -C $$subdir | |
QUIET = @ | |
QUIET_GEN = @echo ' ' GEN $@; | |
QUIET_MKDIR_P_PARENT = @echo ' ' MKDIR -p $(@D); | |
## Used in "Makefile" | |
QUIET_CC = @echo ' ' CC $@; | |
QUIET_AR = @echo ' ' AR $@; | |
QUIET_LINK = @echo ' ' LINK $@; | |
QUIET_BUILT_IN = @echo ' ' BUILTIN $@; | |
QUIET_CP = @echo ' ' CP $< $@; | |
QUIET_LNCP = @echo ' ' LN/CP $@; | |
QUIET_XGETTEXT = @echo ' ' XGETTEXT $@; | |
QUIET_MSGINIT = @echo ' ' MSGINIT $@; | |
QUIET_MSGFMT = @echo ' ' MSGFMT $@; | |
QUIET_MSGMERGE = @echo ' ' MSGMERGE $@; | |
QUIET_GCOV = @echo ' ' GCOV $@; | |
QUIET_SP = @echo ' ' SP $<; | |
QUIET_HDR = @echo ' ' HDR $(<:hcc=h); | |
QUIET_RC = @echo ' ' RC $@; | |
## Used in "Makefile": SPATCH | |
QUIET_SPATCH = @echo ' ' SPATCH $< \>$@; | |
QUIET_SPATCH_TEST = @echo ' ' SPATCH TEST $(@:.build/%=%); | |
QUIET_SPATCH_CAT = @echo ' ' SPATCH CAT $(@:%.patch=%.d/)\*\*.patch \>$@; | |
## Used in "Documentation/Makefile" | |
QUIET_ASCIIDOC = @echo ' ' ASCIIDOC $@; | |
QUIET_XMLTO = @echo ' ' XMLTO $@; | |
QUIET_DB2TEXI = @echo ' ' DB2TEXI $@; | |
QUIET_MAKEINFO = @echo ' ' MAKEINFO $@; | |
QUIET_DBLATEX = @echo ' ' DBLATEX $@; | |
QUIET_XSLTPROC = @echo ' ' XSLTPROC $@; | |
QUIET_GEN = @echo ' ' GEN $@; | |
QUIET_STDERR = 2> /dev/null | |
QUIET_LINT_GITLINK = @echo ' ' LINT GITLINK $<; | |
QUIET_LINT_MANSEC = @echo ' ' LINT MAN SEC $<; | |
QUIET_LINT_MANEND = @echo ' ' LINT MAN END $<; | |
export V | |
endif | |
endif | |
### Templates | |
## mkdir_p_parent: lazily "mkdir -p" the path needed for a $@ | |
## file. Uses $(wildcard) to avoid the "mkdir -p" if it's not | |
## needed. | |
## | |
## Is racy, but in a good way; we might redundantly (and safely) | |
## "mkdir -p" when running in parallel, but won't need to exhaustively create | |
## individual rules for "a" -> "prefix" -> "dir" -> "file" if given a | |
## "a/prefix/dir/file". This can instead be inserted at the start of | |
## the "a/prefix/dir/file" rule. | |
define mkdir_p_parent_template | |
$(if $(wildcard $(@D)),,$(QUIET_MKDIR_P_PARENT)$(shell mkdir -p $(@D))) | |
endef |