Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
7e7b69fe
Commit
7e7b69fe
authored
Apr 13, 2012
by
Pieter Noordhuis
Browse files
Persist `make` settings and trigger rebuild if anything changes
parent
34c943b3
Changes
1
Show whitespace changes
Inline
Side-by-side
src/Makefile
View file @
7e7b69fe
...
...
@@ -42,6 +42,9 @@ ifeq ($(USE_JEMALLOC),yes)
MALLOC
=
jemalloc
endif
# Override default settings if possible
-include
.make-settings
ifeq
($(uname_S),SunOS)
FINAL_CFLAGS
=
$(STD)
$(WARN)
$(OPT)
$(DEBUG)
$(CFLAGS)
$(REDIS_CFLAGS)
-D__EXTENSIONS__
-D_XPG6
FINAL_LDFLAGS
=
$(LDFLAGS)
$(REDIS_LDFLAGS)
...
...
@@ -118,30 +121,32 @@ dep:
.PHONY
:
dep
persist-settings
:
distclean
echo
STD
=
$(STD)
>>
.make-settings
echo
WARN
=
$(WARN)
>>
.make-settings
echo
OPT
=
$(OPT)
>>
.make-settings
echo
MALLOC
=
$(MALLOC)
>>
.make-settings
echo
CFLAGS
=
$(CFLAGS)
>>
.make-settings
echo
LDFLAGS
=
$(LDFLAGS)
>>
.make-settings
echo
REDIS_CFLAGS
=
$(REDIS_CFLAGS)
>>
.make-settings
echo
REDIS_LDFLAGS
=
$(REDIS_LDFLAGS)
>>
.make-settings
echo
PREV_FINAL_CFLAGS
=
$(FINAL_CFLAGS)
>>
.make-settings
echo
PREV_FINAL_LDFLAGS
=
$(FINAL_LDFLAGS)
>>
.make-settings
-
(
cd
../deps
&&
$(MAKE)
$(DEPENDENCY_TARGETS)
)
.PHONY
:
persist-settings
# Prerequisites target
.make-prerequisites
:
@
touch
$@
# Clean local objects and build dependencies when FINAL_CFLAGS is different
ifneq
($(shell sh -c '[ -f .make-cflags ] && cat .make-cflags || echo none'), $(FINAL_CFLAGS))
.make-cflags
:
clean
-
(
cd
../deps
&&
$(MAKE)
$(DEPENDENCY_TARGETS)
)
-
(
echo
"
$(FINAL_CFLAGS)
"
>
.make-cflags
)
.make-prerequisites
:
.make-cflags
endif
# Clean local objects when FINAL_LDFLAGS is different
ifneq
($(shell sh -c '[ -f .make-ldflags ] && cat .make-ldflags || echo none'), $(FINAL_LDFLAGS))
.make-ldflags
:
clean
-
(
echo
"
$(FINAL_LDFLAGS)
"
>
.make-ldflags
)
.make-prerequisites
:
.make-ldflags
# Clean everything, persist settings and build dependencies if anything changed
ifneq
($(strip $(PREV_FINAL_CFLAGS)), $(strip $(FINAL_CFLAGS)))
.make-prerequisites
:
persist-settings
endif
# Clean local objects when MALLOC is different
ifneq
($(shell sh -c '[ -f .make-malloc ] && cat .make-malloc || echo none'), $(MALLOC))
.make-malloc
:
clean
-
(
echo
"
$(MALLOC)
"
>
.make-malloc
)
.make-prerequisites
:
.make-malloc
ifneq
($(strip $(PREV_FINAL_LDFLAGS)), $(strip $(FINAL_LDFLAGS)))
.make-prerequisites
:
persist-settings
endif
# redis-server
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment