4 TEST
:= $(if
$(OUT_TOP
),$(OUT_TOP
),test/)test
7 COPY
= && cp
$(OUT_TOP
)/hphpi src
/hphpi
/hphpi
&& cp
$(OUT_TOP
)/hphp src
/hphp
/hphp
12 TOBUILD
:= $(filter clean% clobber% both debug release
, $(MAKECMDGOALS
))
13 CLEAN
:= $(filter clean% clobber%,$(MAKECMDGOALS
))
14 TOTEST
:= $(filter-out $(TOBUILD
), $(MAKECMDGOALS
))
16 ifeq ($(if
$(TOBUILD
),1)$(if
$(TOTEST
),1),11)
17 $(TOTEST
) : $(TOBUILD
)
20 ifneq ($(filter fast_tests slow_tests
$(FAST_TESTS
) $(SLOW_TESTS
) TestCodeRun
%,$(MAKECMDGOALS
)),)
21 # run all tests, even if some fail
28 FAST_TESTS
:= QuickTests TestExt TestCodeRunEval
29 SLOW_TESTS
:= TestCodeRun TestServer
37 .PHONY
: tags ctags etags
39 $(FAST_TESTS
) $(SLOW_TESTS
) TestCodeRunStatic
: % : setup
40 cd src
&& $(TEST
) $(if
$($@
),$($@
),$@
)
43 $(MAKE
) -C src
$(COPY
)
45 fast_tests
: $(FAST_TESTS
)
46 slow_tests
: $(SLOW_TESTS
)
48 .PHONY
: $(FAST_TESTS
) $(SLOW_TESTS
) TestCodeRun
%
50 TestCodeRun-
% TestCodeRunEval-
% TestCodeRunStatic-
% : setup
51 cd src
&& $(TEST
) $(patsubst %-$*,%,$@
) Test
$*
53 .PHONY
: debug release both check_by_type fast_tests slow_tests setup
54 check_by_type
: $(CLEAN
)
55 @if
[ -z
"$$OUTDIR_BY_TYPE" ] ; then \
56 echo
"You need to set OUTDIR_BY_TYPE to build both DEBUG and RELEASE into the same client"; \
60 release
: check_by_type
61 $(MAKE
) -Csrc RELEASE
=1 DEBUG
=
64 $(MAKE
) -Csrc RELEASE
= DEBUG
=1
69 $(MAKE
) -C src
clobber
70 $(MAKE
) -C facebook
clobber